jarvis-core/jarvis_core/db/models/twitter.py
2023-03-23 21:56:54 -06:00

40 lines
819 B
Python

"""Twitter database models."""
from datetime import datetime, timezone
from functools import partial
from beanie import Document, Field
def get_now() -> datetime:
"""Get proper timestamp."""
return datetime.now(tz=timezone.utc)
NowField = partial(Field, default_factory=get_now)
class TwitterAccount(Document):
"""Twitter Account object."""
handle: str
twitter_id: int
last_tweet: int
last_sync: datetime = NowField()
class Setting:
name = "twitteraccount"
class TwitterFollow(Document):
"""Twitter Follow object."""
active: bool = True
twitter_id: int
channel: int
guild: int
retweets: bool = True
admin: int
created_at: datetime = NowField()
class Setting:
name = "twitterfollow"