class UserRoles(db.Model): __tablename__ = 'user_roles' id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE')) role_id = db.Column(db.Integer, db.ForeignKey('roles.id', ondelete='CASCADE'))
class Task(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) time_added = db.Column(db.DateTime, nullable=False, default=datetime.now(tz)) time_updated = db.Column(db.DateTime, default=datetime.now(tz), onupdate=datetime.now(tz)) name = db.Column(db.String(100), nullable=False) description = db.Column(db.String(250), nullable=False) deadline = db.Column(db.DateTime, nullable=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) subject_id = db.Column(db.Integer, db.ForeignKey('subject.id'), nullable=False) comment = db.relationship('Comment', backref='task', lazy=True, foreign_keys="Comment.task_id") def __repr__(self): return f"Task('{self.name}', '{self.description}', '{self.deadline}')"
class Service(db.Model): id = db.Column(db.Integer, primary_key=True) address = db.Column(db.String(100), index=True) name = db.Column(db.String(80), index=True) time_of_last_change_of_state = db.Column(db.DateTime()) previous_state = db.Column(db.Integer, index=True) current_state = db.Column(db.Integer, index=True) time_of_added = db.Column(db.DateTime()) organization_id = db.Column(db.Integer, db.ForeignKey('organization.id')) service_repairer_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=True) users = db.relationship("Subscription", back_populates="service") def __init__(self, address, name, time_of_added, organization_id): self.address = address self.name = name self.time_of_added = time_of_added self.organization_id = organization_id self.previous_state = ServiceState.unspecified self.current_state = ServiceState.unspecified def dump(self): return { "service": { 'id': self.id, 'address': self.address, 'name': self.name, 'organization_id': self.organization_id } }
class Order(db.Model, Repopulatable): id = db.Column(db.Integer, primary_key=True) platform_order_id = db.Column(db.String) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship("User", backref=db.backref("orders")) user_legacy_id = db.Column(db.Integer, db.ForeignKey('user_legacy.id')) user_legacy = db.relationship("UserLegacy", backref=db.backref("orders")) products = db.relationship('Product', secondary=order_products_table, backref=db.backref('orders', lazy='dynamic')) shop_id = db.Column(db.Integer, db.ForeignKey('shop.id')) shop = db.relationship("Shop", backref=db.backref("orders")) browser_ip = db.Column(db.String) delivery_tracking_number = db.Column(db.String) discount = db.Column(db.String) status = db.Column(db.String, default=Constants.ORDER_STATUS_PURCHASED) # ['PURCHASED', 'SHIPPED', 'NOTIFIED', 'REVIEWED'] purchase_timestamp = db.Column(db.DateTime) shipment_timestamp = db.Column(db.DateTime) to_notify_timestamp = db.Column(db.DateTime) notification_timestamp = db.Column(db.DateTime) funnel_stream_id = db.Column(db.Integer, db.ForeignKey('funnel_stream.id')) funnel_stream = db.relationship("FunnelStream", backref=db.backref("order", uselist=False))
class Avaliacoes(db.Model): __tablename__: 'avaliacoes' id = db.Column(db.Integer, primary_key=True) tipo_avaliado = db.Column(db.String) #** id_evento = db.Column(db.Integer, db.ForeignKey('eventos.id')) id_avaliado = db.Column(db.Integer) id_avaliador = db.Column(db.Integer, db.ForeignKey('parceiros.id_geral')) nota = db.Column(db.Float) comentario = db.Column(db.String) identificar = db.Column(db.Boolean) def __init__(self, tipo_avaliado, id_evento, id_avaliado, id_avaliador, nota, comentario, identificar): self.tipo_avaliado = tipo_avaliado self.id_evento = id_evento self.id_avaliado = id_avaliado self.id_avaliador = id_avaliador self.nota = nota self.comentario = comentario self.identificar = identificar #** # se diretor avalia palestrante = Palestrante # se Parceiro avalia evento = Evento # se palestrante avalia unidade = Unidade
class TenantLeaseModel(db.Model): #nombre tabla __tablename__ = 'tenant_lease' #columns tenant_lease_id = db.Column(db.Integer, primary_key=True) lease_id = db.Column(db.Integer, db.ForeignKey('tenant.tenant_id'), primary_key=True) tenant_id = db.Column(db.Integer, db.ForeignKey('lease.lease_id'), primary_key=True) created_at = db.Column(db.DateTime(), nullable=False, default=datetime.datetime.now) updated_at = db.Column(db.DateTime(), nullable=False, default=datetime.datetime.now) #init data def __init__(self, lease_id, tenant_id): #declare data self.lease_id = lease_id self.tenant_id = tenant_id
class Shop(db.Model, Repopulatable): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) description = db.Column(db.String) domain = db.Column(db.String) image_url = db.Column(db.String) active = db.Column(db.Boolean, default=True) automatically_approve_reviews = db.Column(db.Boolean, default=True) access_user = db.Column(db.String) access_token = db.Column(db.String) products_imported = db.Column(db.Boolean, default=False) owner_id = db.Column(db.Integer, db.ForeignKey('user.id'), default=current_user.id if current_user and current_user.is_authenticated() else None) owner = db.relationship("User", backref=db.backref("shops")) platform_id = db.Column(db.Integer, db.ForeignKey('platform.id')) platform = db.relationship("Platform", backref=db.backref("platform")) def __repr__(self): return '<Shop %r>' % self.name
class Reservation(db.Model): id = db.Column(db.Integer, primary_key=True) guest_id = db.Column(db.Integer, db.ForeignKey('guest.id')) guest = db.relationship('Guest') table_id = db.Column(db.Integer, db.ForeignKey('table.id')) table = db.relationship('Table') reservation_time_from = db.Column(db.String, index=True) reservation_time_to = db.Column(db.String, index=True)
class ModulePluginMap(db.Model): __tablename__ = "module_plugin_map" module_id = db.Column(db.Integer, db.ForeignKey("module.id"), primary_key=True) plugin_id = db.Column(db.Integer, db.ForeignKey("plugin.id"), primary_key=True)
class Song(db.Model): id = db.Column(db.Integer, primary_key=True) spotify_id = db.Column(db.String(60)) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) playlist_id = db.Column(db.Integer, db.ForeignKey('playlist.id')) def __repr__(self): return '<Song {}>'.format(self.spotify_id)
class HostelApplication(db.Model): __tablename_ = "hostel_application" id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id")) hostel_id = db.Column(db.Integer, db.ForeignKey("hostel.id")) def __repr__(self): return f"<HostelApplication {self.id}>"
class Follow(db.Model): __tablename__ = 'follows' follower_id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True) followed_id = db.Column(db.Integer, db.ForeignKey('users.id'), primary_key=True) timestamp = db.Column(db.DateTime, default=datetime.utcnow())
class ModuleTaskUserMap(db.Model): __tablename__ = "module_task_user_map" task_id = db.Column(db.Integer, db.ForeignKey("module_task.id"), primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey("user.id"), primary_key=True) info = db.Column(db.String(1024)) user = db.relationship("User", backref="module_task_user") module_tasks = db.relationship("ModuleTask", backref="module_task_user")
class ArticleDept(db.Model): id = db.Column(db.Integer, primary_key=True) art = db.Column(db.BigInteger, db.ForeignKey('article.id')) dept = db.Column(db.BigInteger, db.ForeignKey('department.id')) def __init__(self, art, dept): self.art = art self.dept = dept
class Response(db.Model): id = db.Column(db.Integer, primary_key=True) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) advertisement_id = db.Column(db.Integer, db.ForeignKey('advertisement.id')) answer = db.Column(db.Integer, default=None) def __repr__(self): return f"Response('{self.id}', '{self.user_id}', '{self.advertisement_id}','{self.answer}')"
class OperationComp(db.Model): __tablename__ = 'OperationComp' id = db.Column(db.Integer(), primary_key=True) clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True) history_id = db.Column(db.Integer(), db.ForeignKey('History.id')) patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id')) operation_id = db.Column(db.Integer(), db.ForeignKey('Operation.id')) complication_id = db.Column(db.Integer(), db.ForeignKey('Complication.id')) date_begin = db.Column(db.Date())
class ArticleAuthor(db.Model): id = db.Column(db.Integer, primary_key=True) art = db.Column(db.BigInteger, db.ForeignKey('article.id')) auth = db.Column(db.BigInteger, db.ForeignKey('author.id')) def __init__(self, art, auth): self.art = art self.auth = auth
class Rel_projeto_categoria(db.Model): __tablename__: 'rel_projeto_categoria' id = db.Column(db.Integer, primary_key = True) id_projeto = db.Column(db.Integer, db.ForeignKey('projetos.id')) id_categoria = db.Column(db.Integer, db.ForeignKey('categorias_projetos.id')) def __init__(self, id_projeto, id_categoria): self.id_projeto = id_projeto self.id_categoria = id_categoria
class Rel_projeto_arquivo(db.Model): __tablename__: 'rel_projeto_arquivo' id = db.Column(db.Integer, primary_key=True) id_projeto = db.Column(db.Integer, db.ForeignKey('projetos.id')) id_arquivo = db.Column(db.Integer, db.ForeignKey('arquivos.id')) def __init__(self, id_projeto, id_arquivo): self.id_projeto = id_projeto self.id_arquivo = id_arquivo
class Parceiro_tema(db.Model): __tablename__: 'parceiro_tema' id = db.Column(db.Integer, primary_key=True) id_tema = db.Column(db.Integer, db.ForeignKey('tema_interesse.id')) id_alunos = db.Column(db.Integer, db.ForeignKey('alunos.id')) def __init__(self, id_tema, id_alunos): self.id_tema = id_tema self.id_alunos = id_alunos
class Rel_Curso_Unidade(db.Model): __tablename__: 'rel_curso_unidade' id = db.Column(db.Integer, primary_key=True) id_curso = db.Column(db.Integer, db.ForeignKey('cursos.id')) id_unidade = db.Column(db.Integer, db.ForeignKey('unidades.id')) def __init__(self, id_projeto, id_curso): self.id_projeto = id_projeto self.id_curso = id_curso
class ReviewReport(db.Model): id = db.Column(db.Integer, primary_key=True) timestamp = db.Column(db.DateTime) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship("User", backref=db.backref("review_reports")) review_id = db.Column(db.Integer, db.ForeignKey('review.id')) review = db.relationship("Review", backref=db.backref("reports"))
class ReviewFeature(db.Model): id = db.Column(db.Integer, primary_key=True) timestamp = db.Column(db.DateTime) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship("User", backref=db.backref("review_features")) review_id = db.Column(db.Integer, db.ForeignKey('review.id')) review = db.relationship("Review", backref=db.backref("featured"), uselist=False)
class Client(Utilisateur): __tablename__ = 'client' __mapper_args__ = {'polymorphic_identity': 'client'} id = db.Column(db.Integer, db.ForeignKey('utilisateur.id'), primary_key=True) num_client = db.Column(db.Integer, index=True, unique=True) adresse = db.Column(db.String(50), default="") tel = db.Column(db.String(10), default="") revenu_mensuel = db.Column(db.Integer, default="") # """Manquent (?) : # -> nombre d’enfants # -> situation matrimoniale # """ piece_id = db.Column(db.LargeBinary, default=None) just_salaire = db.Column(db.LargeBinary, default=None) just_domicile = db.Column(db.LargeBinary, default=None) comptes = db.relationship('Compte', backref='titulaire', lazy='dynamic') conseiller_id = db.Column(db.Integer, db.ForeignKey('conseiller.id')) @classmethod def creer(cls, data_user, data_client, data_compte, data_compte_avancee, cnx=None): pass def modifier(self): pass def changer_password(self, new_password, cnx=None): pass def afficher(self): s = super().afficher() s.update({ 'Téléphone': self.tel, 'Adresse': self.adresse, 'Revenu mensuel': self.revenu_mensuel }) return s def data_dict(self): s = super().afficher() s.update({ 'tel': self.tel, 'adresse': self.adresse, 'revenu_mensuel': self.revenu_mensuel, 'piece_id': self.piece_id, 'just_salaire': self.just_salaire, 'just_domicile': self.just_domicile }) return s
class Inscricoes(db.Model): __tablename__: 'inscricoes' id = db.Column(db.Integer, primary_key=True) id_parceiros = db.Column(db.Integer, db.ForeignKey('parceiros.id_geral')) id_eventos = db.Column(db.Integer, db.ForeignKey('eventos.id')) presenca = db.Column(db.Boolean) def __init__(self, id_parceiros, id_eventos): self.id_parceiros = id_parceiros self.id_eventos = id_eventos
class Answer(db.Model, Repopulatable): id = db.Column(db.Integer, primary_key=True) created_ts = db.Column(db.DateTime) body = db.Column(db.String) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) user = db.relationship("User", backref=db.backref("answers")) question_id = db.Column(db.Integer, db.ForeignKey('question.id')) question = db.relationship("Question", backref=db.backref("answers"))
class Rel_projeto_colaborador(db.Model): __tablename__: 'rel_projeto_colaborador' id = db.Column(db.Integer, primary_key=True) id_projeto = db.Column(db.Integer, db.ForeignKey('projetos.id')) id_colaborador = db.Column(db.Integer, db.ForeignKey('parceiros.id_geral')) tipo = db.Column(db.String(50)) def __init__(self, id_projeto, id_colaborador, tipo): self.id_projeto = id_projeto self.id_colaborador = id_colaborador self.tipo = tipo
class Clients(User): __tablename__ = 'client' id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True) tel = db.Column(db.String(20)) adresse = db.Column(db.String(140)) justificatif = db.Column(db.String(20)) id_agent = db.Column(db.String(50), db.ForeignKey('agent.id')) # compte = db.relationship('Comptes', backref='compte', lazy='dynamic') __mapper_args__ = { 'polymorphic_identity': 'client', }
class OperationLog(db.Model): __tablename__ = 'OperationLog' id = db.Column(db.Integer(), primary_key=True) clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True) history_id = db.Column(db.Integer(), db.ForeignKey('History.id')) patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id')) operation_id = db.Column(db.Integer(), db.ForeignKey('Operation.id')) operation_step_id = db.Column(db.Integer(), db.ForeignKey('OperationStep.id')) time_begin = db.Column(db.DateTime()) time_end = db.Column(db.DateTime()) duration_min = db.Column(db.Integer()) # Длительность в минутах
class Diagnose(db.Model): __tablename__ = 'Diagnose' id = db.Column(db.Integer(), primary_key=True) clinic_id = db.Column(db.Integer(), db.ForeignKey('Clinic.id'), index=True) history_id = db.Column(db.Integer(), db.ForeignKey('History.id'), index=True) patient_id = db.Column(db.Integer(), db.ForeignKey('Patient.id')) diagnose_item_id = db.Column(db.Integer(), db.ForeignKey('DiagnoseItem.id')) prosthesis_id = db.Column(db.Integer(), db.ForeignKey('Prosthesis.id')) side_damage = db.Column(db.String(100)) date_created = db.Column(db.Date())