From bbcb839125967104a0431cac3a5e23e3b6b62972 Mon Sep 17 00:00:00 2001 From: zevaryx Date: Wed, 7 Dec 2022 20:56:34 -0700 Subject: [PATCH] Add Mastodon follows --- jarvis_core/db/models/__init__.py | 1 + jarvis_core/db/models/mastodon.py | 36 +++++++++++++++++++++++++++++++ pyproject.toml | 2 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 jarvis_core/db/models/mastodon.py diff --git a/jarvis_core/db/models/__init__.py b/jarvis_core/db/models/__init__.py index acb8478..d501f0f 100644 --- a/jarvis_core/db/models/__init__.py +++ b/jarvis_core/db/models/__init__.py @@ -10,6 +10,7 @@ from jarvis_core.db import CTC2_INST, JARVIS_INST from jarvis_core.db.fields import RawField from jarvis_core.db.models.actions import * from jarvis_core.db.models.backups import * +from jarvis_core.db.models.mastodon import * from jarvis_core.db.models.modlog import * from jarvis_core.db.models.reddit import * from jarvis_core.db.models.twitter import * diff --git a/jarvis_core/db/models/mastodon.py b/jarvis_core/db/models/mastodon.py new file mode 100644 index 0000000..3e52f2e --- /dev/null +++ b/jarvis_core/db/models/mastodon.py @@ -0,0 +1,36 @@ +"""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" diff --git a/pyproject.toml b/pyproject.toml index 43cbcf6..e4e486a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "jarvis-core" -version = "0.15.0" +version = "0.16.0" description = "JARVIS core" authors = ["Zevaryx "]