github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/shared/equipier.go (about)

     1  package shared
     2  
     3  import (
     4  	rd "github.com/benoitkugler/goACVE/server/core/rawdata"
     5  )
     6  
     7  // BaseEquipier contient les informations venant d'un équipier et de la personne associée,
     8  // communes au portail directeur et au formulaire équipier.
     9  type BaseEquipier struct {
    10  	rd.BasePersonne
    11  
    12  	IsTemporaire       rd.Bool               `json:"is_temporaire"`
    13  	Diplome            rd.Diplome            `json:"diplome"`
    14  	Appro              rd.Approfondissement  `json:"appro"`
    15  	Presence           rd.OptionnalPlage     `json:"presence"`
    16  	InvitationEquipier rd.InvitationEquipier `json:"invitation_equipier"`
    17  	Charte             rd.OptionnalBool      `json:"charte"`
    18  }
    19  
    20  // FromPersonneEquipier selectionne les données
    21  // pour les exporter vers le front end.
    22  func FromPersonneEquipier(personne rd.Personne, equipier rd.Equipier) BaseEquipier {
    23  	out := BaseEquipier{BasePersonne: personne.BasePersonne}
    24  
    25  	out.IsTemporaire = personne.IsTemporaire
    26  	out.Diplome = equipier.Diplome
    27  	out.Appro = equipier.Appro
    28  	out.Presence = equipier.Presence
    29  	out.InvitationEquipier = equipier.InvitationEquipier
    30  	out.Charte = equipier.Charte
    31  
    32  	return out
    33  }
    34  
    35  // ToPersonneEquipier met à jour les données depuis le frontend
    36  func (eq BaseEquipier) ToPersonneEquipier(personne *rd.BasePersonne, equipier *rd.Equipier) {
    37  	*personne = eq.BasePersonne
    38  
    39  	equipier.Diplome = eq.Diplome
    40  	equipier.Appro = eq.Appro
    41  	equipier.Presence = eq.Presence
    42  }