diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java index 4f3151c..890be1a 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/LicenceModel.java @@ -3,6 +3,7 @@ package fr.titionfire.ffsaf.data.model; import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.*; import lombok.*; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Getter @Setter @@ -16,15 +17,20 @@ import lombok.*; public class LicenceModel { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Schema(description = "L'identifiant de la licence.") Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "membre", referencedColumnName = "id") + @Schema(description = "Le membre de la licence. (optionnel)") MembreModel membre; + @Schema(description = "La saison de la licence.", example = "2025") int saison; + @Schema(description = "Nom du médecin sur certificat médical.", example = "M. Jean") String certificate; + @Schema(description = "Licence validée", example = "true") boolean validate; } diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/MembreModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/MembreModel.java index a64b1a9..2e181c2 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/MembreModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/MembreModel.java @@ -7,6 +7,7 @@ import fr.titionfire.ffsaf.utils.RoleAsso; import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.*; import lombok.*; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import java.util.Date; import java.util.List; @@ -24,35 +25,50 @@ public class MembreModel { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Schema(description = "L'identifiant du membre.", example = "1") Long id; + @Schema(description = "L'identifiant long du membre (userID).", example = "e81d1d35-d897-421e-8086-6c5e74d13c6e") String userId; + @Schema(description = "Le nom du membre.", example = "Dupont") String lname; + @Schema(description = "Le prénom du membre.", example = "Jean") String fname; + @Schema(description = "La catégorie du membre.", example = "SENIOR") Categorie categorie; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "club", referencedColumnName = "id") + @Schema(description = "Le club du membre.") ClubModel club; + @Schema(description = "Le genre du membre.", example = "H") Genre genre; + @Schema(description = "Le numéro de licence du membre.", example = "12345") int licence; + @Schema(description = "Le pays du membre.", example = "FR") String country; + @Schema(description = "La date de naissance du membre.") Date birth_date; + @Schema(description = "L'adresse e-mail du membre.", example = "jean.dupont@example.com") String email; + @Schema(description = "Le rôle du membre dans l'association.", example = "MEMBRE") RoleAsso role; + @Schema(description = "Le grade d'arbitrage du membre.", example = "NA") GradeArbitrage grade_arbitrage; + @Schema(hidden = true) String url_photo; @OneToMany(mappedBy = "membre", fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @Schema(description = "Les licences du membre. (optionnel)") List licences; } diff --git a/src/main/java/fr/titionfire/ffsaf/net2/data/SimpleCombModel.java b/src/main/java/fr/titionfire/ffsaf/net2/data/SimpleCombModel.java index 9a062ab..fb9fe39 100644 --- a/src/main/java/fr/titionfire/ffsaf/net2/data/SimpleCombModel.java +++ b/src/main/java/fr/titionfire/ffsaf/net2/data/SimpleCombModel.java @@ -8,12 +8,14 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Getter @Setter @AllArgsConstructor @NoArgsConstructor @RegisterForReflection +@Schema(hidden = true) public class SimpleCombModel { Long id; String lname = ""; diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/MeData.java b/src/main/java/fr/titionfire/ffsaf/rest/data/MeData.java index d9a79ea..a65e097 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/MeData.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/MeData.java @@ -5,6 +5,7 @@ import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import java.util.Date; import java.util.List; @@ -14,18 +15,31 @@ import java.util.List; @NoArgsConstructor @RegisterForReflection public class MeData { + @Schema(description = "L'identifiant du membre.", example = "1") private long id; + @Schema(description = "Le nom du membre.", example = "Dupont") private String lname = ""; + @Schema(description = "Le prénom du membre.", example = "Jean") private String fname = ""; + @Schema(description = "La catégorie du membre.", example = "SENIOR") private String categorie; + @Schema(description = "Le nom du club du membre.", example = "Association sportive") private String club; + @Schema(description = "Le genre du membre.", example = "Homme") private String genre; + @Schema(description = "Le numéro de licence du membre.", example = "12345") private int licence; + @Schema(description = "Le pays du membre.", example = "FR") private String country; + @Schema(description = "La date de naissance du membre.") private Date birth_date; + @Schema(description = "L'adresse e-mail du membre.", example = "jean.dupont@example.com") private String email; + @Schema(description = "Le rôle du membre dans l'association.", example = "MEMBRE") private String role; + @Schema(description = "Le grade d'arbitrage du membre.", example = "N/A") private String grade_arbitrage; + @Schema(description = "La liste des licences du membre.") private List licences; public void setMembre(MembreModel membreModel) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleAffiliation.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleAffiliation.java index 90efb04..2631783 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleAffiliation.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleAffiliation.java @@ -5,16 +5,21 @@ import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Data @Builder @AllArgsConstructor @RegisterForReflection public class SimpleAffiliation { - Long id; - Long club; - int saison; - boolean validate; + @Schema(description = "L'identifiant de l'affiliation.", example = "1") + private Long id; + @Schema(description = "L'identifiant du club associé à l'affiliation.", example = "123") + private Long club; + @Schema(description = "La saison de l'affiliation.", example = "2022") + private int saison; + @Schema(description = "Indique si l'affiliation est validée ou non.", example = "true") + private boolean validate; public static SimpleAffiliation fromModel(AffiliationModel model) { if (model == null) diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClub.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClub.java index d81195c..6229aa6 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClub.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClub.java @@ -7,6 +7,7 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.ToString; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import java.util.HashMap; import java.util.Map; @@ -17,19 +18,33 @@ import java.util.Map; @AllArgsConstructor @RegisterForReflection public class SimpleClub { + @Schema(description = "L'identifiant unique du club.", example = "1") private Long id; + @Schema(description = "Identifiant long du club (UUID)", example = "b94f3167-3f6a-449c-a73b-ec84202bf07e") private String clubId; + @Schema(description = "Le nom du club.", example = "Association sportive") private String name; + @Schema(description = "Le pays du club.", example = "FR") private String country; + @Schema(description = "Les contacts du club", example = "{\"SITE\": \"www.test.com\", \"COURRIEL\": \"test@test.com\"}") private Map contact; + @Schema(description = "Liste des lieux d'entraînement", example = "[{\"text\":\"addr 1\",\"lng\":2.24654,\"lat\":52.4868658},{\"text\":\"addr 2\",\"lng\":2.88654,\"lat\":52.7865456}]") private String training_location; + @Schema(description = "Liste des jours et horaires d'entraînement (jours 0-6, 0=>lundi) (temps en minute depuis 00:00, 122=>2h02)", example = "[{\"day\":0,\"time_start\":164,\"time_end\":240},{\"day\":3,\"time_start\":124,\"time_end\":250}]") private String training_day_time; + @Schema(description = "Contact interne du club", example = "john.doe@test.com") private String contact_intern; + @Schema(description = "Adresse postale du club", example = "1 rue de l'exemple, 75000 Paris") private String address; + @Schema(description = "RNA du club", example = "W123456789") private String RNA; + @Schema(description = "Numéro SIRET du club", example = "12345678901234") private Long SIRET; + @Schema(description = "Numéro d'affiliation du club", example = "12345") private Long no_affiliation; + @Schema(description = "Club international", example = "false") private boolean international; + @Schema(description = "Une map contenant les contacts possible pout un club.") private HashMap contactMap = null; public static SimpleClub fromModel(ClubModel model) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClubList.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClubList.java index 09e1084..b42edb6 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClubList.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleClubList.java @@ -6,6 +6,7 @@ import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Getter @Setter @@ -13,10 +14,15 @@ import lombok.Setter; @NoArgsConstructor @RegisterForReflection public class SimpleClubList { + @Schema(description = "Identifiant du club", example = "1") Long id; + @Schema(description = "Nom du club", example = "Club de test") String name; + @Schema(description = "Pays du club", example = "FR") String country; + @Schema(description = "Numéro SIRET du club", example = "12345678901234") Long siret; + @Schema(description = "Numéro d'affiliation du club", example = "12345") Long no_affiliation; public static SimpleClubList fromModel(ClubModel model) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleLicence.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleLicence.java index 8714d1f..fad08b3 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleLicence.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleLicence.java @@ -5,16 +5,22 @@ import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Data @Builder @AllArgsConstructor @RegisterForReflection public class SimpleLicence { + @Schema(description = "ID de la licence", example = "1") Long id; + @Schema(description = "ID du membre", example = "1") Long membre; + @Schema(description = "Saison de la licence", example = "2024") int saison; + @Schema(description = "Nom du médecin sur certificat médical.", example = "M. Jean") String certificate; + @Schema(description = "Validation de la licence", example = "true") boolean validate; public static SimpleLicence fromModel(LicenceModel model) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleMembre.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleMembre.java index dc51d65..a7e228b 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleMembre.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleMembre.java @@ -10,6 +10,7 @@ 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; @@ -18,19 +19,33 @@ import java.util.Date; @AllArgsConstructor @RegisterForReflection public class SimpleMembre { + @Schema(description = "L'identifiant du membre.", example = "1") private long id; + @Schema(description = "L'identifiant long du membre (userID).", example = "e81d1d35-d897-421e-8086-6c5e74d13c6e") private String userId; + @Schema(description = "Le nom du membre.", example = "Dupont") private String lname = ""; + @Schema(description = "Le prénom du membre.", example = "Jean") private String fname = ""; + @Schema(description = "La catégorie du membre.", example = "SENIOR") private Categorie categorie; + @Schema(description = "Le club du membre.") private SimpleClubModel club; + @Schema(description = "Le genre du membre.", example = "H") private Genre genre; + @Schema(description = "Le numéro de licence du membre.", example = "12345") private int licence; + @Schema(description = "Le pays du membre.", example = "FR") private String country; + @Schema(description = "La date de naissance du membre.") private Date birth_date; + @Schema(description = "L'adresse e-mail du membre.", example = "jean.dupont@example.com") private String email; + @Schema(description = "Le rôle du membre dans l'association.", example = "MEMBRE") private RoleAsso role; + @Schema(description = "Le grade d'arbitrage du membre.", example = "N/A") private GradeArbitrage grade_arbitrage; + @Schema(hidden = true) private String url_photo; public static SimpleMembre fromModel(MembreModel model) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliation.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliation.java index 4f2b016..30d683f 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliation.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliation.java @@ -15,15 +15,25 @@ import java.util.List; @AllArgsConstructor @RegisterForReflection public class SimpleReqAffiliation { + @Schema(description = "Identifiant de la demande d'affiliation", example = "1") Long id; + @Schema(description = "Identifiant du club", example = "1") Long club; + @Schema(description = "Nom du club si club similar trouver (même siret)", example = "Association sportive") String club_name; + @Schema(description = "Identifiant du club affilié", example = "1") Long club_no_aff; + @Schema(description = "Nom du club demander", example = "Association sportive") String name; + @Schema(description = "Numéro SIRET de l'association", example = "12345678901234") long siret; + @Schema(description = "Numéro RNA de l'association", example = "W123456789") String RNA; + @Schema(description = "Adresse de l'association", example = "1 rue de l'exemple, 75000 Paris") String address; + @Schema(description = "Liste des membres pour la demande d'affiliation") List members; + @Schema(description = "Saison de l'affiliation", example = "2025") int saison; public static SimpleReqAffiliation fromModel(AffiliationRequestModel model) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliationResume.java b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliationResume.java index f3eb4ee..f99ace0 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliationResume.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/SimpleReqAffiliationResume.java @@ -5,15 +5,20 @@ import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Data @Builder @AllArgsConstructor @RegisterForReflection public class SimpleReqAffiliationResume { + @Schema(description = "L'identifiant de la demande d'affiliation.", example = "1") Long id; + @Schema(description = "Le nom de l'association.", example = "Association sportive") String name; + @Schema(description = "Le numéro SIRET de l'association.", example = "12345678901234") long siret; + @Schema(description = "La saison de l'affiliation.", example = "2025") int saison; public static SimpleReqAffiliationResume fromModel(AffiliationRequestModel model) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/UserInfo.java b/src/main/java/fr/titionfire/ffsaf/rest/data/UserInfo.java index cc8dc72..7ed707d 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/UserInfo.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/UserInfo.java @@ -5,6 +5,7 @@ import io.quarkus.security.identity.SecurityIdentity; import lombok.Builder; import lombok.Data; import org.eclipse.microprofile.jwt.JsonWebToken; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import java.util.ArrayList; import java.util.List; @@ -14,14 +15,23 @@ import java.util.Set; @Builder @RegisterForReflection public class UserInfo { + @Schema(description = "L'identifiant de l'utilisateur.", example = "1234567890") String id; + @Schema(description = "Le nom complet de l'utilisateur.", example = "John Doe") String name; + @Schema(description = "Le prénom de l'utilisateur.", example = "John") String givenName; + @Schema(description = "Le nom de famille de l'utilisateur.", example = "Doe") String familyName; + @Schema(description = "L'adresse e-mail de l'utilisateur.", example = "jihn.doe@test.fr") String email; + @Schema(description = "L'adresse e-mail de l'utilisateur a été vérifiée.", example = "true") boolean emailVerified; + @Schema(description = "La date d'expiration du token d'accès.") long expiration; + @Schema(description = "La liste des groupes de l'utilisateur.") List groups; + @Schema(description = "La liste des rôles de l'utilisateur.") Set roles; public static UserInfo makeUserInfo(JsonWebToken accessToken, SecurityIdentity securityIdentity) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/from/FullMemberForm.java b/src/main/java/fr/titionfire/ffsaf/rest/from/FullMemberForm.java index a94d3ab..e08aa2d 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/from/FullMemberForm.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/from/FullMemberForm.java @@ -7,48 +7,62 @@ import fr.titionfire.ffsaf.utils.RoleAsso; import jakarta.ws.rs.FormParam; import jakarta.ws.rs.core.MediaType; import lombok.Getter; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import org.jboss.resteasy.reactive.PartType; import java.util.Date; @Getter public class FullMemberForm { + @Schema(description = "L'identifiant du membre.", example = "1") @FormParam("id") private String id = null; + @Schema(description = "Le nom du membre.", example = "Dupont") @FormParam("lname") private String lname = null; + @Schema(description = "Le prénom du membre.", example = "Jean") @FormParam("fname") private String fname = null; + @Schema(description = "La catégorie du membre.", example = "SENIOR") @FormParam("categorie") private Categorie categorie = null; + @Schema(description = "L'identifiant du club du membre.", example = "1") @FormParam("club") private Long club = null; + @Schema(description = "Le genre du membre.", example = "H") @FormParam("genre") private Genre genre; + @Schema(description = "Le numéro de licence du membre.", example = "12345") @FormParam("licence") private int licence; + @Schema(description = "Le pays du membre.", example = "FR") @FormParam("country") private String country; + @Schema(description = "La date de naissance du membre.") @FormParam("birth_date") private Date birth_date = null; + @Schema(description = "L'adresse e-mail du membre.", example = "jean.dupont@example.com") @FormParam("email") private String email; + @Schema(description = "Le rôle du membre dans l'association.", example = "MEMBRE") @FormParam("role") private RoleAsso role; + @Schema(description = "Le grade d'arbitrage du membre.", example = "ASSESSEUR") @FormParam("grade_arbitrage") private GradeArbitrage grade_arbitrage; + @Schema(description = "La photo du membre.") @FormParam("photo_data") @PartType(MediaType.APPLICATION_OCTET_STREAM) private byte[] photo_data = new byte[0]; diff --git a/src/main/java/fr/titionfire/ffsaf/rest/from/LicenceForm.java b/src/main/java/fr/titionfire/ffsaf/rest/from/LicenceForm.java index d587e34..f6d8cc3 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/from/LicenceForm.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/from/LicenceForm.java @@ -3,22 +3,28 @@ package fr.titionfire.ffsaf.rest.from; import jakarta.ws.rs.FormParam; import lombok.Getter; import lombok.ToString; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Getter @ToString public class LicenceForm { @FormParam("id") + @Schema(description = "L'identifiant de la licence. (-1 si nouvelle demande de licence)", required = true) private long id; @FormParam("membre") + @Schema(description = "L'identifiant du membre.", example = "1", required = true) private long membre; @FormParam("saison") + @Schema(description = "La saison de la licence.", example = "2025", required = true) private int saison; @FormParam("certificate") + @Schema(description = "Nom du médecin sur certificat médical.", example = "M. Jean", required = true) private String certificate = null; @FormParam("validate") + @Schema(description = "Licence validée (seuls les admin pourrons enregistrer cette valeur)", example = "true", required = true) private boolean validate; } diff --git a/src/main/java/fr/titionfire/ffsaf/rest/from/MemberPermForm.java b/src/main/java/fr/titionfire/ffsaf/rest/from/MemberPermForm.java index a99832d..5b24b51 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/from/MemberPermForm.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/from/MemberPermForm.java @@ -3,19 +3,24 @@ package fr.titionfire.ffsaf.rest.from; import jakarta.ws.rs.FormParam; import lombok.Getter; import lombok.ToString; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @Getter @ToString public class MemberPermForm { + @Schema(description = "Indique si le membre est un administrateur de la fédération.", example = "false", required = true) @FormParam("federation_admin") private boolean federation_admin; + @Schema(description = "Indique si le membre est un utilisateur SAFCA.", example = "false", required = true) @FormParam("safca_user") private boolean safca_user; + @Schema(description = "Indique si le membre peut créer des compétitions sur SAFCA.", example = "false", required = true) @FormParam("safca_create_compet") private boolean safca_create_compet; + @Schema(description = "Indique si le membre est un super administrateur SAFCA.", example = "false", required = true) @FormParam("safca_super_admin") private boolean safca_super_admin; } diff --git a/src/main/java/fr/titionfire/ffsaf/rest/from/PartClubForm.java b/src/main/java/fr/titionfire/ffsaf/rest/from/PartClubForm.java index c4c68db..ac68cfb 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/from/PartClubForm.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/from/PartClubForm.java @@ -3,25 +3,32 @@ package fr.titionfire.ffsaf.rest.from; import jakarta.ws.rs.FormParam; import lombok.Getter; import lombok.ToString; +import org.eclipse.microprofile.openapi.annotations.media.Schema; @ToString @Getter public class PartClubForm { @FormParam("id") + @Schema(description = "Identifiant du club", example = "1", required = true) private String id = null; @FormParam("contact") + @Schema(description = "Les contacts du club", example = "{\"SITE\": \"www.test.com\", \"COURRIEL\": \"test@test.com\"}", required = true) private String contact = null; @FormParam("training_location") + @Schema(description = "Liste des lieux d'entraînement", example = "[{\"text\":\"addr 1\",\"lng\":2.24654,\"lat\":52.4868658},{\"text\":\"addr 2\",\"lng\":2.88654,\"lat\":52.7865456}]", required = true) private String training_location = null; @FormParam("training_day_time") + @Schema(description = "Liste des jours et horaires d'entraînement (jours 0-6, 0=>lundi) (temps en minute depuis 00:00, 122=>2h02)", example = "[{\"day\":0,\"time_start\":164,\"time_end\":240},{\"day\":3,\"time_start\":124,\"time_end\":250}]", required = true) private String training_day_time = null; @FormParam("contact_intern") + @Schema(description = "Contact interne du club", example = "john.doe@test.com") private String contact_intern = null; @FormParam("address") + @Schema(description = "Adresse postale du club", example = "1 rue de l'exemple, 75000 Paris", required = true) private String address = null; } diff --git a/src/main/java/fr/titionfire/ffsaf/utils/PageResult.java b/src/main/java/fr/titionfire/ffsaf/utils/PageResult.java index e8d2629..5d86ed1 100644 --- a/src/main/java/fr/titionfire/ffsaf/utils/PageResult.java +++ b/src/main/java/fr/titionfire/ffsaf/utils/PageResult.java @@ -2,6 +2,7 @@ package fr.titionfire.ffsaf.utils; import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.Data; +import org.eclipse.microprofile.openapi.annotations.media.Schema; import java.util.ArrayList; import java.util.List; @@ -9,9 +10,13 @@ import java.util.List; @Data @RegisterForReflection public class PageResult { + @Schema(description = "Le numéro de la page courante.", example = "1") private int page; + @Schema(description = "Le nombre d'éléments par page.", example = "10") private int page_size; + @Schema(description = "Le nombre total de pages.", example = "5") private int page_count; + @Schema(description = "Le nombre total d'éléments.", example = "47") private long result_count; private List result = new ArrayList<>(); }