"""Mastodon databaes models.""" from datetime import datetime, timezone from umongo import Document, fields from jarvis_core.db import JARVIS_INST from jarvis_core.db.utils import get_now @JARVIS_INST.register class User(Document): """User object.""" user_id: int = fields.IntegerField(required=True) acct: str = fields.StringField(required=True) username: str = fields.StringField(required=True) last_sync: datetime = fields.AwareDateTimeField(default=get_now) class Meta: collection_name = "mastodonuser" @JARVIS_INST.register class UserFollow(Document): """User Follow object.""" active: bool = fields.BooleanField(default=True) user_id: int = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True) reblogged: bool = fields.BooleanField(default=True) admin: int = fields.IntegerField(required=True) created_at: datetime = fields.AwareDateTimeField(default=get_now) class Meta: collection_name = "mastodonuserfollow"