jarvis-core/jarvis_core/db/models/actions.py

66 lines
1.2 KiB
Python

"""User action models."""
from datetime import datetime
from typing import Optional
from beanie import Document
from jarvis_core.db.utils import NowField
class Ban(Document):
active: bool = True
admin: int
user: int
username: str
discrim: Optional[int]
duration: Optional[int]
guild: int
type: str = "perm"
reason: str
created_at: datetime = NowField()
class Kick(Document):
"""Kick database object."""
admin: int
guild: int
reason: str
user: int
created_at: datetime = NowField()
class Mute(Document):
"""Mute database object."""
active: bool = True
user: int
admin: int
duration: int = 10
guild: int
reason: str
created_at: datetime = NowField()
class Unban(Document):
"""Unban database object."""
user: int
username: str
discrim: Optional[str]
guild: int
reason: str
created_at: datetime = NowField()
class Warning(Document):
"""Warning database object."""
active: bool = True
admin: int
user: int
guild: int
duration: int = 24
reason: str
expires_at: datetime
created_at: datetime = NowField()