class Logs(db.Model): id = db.Column(db.Integer, primary_key=True) action = db.Column(db.String(80), nullable=False) user = db.Column(db.String(80), nullable=False) date_added = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) password = db.Column(db.String(80), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) public_id = db.Column(db.String(80), unique=True) is_active = db.Column(db.Boolean, unique=False, default=True) is_admin = db.Column(db.Boolean, unique=False, default=True) date_added = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow) mesaje = db.relationship('Mesaj', backref='owner')
class Mesaj(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) telefon = db.Column(db.String(10), nullable=False) mesaj = db.Column(db.String(1200), nullable=False) mesaj_count = db.Column(db.Integer, nullable=True) mesaj_lenght = db.Column(db.Integer, nullable=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) date_added = db.Column(db.DateTime, nullable=False, default=datetime.datetime.utcnow) date_sent = db.Column(db.DateTime, nullable=True) is_sent = db.Column(db.Boolean, unique=False, default=False)
class FirebaseModel(db.Model): __tablename__ = 'firebase' id = db.Column(db.Integer, primary_key=True) imsi = db.Column(db.String(15)) token = db.Column(db.String(255)) def __init__(self, imsi: str, token: str): self.imsi: str = imsi self.token: str = token def __repr__(self) -> str: return f"{type(self).__name__}(imsi={self.imsi}, token={self.token})" def __str__(self) -> str: return f"Imsi:{self.imsi}, Token:{self.token}" def json(self) -> Dict: return {'imsi': self.imsi, 'token': self.token} def save_to_db(self): db.session.add(self) db.session.commit() def delete_from_db(self): db.session.delete(self) db.session.commit() @classmethod def find_by_imsi(cls, imsi: str) -> Optional["FirebaseModel"]: try: return cls.query.filter_by(imsi=imsi).first() except exc.SQLAlchemyError: return None @classmethod def find_all(cls) -> Optional[List]: try: return cls.query.all() except exc.SQLAlchemyError: return None
class Mails(db.Model): __tablename__ = 'mails' id = db.Column(db.Integer, primary_key=True) subject = db.Column(db.String(100)) sent_date = db.Column(db.DateTime) to = db.Column(db.Text) brief_description = db.Column(db.Text) rest_description = db.Column(db.Text) # category_id = db.Column(db.Integer, db.ForeignKey('category.id')) # category = db.relationship('Category', # backref=db.backref('posts', lazy='dynamic')) def __init__(self, sub, brief_body, rest_body, sent_date, to): self.subject = subject self.sent_date = sent_date self.to = to self.brief_body = brief_body self.rest_body = rest_body def __repr__(self): return '<Mail %r>' % self.subject
class Modem(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True, nullable=False) type = db.Column(db.String(80), nullable=False) qr_code = db.Column(db.String(800), nullable=True) status = db.Column(db.String(80), nullable=False)
class Token(db.Model): __tablename__ = 'tokens' id = db.Column(db.Integer, primary_key=True) source_app = db.Column(db.String(64), default=Config.SOURCE_APP) request_app = db.Column(db.String(64)) access_token = db.Column(db.String(512))