コミットを比較
3 コミット
| 作成者 | SHA1 | 日付 | |
|---|---|---|---|
| 3be6d9063c | |||
| 4e5bd13ab4 | |||
| 3fd16bd1c2 |
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|||||||
import os
|
import os
|
||||||
from typing import TypedDict
|
from typing import TypedDict
|
||||||
|
|
||||||
from eloquent import DatabaseManager, Model
|
from eloquent import DatabaseManager, Model # type: ignore
|
||||||
|
|
||||||
CONFIG: dict[str, DbConfig] = { 'mysql': { 'driver': 'mysql',
|
CONFIG: dict[str, DbConfig] = { 'mysql': { 'driver': 'mysql',
|
||||||
'host': 'localhost',
|
'host': 'localhost',
|
||||||
|
|||||||
@@ -1,13 +1,6 @@
|
|||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
class AnswerType (Enum):
|
|
||||||
YOUTUBE_REPLY = 1
|
|
||||||
BLUESKY_REPLY = 2
|
|
||||||
YOUTUBE_SYSTEM = 3
|
|
||||||
BLUESKY_SYSTEM = 4
|
|
||||||
|
|
||||||
|
|
||||||
class Character (Enum):
|
class Character (Enum):
|
||||||
DEERJIKA = 1
|
DEERJIKA = 1
|
||||||
GOATOH = 2
|
GOATOH = 2
|
||||||
@@ -27,4 +20,8 @@ class QueryType (Enum):
|
|||||||
YOUTUBE_COMMENT = 1
|
YOUTUBE_COMMENT = 1
|
||||||
BLUESKY_COMMENT = 2
|
BLUESKY_COMMENT = 2
|
||||||
YOUTUBE_SYSTEM = 3
|
YOUTUBE_SYSTEM = 3
|
||||||
BLUESKY_SYSTEM = 3
|
BLUESKY_SYSTEM = 4
|
||||||
|
KIRIBAN = 5
|
||||||
|
NICO_REPORT = 6
|
||||||
|
SNACK_TIME = 7
|
||||||
|
HOT_SPRING = 8
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from eloquent import Model
|
from eloquent import Model, QueryBuilder # type: ignore
|
||||||
|
|
||||||
from .config import DB
|
from .config import DB
|
||||||
|
|
||||||
@@ -27,17 +27,22 @@ class Answer (Model):
|
|||||||
query_id: int
|
query_id: int
|
||||||
character: int
|
character: int
|
||||||
content: str
|
content: str
|
||||||
answer_type: int
|
|
||||||
sent_at: datetime
|
sent_at: datetime
|
||||||
|
|
||||||
__timestamps__ = False
|
__timestamps__ = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def query (
|
def query_rel (
|
||||||
self,
|
self,
|
||||||
) -> Query:
|
) -> Query:
|
||||||
return self.belongs_to (Query)
|
return self.belongs_to (Query)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def answered_flags (
|
||||||
|
self,
|
||||||
|
) -> list[AnsweredFlag]:
|
||||||
|
return self.has_many (AnsweredFlag)
|
||||||
|
|
||||||
def answered (
|
def answered (
|
||||||
self,
|
self,
|
||||||
platform: int,
|
platform: int,
|
||||||
@@ -60,7 +65,9 @@ class Query (Model):
|
|||||||
model: int
|
model: int
|
||||||
sent_at: datetime
|
sent_at: datetime
|
||||||
answered: bool
|
answered: bool
|
||||||
|
transfer_data: dict[str, str] | None
|
||||||
|
|
||||||
|
__casts__ = { 'transfer_data': 'json' }
|
||||||
__timestamps__ = False
|
__timestamps__ = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@@ -73,7 +80,7 @@ class Query (Model):
|
|||||||
def answer_histories (
|
def answer_histories (
|
||||||
self,
|
self,
|
||||||
) -> list[Answer]:
|
) -> list[Answer]:
|
||||||
return [x.answer for x in self.has_many (QueryAnswerHistory).get ()]
|
return [x.answer for x in self.has_many (QueryAnswerHistory)]
|
||||||
|
|
||||||
|
|
||||||
class QueryAnswerHistory (Model):
|
class QueryAnswerHistory (Model):
|
||||||
@@ -84,7 +91,7 @@ class QueryAnswerHistory (Model):
|
|||||||
__timestamps__ = False
|
__timestamps__ = False
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def query (
|
def query_rel (
|
||||||
self,
|
self,
|
||||||
) -> Query:
|
) -> Query:
|
||||||
return self.belongs_to (Query)
|
return self.belongs_to (Query)
|
||||||
|
|||||||
新しい課題から参照
ユーザをブロックする