Entités binomes — Communication

Retour : sommaire du module.

MessageTemplate

Table : message_template Description : Modèle de message réutilisable (email) servant de contenu de base pour les étapes de communication.

Champ Type Description
id bigint Identifiant unique.
name varchar(127) (nullable) Nom du template.
subject varchar(255) (nullable) Sujet de l'email.
type varchar(255) (nullable) Type de template.
html text (nullable) Contenu HTML du template.
createdAt timestamp (nullable) Date de création.
updatedAt timestamp (nullable) Date de dernière mise à jour.
brevoTemplateId bigint (nullable) Identifiant du template correspondant chez Brevo.

CampaignTemplate

Table : campaign-template Description : Modèle de campagne d'emailing (contenu et dates de lancement) pouvant générer plusieurs envois suivis.

Champ Type Description
id bigint Identifiant unique.
campaign varchar(255) Nom de la campagne.
subject varchar Sujet de l'email.
html text Contenu HTML de la campagne.
creationDate timestamp Date de création de la campagne.
launchDate timestamp (nullable) Date de lancement de la campagne.

Relations :

  • emails : OneToMany → CampaignEmailsMonitoring (via campaignId)

CampaignEmailsMonitoring

Table : campaign-emails-monitoring Description : Suivi individuel de l'envoi d'un email de campagne à un utilisateur (jeune ou bénévole), avec statut d'erreur éventuel.

Champ Type Description
id bigint Identifiant unique.
campaignId varchar Référence de la campagne d'origine.
subject varchar Sujet de l'email envoyé.
html text Contenu HTML de l'email envoyé.
sendingDate timestamp (nullable, défaut: null) Date d'envoi de l'email.
errorMessage varchar(255) (nullable, défaut: null) Message d'erreur en cas d'échec d'envoi.
userId bigint Identifiant de l'utilisateur destinataire.
benevoleId bigint (nullable, défaut: null) Identifiant du bénévole destinataire.
jeuneId bigint (nullable, défaut: null) Identifiant du jeune destinataire.

Relations :

  • benevole : ManyToOne → Benevole (FK bv_id)
  • jeune : ManyToOne → Jeune (FK jeune_id)
  • user : ManyToOne → User (FK user_id)
  • campaign : ManyToOne → CampaignTemplate (FK campaign_id)

Notif

Table : notif Description : Notification adressée à un administrateur, liée à un jeune, un bénévole et/ou un binôme, avec suivi de lecture.

Champ Type Description
id bigint Identifiant unique.
slug varchar Identifiant textuel du type de notification.
date timestamp (nullable) Date de la notification.
read timestamp (nullable) Date de lecture de la notification.
description varchar Description de la notification.
adminId bigint Identifiant de l'administrateur destinataire.
jeuneId bigint (nullable) Identifiant du jeune concerné.
benevoleId bigint (nullable) Identifiant du bénévole concerné.
binomeId bigint (nullable) Identifiant du binôme concerné.

Relations :

  • admin : ManyToOne → User (FK admin_id)
  • jeune : ManyToOne → Jeune (FK jeune_id)
  • benevole : ManyToOne → Benevole (FK benevole_id)
  • binome : ManyToOne → Binome (FK binome_id)

StepSequence

Table : step_sequence Description : Séquence d'étapes de suivi (messages/steps) applicable à des binômes, éventuellement restreinte à certains partenaires.

Champ Type Description
id bigint Identifiant unique.
name varchar(127) (nullable) Nom de la séquence.
extendedStepInterval real (nullable) Intervalle (en jours) utilisé pour les étapes en mode prolongé.

Relations :

  • partners : ManyToMany → Partner (table de jointure)
  • messages : OneToMany → StepMessage (via sequence)
  • steps : OneToMany → Steps (via sequence)
  • binomes : OneToMany → Binome (via stepSequence)

Steps

Table : steps Description : Étape d'une séquence de suivi, définissant le jour de déclenchement et les messages associés au jeune et au bénévole.

Champ Type Description
id bigint Identifiant unique.
declenchementJour text (nullable) Jour de déclenchement de l'étape.
sequenceId varchar Référence de la séquence parente.
suiviActivated boolean (nullable) Indique si le suivi est activé pour cette étape.
extended boolean (nullable) Indique si l'étape fait partie du mode prolongé.

Relations :

  • sequence : ManyToOne → StepSequence (FK sequence_id)
  • jeuneStep : ManyToOne → StepMessage (FK implicite, colonne générée par @JoinColumn() sans nom explicite)
  • benevoleStep : ManyToOne → StepMessage (FK implicite, colonne générée par @JoinColumn() sans nom explicite)
  • suivistatus : OneToMany → Suivistatus (via step)

StepMessage

Table : step_message Description : Message associé à une étape de séquence, défini par un type et une destination, basé sur un template de message.

Champ Type Description
id bigint Identifiant unique.
type varchar(255) (nullable) Type de message.
destination text (nullable) Destinataire ou canal de destination du message.
sequenceId varchar Référence de la séquence parente.

Relations :

  • sequence : ManyToOne → StepSequence (FK sequence_id)
  • steps : ManyToOne → Steps (FK step_id)
  • template : ManyToOne → MessageTemplate (FK template_id)

StepMessageBinome

Table : step_message_binome Description : Enregistrement de l'envoi effectif d'un message d'étape à un binôme donné, avec suivi d'erreur.

Champ Type Description
id bigint Identifiant unique.
dateEnvoi timestamp (nullable) Date d'envoi du message.
destination text (nullable) Destinataire ou canal de destination du message.
error boolean (nullable) Indique si l'envoi a échoué.
subject text (nullable) Sujet du message envoyé.
message text (nullable) Contenu du message envoyé.
dayStep real (nullable) Jour de l'étape au moment de l'envoi.
binomeId varchar Référence du binôme concerné.
stepId varchar (nullable) Référence de l'étape concernée.

Relations :

  • binome : ManyToOne → Binome (FK binome_id)
  • step : ManyToOne → Steps (FK step_id)

Flash

Table : flash Description : Résultat d'un « flash » (mise en relation/évaluation) entre un jeune et un bénévole, avec score et détails.

Champ Type Description
id bigint Identifiant unique.
score real (nullable) Score du flash.
scoreDetails varchar(2048) (nullable) Détails du calcul du score.
precisions varchar(2048) (nullable) Précisions complémentaires sur le flash.
creationDate timestamp (nullable) Date de création du flash.
jeuneJoinDate timestamp (nullable) Date à laquelle le jeune a rejoint.
creneauDate timestamp (nullable) Date du créneau associé.
recordId varchar (nullable) Identifiant d'enregistrement externe.
jeuneId varchar (nullable) Référence du jeune concerné.
benevoleId varchar Référence du bénévole concerné.

Relations :

  • jeune : ManyToOne → Jeune (FK jeune_id)
  • benevole : ManyToOne → Benevole (FK bv_id)

Unsubscribe

Table : unsubscribe Description : Enregistrement d'une désinscription d'un utilisateur aux communications, avec motif et commentaire optionnels.

Champ Type Description
id bigint Identifiant unique.
unsubscribeDate timestamp (nullable) Date de la désinscription.
reason varchar(255) (nullable) Motif de la désinscription.
comment varchar(2055) (nullable) Commentaire libre sur la désinscription.
userId varchar(255) Référence de l'utilisateur désinscrit.