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

View file

@ -8,63 +8,63 @@ 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)
active: bool = fields.BooleanField(default=True)
admin: int = fields.IntegerField(required=True)
user: int = fields.IntegerField(required=True)
username: str = fields.StringField(required=True)
discrim: int = fields.IntegerField(required=True)
duration: int = fields.IntegerField(required=False)
guild: int = fields.IntegerField(required=True)
type: str = fields.StringField(default="perm")
reason: str = fields.StringField(required=True)
created_at: datetime = 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)
admin: int = fields.IntegerField(required=True)
guild: int = fields.IntegerField(required=True)
reason: str = fields.StringField(required=True)
user: int = fields.IntegerField(required=True)
created_at: datetime = 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)
active: bool = fields.BooleanField(default=True)
user: int = fields.IntegerField(required=True)
admin: int = fields.IntegerField(required=True)
duration: int = fields.IntegerField(default=10)
guild: int = fields.IntegerField(required=True)
reason: str = fields.StringField(required=True)
created_at: datetime = 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)
user: int = fields.IntegerField(required=True)
username: str = fields.StringField(required=True)
discrim: int = fields.IntegerField(required=True)
guild: int = fields.IntegerField(required=True)
admin: int = fields.IntegerField(required=True)
reason: str = fields.StringField(required=True)
created_at: datetime = 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)
active: bool = fields.BooleanField(default=True)
admin: int = fields.IntegerField(required=True)
user: int = fields.IntegerField(required=True)
guild: int = fields.IntegerField(required=True)
duration: int = fields.IntegerField(default=24)
reason: str = fields.StringField(required=True)
created_at: datetime = fields.DateTimeField(default=datetime.utcnow)

View file

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