The great typehint-ening

This commit is contained in:
Zeva Rose 2022-03-18 18:12:08 -06:00
parent c2a728e82a
commit 73a055363f
3 changed files with 109 additions and 108 deletions

View file

@ -1,5 +1,6 @@
"""JARVIS database models.""" """JARVIS database models."""
from datetime import datetime from datetime import datetime
from typing import Any, List
import marshmallow as ma import marshmallow as ma
from umongo import Document, EmbeddedDocument, fields from umongo import Document, EmbeddedDocument, fields
@ -16,134 +17,134 @@ class RawField(fields.BaseField, ma.fields.Raw):
@JARVIS_INST.register @JARVIS_INST.register
class Autopurge(Document): class Autopurge(Document):
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
delay = fields.IntegerField(default=30) delay: int = fields.IntegerField(default=30)
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
created_at = fields.DateTimeField(default=datetime.now) created_at: datetime = fields.DateTimeField(default=datetime.now)
@JARVIS_INST.register @JARVIS_INST.register
class Autoreact(Document): class Autoreact(Document):
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
reactions = fields.ListField(fields.StringField()) reactions: List[str] = fields.ListField(fields.StringField())
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
created_at = fields.DateTimeField(default=datetime.now) created_at: datetime = fields.DateTimeField(default=datetime.now)
@JARVIS_INST.register @JARVIS_INST.register
class Config(Document): class Config(Document):
"""Config database object.""" """Config database object."""
key = fields.StringField(required=True) key: str = fields.StringField(required=True)
value = RawField(required=True) value: Any = RawField(required=True)
@JARVIS_INST.register @JARVIS_INST.register
class Guess(Document): class Guess(Document):
"""Guess database object.""" """Guess database object."""
correct = fields.BooleanField(default=False) correct: bool = fields.BooleanField(default=False)
guess = fields.StringField(required=True) guess: str = fields.StringField(required=True)
user = fields.IntegerField(required=True) user: int = fields.IntegerField(required=True)
@JARVIS_INST.register @JARVIS_INST.register
class Lock(Document): class Lock(Document):
"""Lock database object.""" """Lock database object."""
active = fields.BooleanField(default=True) active: bool = fields.BooleanField(default=True)
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
duration = fields.IntegerField(default=10) duration: int = fields.IntegerField(default=10)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
reason = fields.StringField(required=True) reason: str = fields.StringField(required=True)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
@JARVIS_INST.register @JARVIS_INST.register
class Purge(Document): class Purge(Document):
"""Purge database object.""" """Purge database object."""
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
count = fields.IntegerField(default=10) count: int = fields.IntegerField(default=10)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
@JARVIS_INST.register @JARVIS_INST.register
class Reminder(Document): class Reminder(Document):
"""Reminder database object.""" """Reminder database object."""
active = fields.BooleanField(default=True) active: bool = fields.BooleanField(default=True)
user = fields.IntegerField(required=True) user: int = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
message = fields.StringField(required=True) message: str = fields.StringField(required=True)
remind_at = fields.DateTimeField(required=True) remind_at: datetime = fields.DateTimeField(required=True)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
private = fields.BooleanField(default=False) private: bool = fields.BooleanField(default=False)
@JARVIS_INST.register @JARVIS_INST.register
class Rolegiver(Document): class Rolegiver(Document):
"""Rolegiver database object.""" """Rolegiver database object."""
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
roles = fields.ListField(fields.IntegerField()) roles: List[int] = fields.ListField(fields.IntegerField())
@JARVIS_INST.register @JARVIS_INST.register
class Bypass(EmbeddedDocument): class Bypass(EmbeddedDocument):
"""Roleping bypass embedded object.""" """Roleping bypass embedded object."""
users = fields.ListField(fields.IntegerField()) users: List[int] = fields.ListField(fields.IntegerField())
roles = fields.ListField(fields.IntegerField()) roles: List[int] = fields.ListField(fields.IntegerField())
@JARVIS_INST.register @JARVIS_INST.register
class Roleping(Document): class Roleping(Document):
"""Roleping database object.""" """Roleping database object."""
active = fields.BooleanField(default=True) active: bool = fields.BooleanField(default=True)
role = fields.IntegerField(required=True) role: int = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
bypass = fields.EmbeddedField(Bypass) bypass: Bypass = fields.EmbeddedField(Bypass)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
@JARVIS_INST.register @JARVIS_INST.register
class Setting(Document): class Setting(Document):
"""Setting database object.""" """Setting database object."""
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
setting = fields.StringField(required=True) message: str = fields.StringField(required=True)
value = RawField() value: Any = RawField()
@JARVIS_INST.register @JARVIS_INST.register
class Star(Document): class Star(Document):
"""Star database object.""" """Star database object."""
active = fields.BooleanField(default=True) active: bool = fields.BooleanField(default=True)
index = fields.IntegerField(required=True) index: int = fields.IntegerField(required=True)
message = fields.IntegerField(required=True) message: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
starboard = fields.IntegerField(required=True) starboard: int = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
star = fields.IntegerField(required=True) star: int = fields.IntegerField(required=True)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
@JARVIS_INST.register @JARVIS_INST.register
class Starboard(Document): class Starboard(Document):
"""Starboard database object.""" """Starboard database object."""
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)

View file

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

View file

@ -10,10 +10,10 @@ from jarvis_core.db import JARVIS_INST
class TwitterAccount(Document): class TwitterAccount(Document):
"""Twitter Account object.""" """Twitter Account object."""
handle = fields.StringField(required=True) handle: str = fields.StringField(required=True)
twitter_id = fields.IntegerField(required=True) twitter_id: int = fields.IntegerField(required=True)
last_tweet = fields.IntegerField(required=True) last_tweet: int = fields.IntegerField(required=True)
last_sync = fields.DateTimeField(default=datetime.utcnow) last_sync: datetime = fields.DateTimeField(default=datetime.utcnow)
class Meta: class Meta:
collection_name = "twitteraccount" collection_name = "twitteraccount"
@ -23,13 +23,13 @@ class TwitterAccount(Document):
class TwitterFollow(Document): class TwitterFollow(Document):
"""Twitter Follow object.""" """Twitter Follow object."""
active = fields.BooleanField(default=True) active: bool = fields.BooleanField(default=True)
twitter_id = fields.IntegerField(required=True) twitter_id: int = fields.IntegerField(required=True)
channel = fields.IntegerField(required=True) channel: int = fields.IntegerField(required=True)
guild = fields.IntegerField(required=True) guild: int = fields.IntegerField(required=True)
retweets = fields.BooleanField(default=True) retweets: bool = fields.BooleanField(default=True)
admin = fields.IntegerField(required=True) admin: int = fields.IntegerField(required=True)
created_at = fields.DateTimeField(default=datetime.utcnow) created_at: datetime = fields.DateTimeField(default=datetime.utcnow)
class Meta: class Meta:
collection_name = "twitterfollow" collection_name = "twitterfollow"