"""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"