from app import db class Entreprise(db.Model): __tablename__ = "entreprises" id = db.Column(db.Integer, primary_key=True) siret = db.Column(db.Text) nom = db.Column(db.Text) adresse = db.Column(db.Text) codepostal = db.Column(db.Text) ville = db.Column(db.Text) pays = db.Column(db.Text) contacts = db.relationship( "EntrepriseContact", backref="entreprise", lazy="dynamic", cascade="all, delete-orphan", ) offres = db.relationship( "EntrepriseOffre", backref="entreprise", lazy="dynamic", cascade="all, delete-orphan", ) def to_dict(self): return { "siret": self.siret, "nom": self.nom, "adresse": self.adresse, "codepostal": self.codepostal, "ville": self.ville, "pays": self.pays, } class EntrepriseContact(db.Model): __tablename__ = "entreprise_contact" id = db.Column(db.Integer, primary_key=True) entreprise_id = db.Column( db.Integer, db.ForeignKey("entreprises.id", ondelete="cascade") ) nom = db.Column(db.Text) prenom = db.Column(db.Text) telephone = db.Column(db.Text) mail = db.Column(db.Text) poste = db.Column(db.Text) service = db.Column(db.Text) def to_dict(self): return { "nom": self.nom, "prenom": self.prenom, "telephone": self.telephone, "mail": self.mail, "poste": self.poste, "service": self.service, } def to_dict_export(self): entreprise = Entreprise.query.get(self.entreprise_id) return { "nom": self.nom, "prenom": self.prenom, "telephone": self.telephone, "mail": self.mail, "poste": self.poste, "service": self.service, "siret": entreprise.siret, "nom_entreprise": entreprise.nom, "adresse_entreprise": entreprise.adresse, "codepostal": entreprise.codepostal, "ville": entreprise.ville, "pays": entreprise.pays, } class EntrepriseOffre(db.Model): __tablename__ = "entreprise_offre" id = db.Column(db.Integer, primary_key=True) entreprise_id = db.Column( db.Integer, db.ForeignKey("entreprises.id", ondelete="cascade") ) date_ajout = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) intitule = db.Column(db.Text) description = db.Column(db.Text) type_offre = db.Column(db.Text) missions = db.Column(db.Text) duree = db.Column(db.Text) class EntrepriseLog(db.Model): __tablename__ = "entreprise_log" id = db.Column(db.Integer, primary_key=True) date = db.Column(db.DateTime(timezone=True), server_default=db.func.now()) authenticated_user = db.Column(db.Text) object = db.Column(db.Integer) text = db.Column(db.Text) class EntrepriseEtudiant(db.Model): __tablename__ = "entreprise_etudiant" id = db.Column(db.Integer, primary_key=True) entreprise_id = db.Column(db.Integer, db.ForeignKey("entreprises.id")) etudid = db.Column(db.Integer) type_offre = db.Column(db.Text) date_debut = db.Column(db.Date) date_fin = db.Column(db.Date) formation_text = db.Column(db.Text) formation_scodoc = db.Column(db.Integer) class EntrepriseEnvoiOffre(db.Model): __tablename__ = "entreprise_envoi_offre" id = db.Column(db.Integer, primary_key=True) sender_id = db.Column(db.Integer, db.ForeignKey("user.id")) receiver_id = db.Column(db.Integer, db.ForeignKey("user.id")) offre_id = db.Column(db.Integer, db.ForeignKey("entreprise_offre.id")) date_envoi = db.Column(db.DateTime(timezone=True), server_default=db.func.now())