feat: mePage
This commit is contained in:
@@ -2,6 +2,7 @@ package fr.titionfire.ffsaf.rest;
|
||||
|
||||
import fr.titionfire.ffsaf.data.model.MembreModel;
|
||||
import fr.titionfire.ffsaf.domain.service.MembreService;
|
||||
import fr.titionfire.ffsaf.rest.data.MeData;
|
||||
import fr.titionfire.ffsaf.rest.data.SimpleMembre;
|
||||
import fr.titionfire.ffsaf.rest.from.ClubMemberForm;
|
||||
import fr.titionfire.ffsaf.rest.from.FullMemberForm;
|
||||
@@ -18,17 +19,11 @@ import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.*;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import jodd.net.MimeTypes;
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
import org.eclipse.microprofile.jwt.JsonWebToken;
|
||||
|
||||
import java.io.*;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URLConnection;
|
||||
import java.nio.file.Files;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.Future;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@Authenticated
|
||||
@@ -198,6 +193,14 @@ public class CombEndpoints {
|
||||
return membreService.delete(id, idToken);
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("me")
|
||||
@Authenticated
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public Uni<MeData> getMe() {
|
||||
return membreService.getMembre(idToken.getSubject());
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("{id}/photo")
|
||||
@RolesAllowed({"federation_admin", "club_president", "club_secretaire", "club_respo_intra"})
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package fr.titionfire.ffsaf.rest;
|
||||
|
||||
import io.smallrye.mutiny.Uni;
|
||||
import jakarta.ws.rs.GET;
|
||||
import jakarta.ws.rs.Path;
|
||||
import jakarta.ws.rs.PathParam;
|
||||
import jakarta.ws.rs.Produces;
|
||||
import jakarta.ws.rs.core.MediaType;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
|
||||
@Path("api/countries")
|
||||
public class CountriesEndpoints {
|
||||
|
||||
@GET
|
||||
@Path("/{lang}/{code}")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public Uni<HashMap<String, String>> getCountries(@PathParam("lang") String lang, @PathParam("code") String code) {
|
||||
Locale locale = new Locale(lang, code);
|
||||
return Uni.createFrom().item(new HashMap<String, String>())
|
||||
.invoke(map -> {
|
||||
String[] locales = Locale.getISOCountries();
|
||||
for (String countryCode : locales) {
|
||||
if (countryCode.equals("AN"))
|
||||
continue;
|
||||
Locale obj = new Locale("", countryCode);
|
||||
map.put(countryCode, obj.getDisplayName(locale));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
45
src/main/java/fr/titionfire/ffsaf/rest/data/MeData.java
Normal file
45
src/main/java/fr/titionfire/ffsaf/rest/data/MeData.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package fr.titionfire.ffsaf.rest.data;
|
||||
|
||||
import fr.titionfire.ffsaf.data.model.MembreModel;
|
||||
import io.quarkus.runtime.annotations.RegisterForReflection;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ToString
|
||||
@NoArgsConstructor
|
||||
@RegisterForReflection
|
||||
public class MeData {
|
||||
private long id;
|
||||
private String lname = "";
|
||||
private String fname = "";
|
||||
private String categorie;
|
||||
private String club;
|
||||
private String genre;
|
||||
private int licence;
|
||||
private String country;
|
||||
private Date birth_date;
|
||||
private String email;
|
||||
private String role;
|
||||
private String grade_arbitrage;
|
||||
private List<SimpleLicence> licences;
|
||||
|
||||
public void setMembre(MembreModel membreModel) {
|
||||
this.id = membreModel.getId();
|
||||
this.lname = membreModel.getLname();
|
||||
this.fname = membreModel.getFname();
|
||||
this.categorie = membreModel.getCategorie().getName();
|
||||
this.club = membreModel.getClub().getName();
|
||||
this.genre = membreModel.getGenre().str;
|
||||
this.licence = membreModel.getLicence();
|
||||
this.country = membreModel.getCountry();
|
||||
this.birth_date = membreModel.getBirth_date();
|
||||
this.email = membreModel.getEmail();
|
||||
this.role = membreModel.getRole().str;
|
||||
this.grade_arbitrage = membreModel.getGrade_arbitrage().str;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user