from flask_atlas_auth.models import User from .base import db class DNAAccount(db.Model): __tablename__ = "dna_account" id = db.Column(db.Integer, primary_key=True) sub = db.Column(db.String(), nullable=False, unique=True) name = db.Column(db.String(), nullable=False) email = db.Column(db.String(), nullable=False, unique=True) def __repr__(self): return ( f"" ) def __str__(self): return self.name @classmethod def from_user(cls, user: User) -> "DNAAccount": dna_account = cls.query.filter(cls.sub == user.id).first() if not dna_account: dna_account = cls(sub=user.id, name=user.name, email=user.email) return dna_account