diff options
Diffstat (limited to 'api/models.py')
-rw-r--r-- | api/models.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/api/models.py b/api/models.py index d057d6b1..62dc2755 100644 --- a/api/models.py +++ b/api/models.py @@ -19,7 +19,7 @@ from sqlalchemy.dialects.postgresql import UUID, JSONB from sqlalchemy import text as sa_text from little_boxes import activitypub as ap from urllib.parse import urlparse -from authlib.flask.oauth2.sqla import OAuth2ClientMixin, OAuth2AuthorizationCodeMixin, OAuth2TokenMixin +from authlib_sqla import OAuth2ClientMixin, OAuth2AuthorizationCodeMixin, OAuth2TokenMixin import time import uuid from utils.defaults import Reel2bitsDefaults @@ -83,6 +83,7 @@ class User(db.Model, UserMixin): name = db.Column(db.String(255), nullable=False, info={"label": "Username"}) password = db.Column(db.String(255), nullable=True, info={"label": "Password"}) active = db.Column(db.Boolean()) + fs_uniquifier = db.Column(db.String(255), unique=True, nullable=False) confirmed_at = db.Column(db.DateTime()) created_at = db.Column(db.DateTime(timezone=False), default=datetime.datetime.utcnow) @@ -218,6 +219,7 @@ class OAuth2Client(db.Model, OAuth2ClientMixin): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id", ondelete="CASCADE")) + user = db.relationship("User") @@ -772,6 +774,7 @@ def create_remote_actor(activity_actor: ap.BaseActivity): user.confirmed_at = None user.display_name = activity_actor.name user.local = False + user.fs_uniquifier = uuid.uuid4().hex actor.user = user |