"""User action models.""" from datetime import datetime from umongo import Document, fields from jarvis_core.db import JARVIS_INST @JARVIS_INST.register class Ban(Document): active = fields.BooleanField(default=True) admin = fields.IntegerField(required=True) user = fields.IntegerField(required=True) username = fields.StringField(required=True) discrim = fields.IntegerField(required=True) duration = fields.IntegerField(required=False) guild = fields.IntegerField(required=True) type = fields.StringField(default="perm") reason = fields.StringField(required=True) created_at = fields.DateTimeField(default=datetime.utcnow) @JARVIS_INST.register class Kick(Document): """Kick database object.""" admin = fields.IntegerField(required=True) guild = fields.IntegerField(required=True) reason = fields.StringField(required=True) user = fields.IntegerField(required=True) created_at = fields.DateTimeField(default=datetime.utcnow) @JARVIS_INST.register class Mute(Document): """Mute database object.""" active = fields.BooleanField(default=True) user = fields.IntegerField(required=True) admin = fields.IntegerField(required=True) duration = fields.IntegerField(default=10) guild = fields.IntegerField(required=True) reason = fields.StringField(required=True) created_at = fields.DateTimeField(default=datetime.utcnow) @JARVIS_INST.register class Unban(Document): """Unban database object.""" user = fields.IntegerField(required=True) username = fields.StringField(required=True) discrim = fields.IntegerField(required=True) guild = fields.IntegerField(required=True) admin = fields.IntegerField(required=True) reason = fields.StringField(required=True) created_at = fields.DateTimeField(default=datetime.utcnow) @JARVIS_INST.register class Warning(Document): """Warning database object.""" active = fields.BooleanField(default=True) admin = fields.IntegerField(required=True) user = fields.IntegerField(required=True) guild = fields.IntegerField(required=True) duration = fields.IntegerField(default=24) reason = fields.StringField(required=True) created_at = fields.DateTimeField(default=datetime.utcnow)