generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "postgresql"
  schemas  = ["axents"]
}

model utilisateurs {
  id                        Int                        @id @default(autoincrement())
  nom                       String?                    @db.VarChar(255)
  prenom                    String?                    @db.VarChar(255)
  email                     String?                    @db.VarChar(255)
  mot_de_passe              String?                    @db.VarChar(255)
  role_utilisateur          Int?
  reset_password_token      String?                    @db.VarChar(255)
  reset_password_expires_at DateTime?                  @db.Timestamp(6)
  password_updated_at       DateTime?                  @default(now()) @db.Timestamp(6)
  must_change_password      Boolean?                   @default(false)
  createdat                 DateTime?                  @default(now()) @db.Timestamp(6)
  updatedat                 DateTime?                  @default(now()) @db.Timestamp(6)
  audit_log                 audit_log[]
  rgpd_anonymisations       rgpd_anonymisations[]
  rgpd_demandes             rgpd_demandes[]
  rgpd_demandes_historique  rgpd_demandes_historique[]
  roles                     roles?                     @relation(fields: [role_utilisateur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_role")

  @@schema("axents")
}

model lieu_de_proximite {
  id           Int          @id @default(autoincrement())
  ville        String?      @db.VarChar(255)
  code_postal  Int?
  quartier     String?      @db.VarChar(255)
  secteur_plie String?      @db.VarChar(255)
  entreprise   entreprise[]
  usagers      usagers[]

  @@schema("axents")
}

model moyen_locomotion {
  id      Int       @id @default(autoincrement())
  nom     String?   @db.VarChar(255)
  usagers usagers[]

  @@schema("axents")
}

model niveau_qualif_diplome {
  id                 Int       @id @default(autoincrement())
  niveau             Int?
  description_niveau String?   @db.VarChar(255)
  usagers            usagers[]

  @@schema("axents")
}

model pays {
  id                                    Int                 @id @default(autoincrement())
  nom                                   String?             @db.VarChar(255)
  code_zone                             code_pays_zone?
  intitule_zone                         intitule_pays_zone?
  usagers_usagers_id_lieu_diplomeTopays usagers[]           @relation("usagers_id_lieu_diplomeTopays")
  usagers_usagers_nationaliteTopays     usagers[]           @relation("usagers_nationaliteTopays")
  usagers_usagers_pays_naissanceTopays  usagers[]           @relation("usagers_pays_naissanceTopays")

  @@schema("axents")
}

model quartier {
  id      Int       @id @default(autoincrement())
  nom     String?   @db.VarChar(255)
  zone    String?   @db.VarChar(255)
  usagers usagers[]

  @@schema("axents")
}

model secteur_logement {
  id      Int       @id @default(autoincrement())
  nom     String?   @db.VarChar(255)
  usagers usagers[]

  @@schema("axents")
}

model situation_de_travail {
  id      Int       @id @default(autoincrement())
  nom     String?   @db.VarChar(255)
  usagers usagers[]

  @@schema("axents")
}

model situation_matrimoniale {
  id      Int       @id @default(autoincrement())
  nom     String?   @db.VarChar(255)
  usagers usagers[]

  @@schema("axents")
}

model type_logement {
  id      Int       @id @default(autoincrement())
  nom     String?   @db.VarChar(255)
  usagers usagers[]

  @@schema("axents")
}

model usagers {
  id                                 Int                     @id @default(autoincrement())
  titre                              titre_usager?
  nom                                String?                 @db.VarChar(255)
  prenom                             String?                 @db.VarChar(255)
  date_naissance                     DateTime?               @db.Date
  sexe                               sexe_usager?
  adresse_ligne_1                    String?                 @db.VarChar(500)
  adresse_ligne_2                    String?                 @db.VarChar(500)
  id_quartier                        Int?
  id_lieu_de_proximite               Int?
  no_tel                             String?                 @db.VarChar(50)
  no_portable                        String?                 @db.VarChar(50)
  email                              String?                 @db.VarChar(255)
  dpt_naissance                      String?                 @db.VarChar(255)
  zone_pays_naissance                code_pays_zone?
  pays_naissance                     Int?
  un_des_parents_ne_etranger         questions_fermees?
  zone_nationalite                   code_pays_zone?
  nationalite                        Int?
  id_situation_matrimoniale          Int?
  nb_enfants_a_charge                Int?
  id_situation_conjoint              Int?
  commentaire_famille                String?
  id_type_logement                   Int?
  id_secteur_logement                Int?
  id_niv_qualif_diplome              Int?
  nom_diplome                        String?                 @db.VarChar(500)
  zone_lieu_diplome                  code_pays_zone?
  id_lieu_diplome                    Int?
  permis_b                           Boolean?
  autre_permis                       String?                 @db.VarChar(255)
  id_moyen_locomotion                Int?
  autre_moyen_locomotion             String?                 @db.VarChar(255)
  beneficiaire_plie                  Boolean?
  no_caf                             Int?
  createdat                          DateTime?               @default(now()) @db.Timestamp(6)
  updatedat                          DateTime?               @default(now()) @db.Timestamp(6)
  rgpd_anonymisations                rgpd_anonymisations[]
  rgpd_demandes                      rgpd_demandes[]
  usager_dossier                     usager_dossier[]
  usager_experiences                 usager_experiences[]
  usager_statut_entree               usager_statut_entree[]
  pays_usagers_id_lieu_diplomeTopays pays?                   @relation("usagers_id_lieu_diplomeTopays", fields: [id_lieu_diplome], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_lieu_diplome")
  lieu_de_proximite                  lieu_de_proximite?      @relation(fields: [id_lieu_de_proximite], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_lieu_proximite")
  moyen_locomotion                   moyen_locomotion?       @relation(fields: [id_moyen_locomotion], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_moyen_locomotion")
  pays_usagers_nationaliteTopays     pays?                   @relation("usagers_nationaliteTopays", fields: [nationalite], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_nationalite")
  niveau_qualif_diplome              niveau_qualif_diplome?  @relation(fields: [id_niv_qualif_diplome], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_niv_qualif_diplome")
  pays_usagers_pays_naissanceTopays  pays?                   @relation("usagers_pays_naissanceTopays", fields: [pays_naissance], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_pays_naissance")
  quartier                           quartier?               @relation(fields: [id_quartier], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_quartier")
  secteur_logement                   secteur_logement?       @relation(fields: [id_secteur_logement], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_secteur_logement")
  situation_matrimoniale             situation_matrimoniale? @relation(fields: [id_situation_matrimoniale], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_sit_matrimon")
  situation_de_travail               situation_de_travail?   @relation(fields: [id_situation_conjoint], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_sit_travail_conjoint")
  type_logement                      type_logement?          @relation(fields: [id_type_logement], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_type_logement")

  @@schema("axents")
}

model conseillers {
  id             Int              @id @default(autoincrement())
  nom            String?          @db.VarChar(255)
  rendez_vous    rendez_vous[]
  usager_dossier usager_dossier[]

  @@schema("axents")
}

model indemnisation {
  id               Int     @id @default(autoincrement())
  description_type String? @db.VarChar(500)

  @@schema("axents")
}

model prescripteurs {
  id                         Int              @id @default(autoincrement())
  nom_structure_prescripteur String?          @db.VarChar(255)
  nom_prescripteur           String?          @db.VarChar(255)
  adresse_ligne_1            String?          @db.VarChar(500)
  adresse_ligne_2            String?          @db.VarChar(500)
  code_postal                Int?
  ville                      String?          @db.VarChar(255)
  no_tel_1                   String?          @db.VarChar(50)
  no_tel_2                   String?          @db.VarChar(50)
  no_fax                     String?          @db.VarChar(50)
  no_poste                   String?          @db.VarChar(255)
  observations               String?
  service_cd_34              String?
  archive                    Boolean?
  usager_dossier             usager_dossier[]

  @@schema("axents")
}

model statut_entree {
  id                   Int                    @id @default(autoincrement())
  description_statut   String?                @db.VarChar(255)
  usager_statut_entree usager_statut_entree[]

  @@schema("axents")
}

model usager_statut_entree {
  id                      Int                @id @default(autoincrement())
  id_statut_entree        Int?
  id_usager               Int?
  date_depuis             DateTime?          @db.Date
  est_indemnise           Boolean?
  type_indemnisation      String?            @db.VarChar(255)
  agence_ft               String?            @db.VarChar(255)
  description_autre       String?            @db.VarChar(255)
  type_contrat_salarie    String?            @db.VarChar(255)
  salarie_entreprise      String?            @db.VarChar(255)
  recherche_active_emploi Boolean?
  duree_recherche_emploi  String?            @db.VarChar(255)
  diplome_prepare         String?            @db.VarChar(255)
  handicap_statut         questions_fermees?
  domicile_statut         questions_fermees?
  en_formation            Boolean?
  statut_entree           statut_entree?     @relation(fields: [id_statut_entree], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_status_entree")
  usagers                 usagers?           @relation(fields: [id_usager], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_status_entree_usager")

  @@schema("axents")
}

model usager_experiences {
  id               Int              @id @default(autoincrement())
  id_usager        Int?
  type_exp         type_experience?
  description_exp  String?          @db.VarChar(500)
  type_contrat_exp type_contrat?
  periode_debut    DateTime?        @db.Date
  periode_fin      DateTime?        @db.Date
  duree_mois       Int?
  motif_depart_exp motif_depart?
  usagers          usagers?         @relation(fields: [id_usager], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_experience_usager")

  @@schema("axents")
}

model usager_dossier {
  id                              Int                              @id @default(autoincrement())
  no_dossier                      String?                          @db.VarChar(255)
  id_usager                       Int?
  id_conseiller_referent          Int?
  id_prescripteur                 Int?
  detail_prescripteur             String?                          @db.VarChar(255)
  date_integration                DateTime?                        @db.Date
  admin_dossier_management        admin_dossier_management[]
  contrats                        contrats[]
  infos_generales_contrat_dossier infos_generales_contrat_dossier?
  projets                         projets[]
  rendez_vous                     rendez_vous[]
  conseillers                     conseillers?                     @relation(fields: [id_conseiller_referent], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_dossier_conseiller_referent")
  prescripteurs                   prescripteurs?                   @relation(fields: [id_prescripteur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_dossier_prescripteur")
  usagers                         usagers?                         @relation(fields: [id_usager], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_dossier_usager")

  @@schema("axents")
}

model conditions_convention {
  id                      Int          @id @default(autoincrement())
  id_reference_convention Int?
  critere_validation      String?      @db.VarChar(255)
  conventions             conventions? @relation(fields: [id_reference_convention], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "fk_convention_condition")

  @@schema("axents")
}

model conventions {
  id                                  Int                                  @id @default(autoincrement())
  reference_convention                String?                              @db.VarChar(255)
  date_debut                          DateTime?                            @db.Date
  date_fin                            DateTime?                            @db.Date
  id_indicateur                       Int?
  actions_conventions                 actions_conventions[]
  conditions_convention               conditions_convention[]
  indicateurs_quartier_accompagnement indicateurs_quartier_accompagnement? @relation(fields: [id_indicateur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_convention_indicateur")
  objectifs_convention                objectifs_convention[]
  projets                             projets[]
  rendez_vous                         rendez_vous[]

  @@schema("axents")
}

model financeurs {
  id               Int                @id @default(autoincrement())
  nom_financeur    String?            @db.VarChar(255)
  action_financeur action_financeur[]

  @@schema("axents")
}

model objectifs_convention {
  id                      Int          @id @default(autoincrement())
  id_reference_convention Int?
  description_objectif    String?      @db.VarChar(255)
  conventions             conventions? @relation(fields: [id_reference_convention], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "fk_convention_objectif")

  @@schema("axents")
}

model dossier_sequence {
  year         Int  @id
  currentvalue Int?

  @@schema("axents")
}

model actions_conventions {
  id                      Int                @id @default(autoincrement())
  id_reference_convention Int?
  description_action      String?            @db.VarChar(255)
  order_appearance        Int?
  action_financeur        action_financeur[]
  conventions             conventions?       @relation(fields: [id_reference_convention], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "fk_convention_action")
  projets                 projets[]
  rendez_vous             rendez_vous[]

  @@schema("axents")
}

model administration_rendezvous {
  id                        Int                        @id @default(autoincrement())
  description_gestion_admin String?                    @db.VarChar(255)
  admin_dossier_management  admin_dossier_management[]

  @@schema("axents")
}

model objet_rendezvous {
  id                    Int           @id @default(autoincrement())
  description_objet_rdv String?       @db.VarChar(255)
  rendez_vous           rendez_vous[]

  @@schema("axents")
}

model presence_rendezvous {
  id            Int           @id @default(autoincrement())
  code_presence String?       @db.VarChar(10)
  type_presence String?       @db.VarChar(255)
  rendez_vous   rendez_vous[]

  @@schema("axents")
}

model rendez_vous {
  id                  Int                  @id @default(autoincrement())
  id_dossier          Int?
  date_rdv            DateTime?            @db.Date
  id_type_rdv         Int?
  id_objet_rdv        Int?
  id_conseiller       Int?
  id_presence         Int?
  presence_autre      String?              @db.VarChar(255)
  tps_passe_h         Decimal?             @db.Decimal
  id_action           Int?
  id_ref_convention   Int?
  commentaire         String?
  actions_conventions actions_conventions? @relation(fields: [id_action], references: [id], onUpdate: NoAction, map: "fk_rdv_action")
  conseillers         conseillers?         @relation(fields: [id_conseiller], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rdv_conseiller")
  conventions         conventions?         @relation(fields: [id_ref_convention], references: [id], onUpdate: NoAction, map: "fk_rdv_convention")
  usager_dossier      usager_dossier?      @relation(fields: [id_dossier], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rdv_dossier")
  objet_rendezvous    objet_rendezvous?    @relation(fields: [id_objet_rdv], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rdv_objet")
  presence_rendezvous presence_rendezvous? @relation(fields: [id_presence], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rdv_presence")
  type_rendezvous     type_rendezvous?     @relation(fields: [id_type_rdv], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rdv_type")

  @@schema("axents")
}

model type_rendezvous {
  id                   Int           @id @default(autoincrement())
  description_type_rdv String?       @db.VarChar(255)
  rendez_vous          rendez_vous[]

  @@schema("axents")
}

model conseiller_rsa {
  id              Int        @id @default(autoincrement())
  nom             String?    @db.VarChar(255)
  adresse_ligne_1 String?    @db.VarChar(500)
  adresse_ligne_2 String?    @db.VarChar(500)
  code_postal     Int?
  ville           String?    @db.VarChar(255)
  no_tel_1        String?    @db.VarChar(50)
  no_tel_2        String?    @db.VarChar(50)
  no_fax          String?    @db.VarChar(50)
  no_poste        String?    @db.VarChar(255)
  observations    String?
  email           String?    @db.VarChar(255)
  contrats        contrats[]

  @@schema("axents")
}

model contrats {
  id                           Int                        @id @default(autoincrement())
  id_dossier                   Int?
  date_debut                   DateTime?                  @db.Date
  date_fin                     DateTime?                  @db.Date
  duree_contrat_mois           Int?
  id_service_insertion         Int?
  id_organisme_referent_unique Int?
  id_gestionnaire_admin        Int?
  id_conseiller_rsa            Int?
  id_referent_unique           Int?
  conseiller_rsa               conseiller_rsa?            @relation(fields: [id_conseiller_rsa], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_contrat_conseiller_rsa")
  usager_dossier               usager_dossier?            @relation(fields: [id_dossier], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_contrat_dossier")
  gestionnaire_admin           gestionnaire_admin?        @relation(fields: [id_gestionnaire_admin], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_contrat_gestionnaire")
  organisme_referent_unique    organisme_referent_unique? @relation(fields: [id_organisme_referent_unique], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_contrat_org_ru")
  referent_unique              referent_unique?           @relation(fields: [id_referent_unique], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_contrat_ru")
  service_insertion            service_insertion?         @relation(fields: [id_service_insertion], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_contrat_service_insertion")

  @@schema("axents")
}

model gestionnaire_admin {
  id              Int        @id @default(autoincrement())
  nom             String?    @db.VarChar(255)
  adresse_ligne_1 String?    @db.VarChar(500)
  adresse_ligne_2 String?    @db.VarChar(500)
  code_postal     Int?
  ville           String?    @db.VarChar(255)
  no_tel_1        String?    @db.VarChar(50)
  no_tel_2        String?    @db.VarChar(50)
  no_fax          String?    @db.VarChar(50)
  no_poste        String?    @db.VarChar(255)
  observations    String?
  email           String?    @db.VarChar(255)
  contrats        contrats[]

  @@schema("axents")
}

model organisme_referent_unique {
  id              Int        @id @default(autoincrement())
  nom             String?    @db.VarChar(255)
  adresse_ligne_1 String?    @db.VarChar(500)
  adresse_ligne_2 String?    @db.VarChar(500)
  code_postal     Int?
  ville           String?    @db.VarChar(255)
  no_tel_1        String?    @db.VarChar(50)
  no_tel_2        String?    @db.VarChar(50)
  no_fax          String?    @db.VarChar(50)
  no_poste        String?    @db.VarChar(255)
  observations    String?
  email           String?    @db.VarChar(255)
  contrats        contrats[]

  @@schema("axents")
}

model referent_unique {
  id              Int        @id @default(autoincrement())
  nom             String?    @db.VarChar(255)
  adresse_ligne_1 String?    @db.VarChar(500)
  adresse_ligne_2 String?    @db.VarChar(500)
  code_postal     Int?
  ville           String?    @db.VarChar(255)
  no_tel_1        String?    @db.VarChar(50)
  no_tel_2        String?    @db.VarChar(50)
  no_fax          String?    @db.VarChar(50)
  no_poste        String?    @db.VarChar(255)
  observations    String?
  email           String?    @db.VarChar(255)
  contrats        contrats[]

  @@schema("axents")
}

model service_insertion {
  id              Int        @id @default(autoincrement())
  nom             String?    @db.VarChar(255)
  adresse_ligne_1 String?    @db.VarChar(500)
  adresse_ligne_2 String?    @db.VarChar(500)
  code_postal     Int?
  ville           String?    @db.VarChar(255)
  no_tel_1        String?    @db.VarChar(50)
  no_tel_2        String?    @db.VarChar(50)
  no_fax          String?    @db.VarChar(50)
  no_poste        String?    @db.VarChar(255)
  observations    String?
  email           String?    @db.VarChar(255)
  contrats        contrats[]

  @@schema("axents")
}

model aides {
  id           Int            @id @default(autoincrement())
  designation  String?        @db.VarChar(255)
  projet_aides projet_aides[]

  @@schema("axents")
}

model cfe {
  id         Int          @id @default(autoincrement())
  nom_cfe    String?      @db.VarChar(255)
  entreprise entreprise[]

  @@schema("axents")
}

model entreprise {
  id                   Int                @id @default(autoincrement())
  nom_raison_sociale   String?            @db.VarChar(255)
  siret                String?            @db.VarChar(255)
  date_creation        DateTime?          @db.Date
  adresse              String?            @db.VarChar(255)
  id_lieu              Int?
  no_tel_1             String?            @db.VarChar(255)
  no_tel_2             String?            @db.VarChar(255)
  email                String?            @db.VarChar(255)
  site_web             String?            @db.VarChar(255)
  id_secteur_activite  Int?
  description_activite String?
  id_statut_juridique  Int?
  id_regime_fiscal     Int?
  id_regime_tva        Int?
  id_cfe               Int?
  effectif_total       Int?
  nom_responsable      String?            @db.VarChar(255)
  cfe                  cfe?               @relation(fields: [id_cfe], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_entreprise_cfe")
  lieu_de_proximite    lieu_de_proximite? @relation(fields: [id_lieu], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_entreprise_lieu")
  regime_fiscal        regime_fiscal?     @relation(fields: [id_regime_fiscal], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_entreprise_regime_fiscal")
  regime_tva           regime_tva?        @relation(fields: [id_regime_tva], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_entreprise_regime_tva")
  secteur_activite     secteur_activite?  @relation(fields: [id_secteur_activite], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_entreprise_secteur_activite")
  statut_juridique     statut_juridique?  @relation(fields: [id_statut_juridique], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_entreprise_statut_juridique")
  projets              projets[]

  @@schema("axents")
}

model projet_aides {
  id                 Int       @id @default(autoincrement())
  id_projet          Int?
  id_aide            Int?
  aide_obtenue       Boolean?
  montant_aide       Decimal?  @db.Decimal
  organisme_pret     String?   @db.VarChar(255)
  date_decision      DateTime? @db.Date
  suivi_commentaires String?
  aides              aides?    @relation(fields: [id_aide], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_aide_projet")
  projets            projets?  @relation(fields: [id_projet], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_projet_aide")

  @@schema("axents")
}

model projets {
  id                       Int                  @id @default(autoincrement())
  intitule_projet          String?              @db.VarChar(255)
  id_entreprise            Int?
  id_dossier               Int?
  id_action                Int?
  id_convention            Int?
  creation_non_accompagnee Boolean?
  creation_accompagnee     Boolean?
  reprise_entreprise       Boolean?
  date_reprise_entreprise  DateTime?            @db.Date
  couveuse_entreprise      Boolean?
  detail_couveuse          String?              @db.VarChar(255)
  date_cessation_activite  DateTime?            @db.Date
  motif_cessation_activite String?              @db.VarChar(255)
  entreprise_creee         Boolean?             @default(false)
  aide_financiere_obtenue  Boolean?             @default(false)
  projet_aides             projet_aides[]
  actions_conventions      actions_conventions? @relation(fields: [id_action], references: [id], onUpdate: NoAction, map: "fk_projet_action")
  conventions              conventions?         @relation(fields: [id_convention], references: [id], onUpdate: NoAction, map: "fk_projet_convention")
  usager_dossier           usager_dossier?      @relation(fields: [id_dossier], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_projet_dossier")
  entreprise               entreprise?          @relation(fields: [id_entreprise], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_projet_entreprise")

  @@schema("axents")
}

model regime_fiscal {
  id         Int          @id @default(autoincrement())
  nom_regime String?      @db.VarChar(255)
  entreprise entreprise[]

  @@schema("axents")
}

model secteur_activite {
  id               Int          @id @default(autoincrement())
  code_naf         String?      @db.VarChar(50)
  intitule_secteur String?      @db.VarChar(255)
  entreprise       entreprise[]

  @@schema("axents")
}

model statut_juridique {
  id         Int          @id @default(autoincrement())
  nom_statut String?      @db.VarChar(255)
  entreprise entreprise[]

  @@schema("axents")
}

model infos_generales_contrat_dossier {
  id_dossier     Int            @id
  no_caf         String?        @db.VarChar(255)
  coherence      String?
  faisabilite    String?
  evolution_ca   String?
  implication    String?
  points_forts   String?
  points_faibles String?
  usager_dossier usager_dossier @relation(fields: [id_dossier], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_infos_contrat_dossier")

  @@schema("axents")
}

model roles {
  id           Int            @id @default(autoincrement())
  intitule     String?        @db.VarChar(255)
  utilisateurs utilisateurs[]

  @@schema("axents")
}

model rgpd_anonymisations {
  id                 Int           @id @default(autoincrement())
  id_usager          Int?
  date_anonymisation DateTime?     @db.Timestamp(6)
  commentaire        String?
  id_utilisateur     Int?
  createdat          DateTime?     @default(now()) @db.Timestamp(6)
  usagers            usagers?      @relation(fields: [id_usager], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_anon_usager")
  utilisateurs       utilisateurs? @relation(fields: [id_utilisateur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_anon_user")

  @@schema("axents")
}

model rgpd_canal {
  id            Int             @id @default(autoincrement())
  code          String?         @db.VarChar(50)
  libelle       String?         @db.VarChar(255)
  rgpd_demandes rgpd_demandes[]

  @@schema("axents")
}

model rgpd_demandes {
  id                       Int                        @id @default(autoincrement())
  id_usager                Int?
  id_type_demande          Int?
  id_statut                Int?
  id_canal                 Int?
  description_demande      String?
  date_reception           DateTime?                  @db.Date
  date_limite              DateTime?                  @db.Date
  date_cloture             DateTime?                  @db.Date
  id_assigne_a             Int?
  notes_internes           String?
  reponse_apportee         String?
  createdat                DateTime?                  @default(now()) @db.Timestamp(6)
  updatedat                DateTime?                  @default(now()) @db.Timestamp(6)
  utilisateurs             utilisateurs?              @relation(fields: [id_assigne_a], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_assigne")
  rgpd_canal               rgpd_canal?                @relation(fields: [id_canal], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_canal")
  rgpd_statut              rgpd_statut?               @relation(fields: [id_statut], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_statut")
  rgpd_type_demande        rgpd_type_demande?         @relation(fields: [id_type_demande], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_type")
  usagers                  usagers?                   @relation(fields: [id_usager], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_usager")
  rgpd_demandes_historique rgpd_demandes_historique[]
  rgpd_pieces_jointes      rgpd_pieces_jointes[]

  @@schema("axents")
}

model rgpd_demandes_historique {
  id                     Int                     @id @default(autoincrement())
  id_demande_rgpd        Int?
  id_action              Int?
  commentaire            String?
  id_utilisateur         Int?
  date_action            DateTime?               @default(now()) @db.Timestamp(6)
  rgpd_historique_action rgpd_historique_action? @relation(fields: [id_action], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_hist_action")
  rgpd_demandes          rgpd_demandes?          @relation(fields: [id_demande_rgpd], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_hist_demande")
  utilisateurs           utilisateurs?           @relation(fields: [id_utilisateur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_hist_user")

  @@schema("axents")
}

model rgpd_historique_action {
  id                       Int                        @id @default(autoincrement())
  code                     String?                    @db.VarChar(50)
  libelle                  String?                    @db.VarChar(255)
  rgpd_demandes_historique rgpd_demandes_historique[]

  @@schema("axents")
}

model rgpd_pieces_jointes {
  id              Int            @id @default(autoincrement())
  id_demande_rgpd Int?
  nom             String?        @db.VarChar(255)
  url_fichier     String?        @db.VarChar(1000)
  type_mime       String?        @db.VarChar(255)
  taille          BigInt?
  date_upload     DateTime?      @default(now()) @db.Timestamp(6)
  rgpd_demandes   rgpd_demandes? @relation(fields: [id_demande_rgpd], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rgpd_piece_jointe")

  @@schema("axents")
}

model rgpd_politique_conservation {
  id                   Int       @id @default(autoincrement())
  type_donnee          String?   @db.VarChar(100)
  duree_mois           Int?
  anonymisation_active Boolean?  @default(true)
  suppression_active   Boolean?  @default(false)
  createdat            DateTime? @default(now()) @db.Timestamp(6)

  @@schema("axents")
}

model rgpd_statut {
  id            Int             @id @default(autoincrement())
  code          String?         @db.VarChar(50)
  libelle       String?         @db.VarChar(255)
  rgpd_demandes rgpd_demandes[]

  @@schema("axents")
}

model rgpd_type_demande {
  id            Int             @id @default(autoincrement())
  code          String?         @db.VarChar(50)
  libelle       String?         @db.VarChar(255)
  rgpd_demandes rgpd_demandes[]

  @@schema("axents")
}

model audit_log {
  id              Int           @id @default(autoincrement())
  id_utilisateur  Int?
  nom_utilisateur String?       @db.VarChar(255)
  module          String?       @db.VarChar(100)
  action          String?       @db.VarChar(100)
  entite          String?       @db.VarChar(100)
  id_entite       Int?
  ip_address      String?       @db.VarChar(50)
  ancien_valeur   Json?
  nouvelle_valeur Json?
  created_at      DateTime?     @default(now()) @db.Timestamp(6)
  utilisateurs    utilisateurs? @relation(fields: [id_utilisateur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_audit_user")

  @@index([created_at(sort: Desc)], map: "idx_audit_log_created_at")
  @@index([module], map: "idx_audit_log_module")
  @@index([id_utilisateur], map: "idx_audit_log_user")
  @@schema("axents")
}

model admin_dossier_management {
  id                        Int                        @id @default(autoincrement())
  id_dossier                Int?
  id_admin                  Int?
  precision_commentaire     String?
  date_action               DateTime?                  @db.Date
  usager_dossier            usager_dossier?            @relation(fields: [id_dossier], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_admin_manage_dossier")
  administration_rendezvous administration_rendezvous? @relation(fields: [id_admin], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_rdv_manage_dossier_admin")

  @@schema("axents")
}

model action_financeur {
  id_action           Int
  id_financeur        Int
  actions_conventions actions_conventions @relation(fields: [id_action], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "fk_af_action")
  financeurs          financeurs          @relation(fields: [id_financeur], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_af_financeur")

  @@id([id_action, id_financeur])
  @@schema("axents")
}

model indicateurs_quartier_accompagnement {
  id          Int           @id @default(autoincrement())
  libelle     String?       @db.VarChar(255)
  conventions conventions[]

  @@schema("axents")
}

model regime_tva {
  id         Int          @id @default(autoincrement())
  nom_regime String?      @db.VarChar(255)
  entreprise entreprise[]

  @@schema("axents")
}

enum sexe_usager {
  Masculin
  F_minin  @map("Féminin")

  @@schema("axents")
}

enum titre_usager {
  Monsieur
  Madame

  @@schema("axents")
}

enum travail_handicap_category {
  per_oit_l_AH        @map("perçoit l'AH")
  ne_per_oit_pas_l_AH @map("ne perçoit pas l'AH")
  Autre

  @@schema("axents")
}

enum motif_depart {
  Fin_de_contrat @map("Fin de contrat")
  D_mission      @map("Démission")
  Licenciement
  Autre

  @@schema("axents")
}

enum type_contrat {
  CDI
  CDD
  Int_rim    @map("Intérim")
  Alternance

  @@schema("axents")
}

enum type_experience {
  Formation
  Stage
  Emploi

  @@schema("axents")
}

enum questions_fermees {
  Oui
  Non
  Ne_souhaite_pas_r_pondre___Ne_sait_pas @map("Ne souhaite pas répondre / Ne sait pas")

  @@schema("axents")
}

enum code_pays_zone {
  FR
  UE
  HORS_UE

  @@schema("axents")
}

enum intitule_pays_zone {
  France
  Pays_UE      @map("Pays UE")
  Pays_hors_UE @map("Pays hors UE")

  @@schema("axents")
}
