70 lines
2.7 KiB
Java
70 lines
2.7 KiB
Java
package fr.titionfire.ffsaf.rest.data;
|
|
|
|
import fr.titionfire.ffsaf.data.model.MembreModel;
|
|
import fr.titionfire.ffsaf.net2.data.SimpleClubModel;
|
|
import fr.titionfire.ffsaf.utils.Categorie;
|
|
import fr.titionfire.ffsaf.utils.Genre;
|
|
import fr.titionfire.ffsaf.utils.GradeArbitrage;
|
|
import fr.titionfire.ffsaf.utils.RoleAsso;
|
|
import io.quarkus.runtime.annotations.RegisterForReflection;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Builder;
|
|
import lombok.Data;
|
|
import org.eclipse.microprofile.openapi.annotations.media.Schema;
|
|
|
|
import java.util.Date;
|
|
|
|
@Data
|
|
@Builder
|
|
@AllArgsConstructor
|
|
@RegisterForReflection
|
|
public class SimpleMembre {
|
|
@Schema(description = "L'identifiant du membre.", examples = "1")
|
|
private long id;
|
|
@Schema(description = "L'identifiant long du membre (userID).", examples = "e81d1d35-d897-421e-8086-6c5e74d13c6e")
|
|
private String userId;
|
|
@Schema(description = "Le nom du membre.", examples = "Dupont")
|
|
private String lname = "";
|
|
@Schema(description = "Le prénom du membre.", examples = "Jean")
|
|
private String fname = "";
|
|
@Schema(description = "La catégorie du membre.", examples = "SENIOR")
|
|
private Categorie categorie;
|
|
@Schema(description = "Le club du membre.")
|
|
private SimpleClubModel club;
|
|
@Schema(description = "Le genre du membre.", examples = "H")
|
|
private Genre genre;
|
|
@Schema(description = "Le numéro de licence du membre.", examples = "12345")
|
|
private Integer licence;
|
|
@Schema(description = "Le pays du membre.", examples = "FR")
|
|
private String country;
|
|
@Schema(description = "La date de naissance du membre.")
|
|
private Date birth_date;
|
|
@Schema(description = "L'adresse e-mail du membre.", examples = "jean.dupont@examples.com")
|
|
private String email;
|
|
@Schema(description = "Le rôle du membre dans l'association.", examples = "MEMBRE")
|
|
private RoleAsso role;
|
|
@Schema(description = "Le grade d'arbitrage du membre.", examples = "N/A")
|
|
private GradeArbitrage grade_arbitrage;
|
|
|
|
public static SimpleMembre fromModel(MembreModel model) {
|
|
if (model == null)
|
|
return null;
|
|
|
|
return new SimpleMembreBuilder()
|
|
.id(model.getId())
|
|
.userId(model.getUserId())
|
|
.lname(model.getLname())
|
|
.fname(model.getFname())
|
|
.categorie(model.getCategorie())
|
|
.club(SimpleClubModel.fromModel(model.getClub()))
|
|
.genre(model.getGenre())
|
|
.licence(model.getLicence())
|
|
.country(model.getCountry())
|
|
.birth_date(model.getBirth_date())
|
|
.email(model.getEmail())
|
|
.role(model.getRole())
|
|
.grade_arbitrage(model.getGrade_arbitrage())
|
|
.build();
|
|
}
|
|
}
|