From 9e9391465d2bddc8a618ea8dc85aa06a0ff8c97a Mon Sep 17 00:00:00 2001 From: Thibaut Valentin Date: Sat, 16 Aug 2025 11:14:41 +0200 Subject: [PATCH 1/2] feat: update competition perm --- .../ffsaf/domain/service/CompetitionService.java | 10 +++------- .../ffsaf/domain/service/KeycloakService.java | 1 + .../java/fr/titionfire/ffsaf/rest/CompteEndpoints.java | 4 ++-- .../fr/titionfire/ffsaf/rest/from/MemberPermForm.java | 6 +++--- src/main/webapp/src/pages/admin/member/PremForm.jsx | 8 ++++---- .../webapp/src/pages/competition/CompetitionList.jsx | 7 +++++-- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java index 57af452..87130e7 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java @@ -2,6 +2,7 @@ package fr.titionfire.ffsaf.domain.service; import fr.titionfire.ffsaf.data.model.CompetitionModel; import fr.titionfire.ffsaf.data.model.MembreModel; +import fr.titionfire.ffsaf.data.model.RegisterModel; import fr.titionfire.ffsaf.data.repository.*; import fr.titionfire.ffsaf.net2.ServerCustom; import fr.titionfire.ffsaf.net2.data.SimpleCompet; @@ -13,9 +14,7 @@ import fr.titionfire.ffsaf.rest.data.SimpleCompetData; import fr.titionfire.ffsaf.rest.data.SimpleRegisterComb; import fr.titionfire.ffsaf.rest.exception.DBadRequestException; import fr.titionfire.ffsaf.rest.exception.DForbiddenException; -import fr.titionfire.ffsaf.rest.exception.DNotFoundException; import fr.titionfire.ffsaf.utils.CompetitionSystem; -import fr.titionfire.ffsaf.data.model.RegisterModel; import fr.titionfire.ffsaf.utils.SecurityCtx; import fr.titionfire.ffsaf.utils.Utils; import io.quarkus.cache.Cache; @@ -144,11 +143,8 @@ public class CompetitionService { if (data.getId() == null) { return combRepository.find("userId = ?1", securityCtx.getSubject()).firstResult() .invoke(Unchecked.consumer(combModel -> { - if (combModel == null) - throw new DNotFoundException("Profile non trouvé"); - if (data.getSystem() == CompetitionSystem.SAFCA) - if (!securityCtx.getRoles().contains("safca_create_compet")) - throw new DForbiddenException("Vous ne pouvez pas créer de compétition SAFCA"); + if (!securityCtx.getRoles().contains("create_compet") && !securityCtx.getRoles().contains("federation_admin")) + throw new DForbiddenException("Vous ne pouvez pas créer de compétition"); })) .map(MembreModel::getClub) .chain(clubModel -> { diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java index 6e22109..5748b33 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/KeycloakService.java @@ -253,6 +253,7 @@ public class KeycloakService { return null; }) : Uni.createFrom().nullItem()) .invoke(user -> membreModel.setUserId(user.getId())) + .call(user -> updateRole(user.getId(), List.of("safca_user"), List.of())) .call(user -> enabled_email ? reactiveMailer.send( Mail.withText(user.getEmail(), "FFSAF - Creation de votre compte sur l'intranet", diff --git a/src/main/java/fr/titionfire/ffsaf/rest/CompteEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/CompteEndpoints.java index 4d08b15..a537a85 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/CompteEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/CompteEndpoints.java @@ -115,8 +115,8 @@ public class CompteEndpoints { else toRemove.add("safca_super_admin"); if (form.isSafca_user()) toAdd.add("safca_user"); else toRemove.add("safca_user"); - if (form.isSafca_create_compet()) toAdd.add("safca_create_compet"); - else toRemove.add("safca_create_compet"); + if (form.isCreate_compet()) toAdd.add("create_compet"); + else toRemove.add("create_compet"); return service.updateRole(id, toAdd, toRemove); } 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 5b24b51..e2bfd28 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/from/MemberPermForm.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/from/MemberPermForm.java @@ -16,9 +16,9 @@ public class MemberPermForm { @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 peut créer des compétitions.", example = "false", required = true) + @FormParam("create_compet") + private boolean create_compet; @Schema(description = "Indique si le membre est un super administrateur SAFCA.", example = "false", required = true) @FormParam("safca_super_admin") diff --git a/src/main/webapp/src/pages/admin/member/PremForm.jsx b/src/main/webapp/src/pages/admin/member/PremForm.jsx index 59525e9..cfb2295 100644 --- a/src/main/webapp/src/pages/admin/member/PremForm.jsx +++ b/src/main/webapp/src/pages/admin/member/PremForm.jsx @@ -14,7 +14,7 @@ export function PremForm({userData}) { const formData = new FormData(); formData.append("federation_admin", event.target.federation_admin?.checked); formData.append("safca_user", event.target.safca_user?.checked); - formData.append("safca_create_compet", event.target.safca_create_compet?.checked); + formData.append("create_compet", event.target.create_compet?.checked); formData.append("safca_super_admin", event.target.safca_super_admin?.checked); apiAxios.put(`/compte/${userData.userId}/roles`, formData, { @@ -68,6 +68,8 @@ function PremFormContent({userData}) { ? <> + : error && } @@ -76,12 +78,10 @@ function PremFormContent({userData}) { {data ? <> - : error && } -} \ No newline at end of file +} diff --git a/src/main/webapp/src/pages/competition/CompetitionList.jsx b/src/main/webapp/src/pages/competition/CompetitionList.jsx index 0f885f9..7f16ba1 100644 --- a/src/main/webapp/src/pages/competition/CompetitionList.jsx +++ b/src/main/webapp/src/pages/competition/CompetitionList.jsx @@ -3,6 +3,7 @@ import {useLoadingSwitcher} from "../../hooks/useLoading.jsx"; import {useFetch} from "../../hooks/useFetch.js"; import {AxiosError} from "../../components/AxiosError.jsx"; import {ThreeDots} from "react-loader-spinner"; +import {useAuth} from "../../hooks/useAuth.jsx"; export function CompetitionList() { @@ -26,11 +27,13 @@ export function CompetitionList() { } function MakeCentralPanel({data, navigate}) { + const {userinfo} = useAuth() return <> + {userinfo?.roles?.includes("create_compet") &&
-
+ }
{data.map(req => ())} @@ -58,4 +61,4 @@ function Def() {
  • -} \ No newline at end of file +} From dedae026763befc2468dda28564d3f06946331c8 Mon Sep 17 00:00:00 2001 From: Thibaut Valentin Date: Sun, 17 Aug 2025 22:07:12 +0200 Subject: [PATCH 2/2] feat: rework competition perm, naming, competition data --- .../titionfire/ffsaf/data/id/RegisterId.java | 23 +- .../{PouleModel.java => CategoryModel.java} | 8 +- .../ffsaf/data/model/CompetitionModel.java | 19 ++ .../ffsaf/data/model/MatchModel.java | 8 +- .../ffsaf/data/model/RegisterModel.java | 19 +- .../ffsaf/data/model/TreeModel.java | 4 +- ...epository.java => CategoryRepository.java} | 4 +- .../data/repository/RegisterRepository.java | 6 +- ...PouleService.java => CategoryService.java} | 72 +++--- .../domain/service/CompetPermService.java | 194 +++++++++++++--- .../domain/service/CompetitionService.java | 147 +++++++----- .../ffsaf/domain/service/MatchService.java | 28 +-- .../ffsaf/domain/service/TreeService.java | 4 - .../ffsaf/net2/request/SReqCompet.java | 2 +- ...oints.java => CategoryAdminEndpoints.java} | 26 +-- .../ffsaf/rest/CompetitionAdminEndpoints.java | 50 +++++ .../ffsaf/rest/CompetitionEndpoints.java | 16 +- ...ndpoints.java => MatchAdminEndpoints.java} | 12 +- .../{PouleData.java => CategoryData.java} | 8 +- ...uleFullData.java => CategoryFullData.java} | 2 +- .../ffsaf/rest/data/CompetitionData.java | 40 +++- .../titionfire/ffsaf/rest/data/MatchData.java | 8 +- .../titionfire/ffsaf/rest/data/TreeData.java | 4 +- .../ffsaf/utils/CompetitionSystem.java | 2 +- .../titionfire/ffsaf/utils/RegisterMode.java | 12 + .../titionfire/ffsaf/utils/SecurityCtx.java | 5 + src/main/webapp/public/img/HA-help-2.png | Bin 0 -> 67775 bytes src/main/webapp/public/img/HA-help-3.png | Bin 0 -> 121241 bytes src/main/webapp/public/img/HA-help-4.png | Bin 0 -> 104488 bytes src/main/webapp/src/components/ClubSelect.jsx | 6 +- .../src/pages/competition/CompetitionEdit.jsx | 210 ++++++++++++++++-- .../src/pages/competition/CompetitionList.jsx | 30 ++- .../src/pages/competition/CompetitionRoot.jsx | 7 +- .../src/pages/competition/CompetitionView.jsx | 72 ++++++ src/main/webapp/src/utils/Tools.js | 9 + 35 files changed, 791 insertions(+), 266 deletions(-) rename src/main/java/fr/titionfire/ffsaf/data/model/{PouleModel.java => CategoryModel.java} (82%) rename src/main/java/fr/titionfire/ffsaf/data/repository/{PouleRepository.java => CategoryRepository.java} (57%) rename src/main/java/fr/titionfire/ffsaf/domain/service/{PouleService.java => CategoryService.java} (81%) delete mode 100644 src/main/java/fr/titionfire/ffsaf/domain/service/TreeService.java rename src/main/java/fr/titionfire/ffsaf/rest/{PouleEndpoints.java => CategoryAdminEndpoints.java} (59%) create mode 100644 src/main/java/fr/titionfire/ffsaf/rest/CompetitionAdminEndpoints.java rename src/main/java/fr/titionfire/ffsaf/rest/{MatchEndpoints.java => MatchAdminEndpoints.java} (80%) rename src/main/java/fr/titionfire/ffsaf/rest/data/{PouleData.java => CategoryData.java} (58%) rename src/main/java/fr/titionfire/ffsaf/rest/data/{PouleFullData.java => CategoryFullData.java} (96%) create mode 100644 src/main/java/fr/titionfire/ffsaf/utils/RegisterMode.java create mode 100644 src/main/webapp/public/img/HA-help-2.png create mode 100644 src/main/webapp/public/img/HA-help-3.png create mode 100644 src/main/webapp/public/img/HA-help-4.png create mode 100644 src/main/webapp/src/pages/competition/CompetitionView.jsx diff --git a/src/main/java/fr/titionfire/ffsaf/data/id/RegisterId.java b/src/main/java/fr/titionfire/ffsaf/data/id/RegisterId.java index 29b4327..0afb07a 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/id/RegisterId.java +++ b/src/main/java/fr/titionfire/ffsaf/data/id/RegisterId.java @@ -1,20 +1,17 @@ package fr.titionfire.ffsaf.data.id; -import fr.titionfire.ffsaf.data.model.CompetitionModel; -import fr.titionfire.ffsaf.data.model.MembreModel; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import lombok.Data; +import jakarta.persistence.Embeddable; +import lombok.*; import java.io.Serializable; -@Data +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@EqualsAndHashCode +@Embeddable public class RegisterId implements Serializable { - @ManyToOne - @JoinColumn(name = "id_competition") - private CompetitionModel competition; - - @ManyToOne - @JoinColumn(name = "id_membre") - private MembreModel membre; + private Long competitionId; + private Long membreId; } diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/PouleModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/CategoryModel.java similarity index 82% rename from src/main/java/fr/titionfire/ffsaf/data/model/PouleModel.java rename to src/main/java/fr/titionfire/ffsaf/data/model/CategoryModel.java index f48bafb..d32dac0 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/PouleModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/CategoryModel.java @@ -17,8 +17,8 @@ import java.util.List; @RegisterForReflection @Entity -@Table(name = "poule") -public class PouleModel { +@Table(name = "category") +public class CategoryModel { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @@ -34,11 +34,11 @@ public class PouleModel { CompetitionModel compet; @OneToMany(fetch = FetchType.LAZY) - @JoinColumn(name = "id_poule", referencedColumnName = "id") + @JoinColumn(name = "id_category", referencedColumnName = "id") List matchs; @OneToMany(fetch = FetchType.LAZY) - @JoinColumn(name = "id_poule", referencedColumnName = "id") + @JoinColumn(name = "id_category", referencedColumnName = "id") List tree; Integer type; diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/CompetitionModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/CompetitionModel.java index adcbfd6..c5701d7 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/CompetitionModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/CompetitionModel.java @@ -1,6 +1,7 @@ package fr.titionfire.ffsaf.data.model; import fr.titionfire.ffsaf.utils.CompetitionSystem; +import fr.titionfire.ffsaf.utils.RegisterMode; import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.*; import lombok.AllArgsConstructor; @@ -21,6 +22,7 @@ import java.util.List; @Table(name = "compet") public class CompetitionModel { @Id + @Access(AccessType.PROPERTY) @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @@ -36,9 +38,26 @@ public class CompetitionModel { String uuid; Date date; + Date todate; + + @Column(columnDefinition = "TEXT") + String description; + String adresse; + + Date startRegister; + Date endRegister; + + RegisterMode registerMode; + + boolean publicVisible; @OneToMany(mappedBy = "competition", fetch = FetchType.LAZY, cascade = CascadeType.ALL) List insc; String owner; + + String data1; + String data2; + String data3; + String data4; } diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/MatchModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/MatchModel.java index ece2466..a20694e 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/MatchModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/MatchModel.java @@ -41,10 +41,10 @@ public class MatchModel { String c2_str = null; @ManyToOne(fetch = FetchType.EAGER) - @JoinColumn(name = "id_poule", referencedColumnName = "id") - PouleModel poule = null; + @JoinColumn(name = "id_category", referencedColumnName = "id") + CategoryModel category = null; - long poule_ord = 0; + long category_ord = 0; boolean isEnd = true; @@ -52,5 +52,5 @@ public class MatchModel { @CollectionTable(name = "score", joinColumns = @JoinColumn(name = "id_match")) List scores = new ArrayList<>(); - char groupe = 'A'; + char poule = 'A'; } diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/RegisterModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/RegisterModel.java index 2824563..57407c2 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/RegisterModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/RegisterModel.java @@ -17,14 +17,17 @@ import lombok.Setter; @Entity @Table(name = "register") -@IdClass(RegisterId.class) public class RegisterModel { - @Id + + @EmbeddedId + RegisterId id; + + @MapsId("competitionId") @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "id_competition") CompetitionModel competition; - @Id + @MapsId("membreId") @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "id_membre") MembreModel membre; @@ -37,4 +40,14 @@ public class RegisterModel { @JoinColumn(name = "club") ClubModel club = null; + public RegisterModel(CompetitionModel competition, MembreModel membre, Integer weight, int overCategory, + Categorie categorie, ClubModel club) { + this.id = new RegisterId(competition.getId(), membre.getId()); + this.competition = competition; + this.membre = membre; + this.weight = weight; + this.overCategory = overCategory; + this.categorie = categorie; + this.club = club; + } } diff --git a/src/main/java/fr/titionfire/ffsaf/data/model/TreeModel.java b/src/main/java/fr/titionfire/ffsaf/data/model/TreeModel.java index c4a701b..092b950 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/model/TreeModel.java +++ b/src/main/java/fr/titionfire/ffsaf/data/model/TreeModel.java @@ -20,8 +20,8 @@ public class TreeModel { @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; - @Column(name = "id_poule") - Long poule; + @Column(name = "id_category") + Long category; Integer level; diff --git a/src/main/java/fr/titionfire/ffsaf/data/repository/PouleRepository.java b/src/main/java/fr/titionfire/ffsaf/data/repository/CategoryRepository.java similarity index 57% rename from src/main/java/fr/titionfire/ffsaf/data/repository/PouleRepository.java rename to src/main/java/fr/titionfire/ffsaf/data/repository/CategoryRepository.java index 7535bd3..8271b3b 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/repository/PouleRepository.java +++ b/src/main/java/fr/titionfire/ffsaf/data/repository/CategoryRepository.java @@ -1,9 +1,9 @@ package fr.titionfire.ffsaf.data.repository; -import fr.titionfire.ffsaf.data.model.PouleModel; +import fr.titionfire.ffsaf.data.model.CategoryModel; import io.quarkus.hibernate.reactive.panache.PanacheRepositoryBase; import jakarta.enterprise.context.ApplicationScoped; @ApplicationScoped -public class PouleRepository implements PanacheRepositoryBase { +public class CategoryRepository implements PanacheRepositoryBase { } diff --git a/src/main/java/fr/titionfire/ffsaf/data/repository/RegisterRepository.java b/src/main/java/fr/titionfire/ffsaf/data/repository/RegisterRepository.java index 8fe5ce9..01260f3 100644 --- a/src/main/java/fr/titionfire/ffsaf/data/repository/RegisterRepository.java +++ b/src/main/java/fr/titionfire/ffsaf/data/repository/RegisterRepository.java @@ -1,9 +1,11 @@ package fr.titionfire.ffsaf.data.repository; +import fr.titionfire.ffsaf.data.id.RegisterId; import fr.titionfire.ffsaf.data.model.RegisterModel; -import io.quarkus.hibernate.reactive.panache.PanacheRepository; +import io.quarkus.hibernate.reactive.panache.PanacheRepositoryBase; import jakarta.enterprise.context.ApplicationScoped; @ApplicationScoped -public class RegisterRepository implements PanacheRepository { +public class RegisterRepository implements PanacheRepositoryBase { + } diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/PouleService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/CategoryService.java similarity index 81% rename from src/main/java/fr/titionfire/ffsaf/domain/service/PouleService.java rename to src/main/java/fr/titionfire/ffsaf/domain/service/CategoryService.java index bcbaacc..19cbee0 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/PouleService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/CategoryService.java @@ -2,11 +2,11 @@ package fr.titionfire.ffsaf.domain.service; import fr.titionfire.ffsaf.data.model.MatchModel; import fr.titionfire.ffsaf.data.model.MembreModel; -import fr.titionfire.ffsaf.data.model.PouleModel; +import fr.titionfire.ffsaf.data.model.CategoryModel; import fr.titionfire.ffsaf.data.model.TreeModel; import fr.titionfire.ffsaf.data.repository.*; -import fr.titionfire.ffsaf.rest.data.PouleData; -import fr.titionfire.ffsaf.rest.data.PouleFullData; +import fr.titionfire.ffsaf.rest.data.CategoryData; +import fr.titionfire.ffsaf.rest.data.CategoryFullData; import fr.titionfire.ffsaf.rest.data.TreeData; import fr.titionfire.ffsaf.utils.CompetitionSystem; import fr.titionfire.ffsaf.utils.SecurityCtx; @@ -25,10 +25,10 @@ import java.util.stream.Stream; @WithSession @ApplicationScoped -public class PouleService { +public class CategoryService { @Inject - PouleRepository repository; + CategoryRepository repository; @Inject CompetitionRepository competRepository; @@ -45,35 +45,21 @@ public class PouleService { @Inject CompetPermService permService; - public Uni getById(SecurityCtx securityCtx, CompetitionSystem system, Long id) { + public Uni getByIdAdmin(SecurityCtx securityCtx, CompetitionSystem system, Long id) { return repository.find("systemId = ?1 AND system = ?2", id, system) .firstResult() .onItem().ifNull().failWith(() -> new RuntimeException("Poule not found")) - .call(data -> permService.hasViewPerm(securityCtx, data.getCompet())) - .map(PouleData::fromModel); + .call(data -> permService.hasAdminViewPerm(securityCtx, data.getCompet())) + .map(CategoryData::fromModel); } - public Uni> getAll(SecurityCtx securityCtx, CompetitionSystem system) { - return repository.list("system = ?1", system) - .chain(o -> - permService.getAllHaveAccess(securityCtx.getSubject()) - .chain(map -> Uni.createFrom().item(o.stream() - .filter(p -> { - if (securityCtx.getSubject().equals(p.getCompet().getOwner())) - return true; - if (p.getSystem() == CompetitionSystem.SAFCA) { - if (map.containsKey(p.getCompet().getId())) - return map.get(p.getId()).equals("admin"); - return securityCtx.roleHas("federation_admin") - || securityCtx.roleHas("safca_super_admin"); - } - return securityCtx.roleHas("federation_admin"); - }) - .map(PouleData::fromModel).toList()) - )); + public Uni> getAllAdmin(SecurityCtx securityCtx, CompetitionSystem system) { + return permService.getAllHaveAdminAccess(securityCtx) + .chain(ids -> repository.list("system = ?1 AND compet.id IN ?2", system, ids)) + .map(pouleModels -> pouleModels.stream().map(CategoryData::fromModel).toList()); } - public Uni addOrUpdate(SecurityCtx securityCtx, CompetitionSystem system, PouleData data) { + public Uni addOrUpdate(SecurityCtx securityCtx, CompetitionSystem system, CategoryData data) { return repository.find("systemId = ?1 AND system = ?2", data.getId(), system).firstResult() .chain(o -> { if (o == null) { @@ -81,7 +67,7 @@ public class PouleService { .onItem().ifNull().failWith(() -> new RuntimeException("Competition not found")) .call(o2 -> permService.hasEditPerm(securityCtx, o2)) .chain(competitionModel -> { - PouleModel model = new PouleModel(); + CategoryModel model = new CategoryModel(); model.setId(null); model.setSystem(system); @@ -99,7 +85,7 @@ public class PouleService { o.setType(data.getType()); return Panache.withTransaction(() -> repository.persist(o)); } - }).map(PouleData::fromModel); + }).map(CategoryData::fromModel); } private MatchModel findMatch(List matchModelList, Long id) { @@ -128,7 +114,7 @@ public class PouleService { } } - private Uni persisteTree(TreeData data, List node, PouleModel poule, + private Uni persisteTree(TreeData data, List node, CategoryModel poule, List matchModelList) { TreeModel mm = findNode(node, data.getMatch()); if (mm == null) { @@ -136,7 +122,7 @@ public class PouleService { mm.setId(null); } mm.setLevel(data.getLevel()); - mm.setPoule(poule.getId()); + mm.setCategory(poule.getId()); mm.setMatch(findMatch(matchModelList, data.getMatch())); return Uni.createFrom().item(mm) @@ -147,7 +133,7 @@ public class PouleService { .chain(o -> Panache.withTransaction(() -> treeRepository.persist(o))); } - public Uni syncPoule(SecurityCtx securityCtx, CompetitionSystem system, PouleFullData data) { + public Uni syncCategory(SecurityCtx securityCtx, CompetitionSystem system, CategoryFullData data) { return repository.find("systemId = ?1 AND system = ?2", data.getId(), system) .firstResult() .onItem().ifNotNull().call(o2 -> permService.hasEditPerm(securityCtx, o2.getCompet())) @@ -156,7 +142,7 @@ public class PouleService { .onItem().ifNull().failWith(() -> new RuntimeException("Compet not found")) .call(o -> permService.hasEditPerm(securityCtx, o)) .map(o -> { - PouleModel model = new PouleModel(); + CategoryModel model = new CategoryModel(); model.setId(null); model.setSystem(system); model.setSystemId(data.getId()); @@ -172,10 +158,10 @@ public class PouleService { o.setType(data.getType()); WorkData workData = new WorkData(); - workData.poule = o; + workData.category = o; return workData; }) - .call(o -> Panache.withTransaction(() -> repository.persist(o.poule))) + .call(o -> Panache.withTransaction(() -> repository.persist(o.category))) .call(o -> (data.getMatches() == null || data.getMatches().isEmpty()) ? Uni.createFrom().nullItem() : Uni.createFrom() .item(data.getMatches().stream().flatMap(m -> Stream.of(m.getC1_id(), m.getC2_id()) @@ -187,7 +173,7 @@ public class PouleService { ) .invoke(in -> { ArrayList node = new ArrayList<>(); - for (TreeModel treeModel : in.poule.getTree()) + for (TreeModel treeModel : in.category.getTree()) flatTreeChild(treeModel, node); ArrayList new_node = new ArrayList<>(); @@ -204,7 +190,7 @@ public class PouleService { n.setLeft(null); }); - in.toRmMatch = in.poule.getMatchs().stream() + in.toRmMatch = in.category.getMatchs().stream() .filter(m -> data.getMatches().stream().noneMatch(m2 -> m2.getId().equals(m.getSystemId()))) .map(MatchModel::getId).toList(); }) @@ -219,21 +205,21 @@ public class PouleService { .call(in -> data.getMatches().isEmpty() ? Uni.createFrom().nullItem() : Uni.join().all( data.getMatches().stream().map(m -> { - MatchModel mm = findMatch(in.poule.getMatchs(), m.getId()); + MatchModel mm = findMatch(in.category.getMatchs(), m.getId()); if (mm == null) { mm = new MatchModel(); mm.setId(null); mm.setSystem(system); mm.setSystemId(m.getId()); } - mm.setPoule(in.poule); - mm.setPoule_ord(m.getPoule_ord()); + mm.setCategory(in.category); + mm.setCategory_ord(m.getCategory_ord()); mm.setC1_str(m.getC1_str()); mm.setC2_str(m.getC2_str()); mm.setC1_id(in.membres.getOrDefault(m.getC1_id(), null)); mm.setC2_id(in.membres.getOrDefault(m.getC2_id(), null)); mm.setEnd(m.isEnd()); - mm.setGroupe(m.getGroupe()); + mm.setPoule(m.getPoule()); mm.getScores().clear(); mm.getScores().addAll(m.getScores()); @@ -244,13 +230,13 @@ public class PouleService { .andCollectFailures()) .call(in -> data.getTrees().isEmpty() ? Uni.createFrom().nullItem() : Uni.join().all(data.getTrees().stream() - .map(m -> persisteTree(m, in.poule.getTree(), in.poule, in.match)).toList()) + .map(m -> persisteTree(m, in.category.getTree(), in.category, in.match)).toList()) .andCollectFailures()) .map(__ -> "OK"); } private static class WorkData { - PouleModel poule; + CategoryModel category; HashMap membres = new HashMap<>(); List match = new ArrayList<>(); List toRmMatch; diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetPermService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetPermService.java index 3064021..5e3ba1e 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetPermService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetPermService.java @@ -2,11 +2,13 @@ package fr.titionfire.ffsaf.domain.service; import fr.titionfire.ffsaf.data.model.CompetitionModel; import fr.titionfire.ffsaf.data.repository.CompetitionRepository; +import fr.titionfire.ffsaf.data.repository.RegisterRepository; import fr.titionfire.ffsaf.net2.ServerCustom; import fr.titionfire.ffsaf.net2.data.SimpleCompet; import fr.titionfire.ffsaf.net2.request.SReqCompet; import fr.titionfire.ffsaf.rest.exception.DForbiddenException; import fr.titionfire.ffsaf.utils.CompetitionSystem; +import fr.titionfire.ffsaf.utils.RegisterMode; import fr.titionfire.ffsaf.utils.SecurityCtx; import io.quarkus.cache.Cache; import io.quarkus.cache.CacheName; @@ -15,7 +17,10 @@ import io.smallrye.mutiny.unchecked.Unchecked; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; +import java.time.Duration; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; @@ -28,6 +33,9 @@ public class CompetPermService { @Inject ServerCustom serverCustom; + @Inject + CompetitionRepository competitionRepository; + @Inject @CacheName("safca-config") Cache cache; @@ -37,13 +45,16 @@ public class CompetPermService { Cache cacheAccess; @Inject - CompetitionRepository competitionRepository; + @CacheName("have-access") + Cache cacheNoneAccess; + @Inject + RegisterRepository registerRepository; + public Uni getSafcaConfig(long id) { return cache.get(id, k -> { CompletableFuture f = new CompletableFuture<>(); SReqCompet.getConfig(serverCustom.clients, id, f); - System.out.println("get config"); try { return f.get(1500, TimeUnit.MILLISECONDS); } catch (InterruptedException | ExecutionException | TimeoutException e) { @@ -52,61 +63,172 @@ public class CompetPermService { }); } - public Uni> getAllHaveAccess(String subject) { - return cacheAccess.get(subject, k -> { - CompletableFuture> f = new CompletableFuture<>(); - SReqCompet.getAllHaveAccess(serverCustom.clients, subject, f); - System.out.println("get all have access"); - try { - return f.get(1500, TimeUnit.MILLISECONDS); - } catch (InterruptedException | ExecutionException | TimeoutException e) { - throw new RuntimeException(e); - } - }); + public Uni> getAllHaveAdminAccess(SecurityCtx securityCtx) { + ArrayList out = new ArrayList<>(); + + Uni> safca = cacheAccess.getAsync(securityCtx.getSubject(), + k -> competitionRepository.list("system = ?1", CompetitionSystem.SAFCA) + .chain(competitionModels -> { + CompletableFuture> f = new CompletableFuture<>(); + SReqCompet.getAllHaveAccess(serverCustom.clients, securityCtx.getSubject(), f); + return Uni.createFrom().future(f, Duration.ofMillis(1500)) + .map(map_ -> { + HashMap map = new HashMap<>(); + map_.forEach((key, value) -> map.put(Long.parseLong(key), value)); + + for (CompetitionModel model : competitionModels) { + if (model.getOwner().equals(securityCtx.getSubject())) + map.putIfAbsent(model.getId(), "owner"); + else if (securityCtx.roleHas("federation_admin") + || securityCtx.roleHas("safca_super_admin")) + map.putIfAbsent(model.getId(), "admin"); + } + return map; + }); + })) + .onFailure().call(throwable -> cacheAccess.invalidate(securityCtx.getSubject())); + + Uni> none = cacheNoneAccess.getAsync(securityCtx.getSubject(), + k -> competitionRepository.list("system = ?1", CompetitionSystem.NONE) + .map(competitionModels -> { + HashMap map = new HashMap<>(); + for (CompetitionModel model : competitionModels) { + if (model.getOwner().equals(securityCtx.getSubject())) + map.putIfAbsent(model.getId(), "owner"); + else if (securityCtx.roleHas("federation_admin")) + map.putIfAbsent(model.getId(), "admin"); + else if (securityCtx.isInClubGroup(model.getClub().getId()) && (securityCtx.roleHas( + "club_president") + || securityCtx.roleHas("club_respo_intra") || securityCtx.roleHas( + "club_secretaire") + || securityCtx.roleHas("club_tresorier"))) + map.putIfAbsent(model.getId(), "admin"); + } + return map; + })); + + return safca.invoke(map -> + map.forEach((k, v) -> { + if (v.equals("owner") || v.equals("admin")) + out.add(k); + }) + ) + .call(__ -> none.invoke(map -> + map.forEach((k, v) -> { + if (v.equals("owner") || v.equals("admin")) + out.add(k); + }) + )) + .map(__ -> out.stream().distinct().toList()); } + + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has view perm + */ public Uni hasViewPerm(SecurityCtx securityCtx, CompetitionModel competitionModel) { return hasViewPerm(securityCtx, Uni.createFrom().item(competitionModel)); } + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has view perm + */ public Uni hasViewPerm(SecurityCtx securityCtx, long id) { return hasViewPerm(securityCtx, competitionRepository.findById(id)); } - private Uni hasViewPerm(SecurityCtx securityCtx, Uni in) { - return in.call(o -> ( - securityCtx.getSubject().equals(o.getOwner()) || securityCtx.roleHas("federation_admin")) ? - Uni.createFrom().nullItem() - : - o.getSystem() == CompetitionSystem.SAFCA ? - hasSafcaViewPerm(securityCtx, o.getId()) - : Uni.createFrom().nullItem().invoke(Unchecked.consumer(__ -> { - if (!securityCtx.isInClubGroup(o.getClub().getId())) - throw new DForbiddenException(); - }) - )); + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has view perm + */ + public Uni hasViewPerm(SecurityCtx securityCtx, Uni in) { + return in.call(cm -> (cm.isPublicVisible() || cm.getRegisterMode() == RegisterMode.FREE + || cm.getRegisterMode() == RegisterMode.HELLOASSO + || (cm.getRegisterMode() == RegisterMode.CLUB_ADMIN && securityCtx.isClubAdmin())) ? + Uni.createFrom().nullItem() : + hasAdminViewPerm(securityCtx, cm).onFailure() + .recoverWithUni(__ -> + registerRepository.count("membre.userId = ?1 AND competition = ?2", + securityCtx.getSubject(), cm).map(Unchecked.function(c -> { + if (c == 0) + throw new DForbiddenException(); + return cm; + })) + )); } + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has admin view perm + */ + public Uni hasAdminViewPerm(SecurityCtx securityCtx, CompetitionModel competitionModel) { + return hasAdminViewPerm(securityCtx, Uni.createFrom().item(competitionModel)); + } + + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has admin view perm + */ + public Uni hasAdminViewPerm(SecurityCtx securityCtx, long id) { + return hasAdminViewPerm(securityCtx, competitionRepository.findById(id)); + } + + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has admin view perm + */ + public Uni hasAdminViewPerm(SecurityCtx securityCtx, Uni in) { + return in.call(Unchecked.function(o -> { + if (securityCtx.getSubject().equals(o.getOwner()) || securityCtx.roleHas("federation_admin")) + return Uni.createFrom().nullItem(); + + if (o.getSystem() == CompetitionSystem.SAFCA) + return hasSafcaViewPerm(securityCtx, o.getId()); + + if (!securityCtx.isInClubGroup(o.getClub().getId())) // Only membre club pass here + throw new DForbiddenException(); + + if (o.getSystem() == CompetitionSystem.NONE) + if (securityCtx.roleHas("club_president") || securityCtx.roleHas("club_respo_intra") + || securityCtx.roleHas("club_secretaire") || securityCtx.roleHas("club_tresorier")) + return Uni.createFrom().nullItem(); + + throw new DForbiddenException(); + }) + ); + } + + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has edit perm + */ public Uni hasEditPerm(SecurityCtx securityCtx, CompetitionModel competitionModel) { return hasEditPerm(securityCtx, Uni.createFrom().item(competitionModel)); } + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has edit perm + */ public Uni hasEditPerm(SecurityCtx securityCtx, long id) { return hasEditPerm(securityCtx, competitionRepository.findById(id)); } + /** + * @return {@link fr.titionfire.ffsaf.data.model.CompetitionModel} if securityCtx has edit perm + */ public Uni hasEditPerm(SecurityCtx securityCtx, Uni in) { - return in.call(o -> ( - securityCtx.getSubject().equals(o.getOwner()) || securityCtx.roleHas("federation_admin")) ? - Uni.createFrom().nullItem() - : - o.getSystem() == CompetitionSystem.SAFCA ? - hasSafcaEditPerm(securityCtx, o.getId()) - : Uni.createFrom().nullItem().invoke(Unchecked.consumer(__ -> { - if (!securityCtx.isInClubGroup(o.getClub().getId())) - throw new DForbiddenException(); - }) - )); + return in.call(Unchecked.function(o -> { + if (securityCtx.getSubject().equals(o.getOwner()) || securityCtx.roleHas("federation_admin")) + return Uni.createFrom().nullItem(); + + if (o.getSystem() == CompetitionSystem.SAFCA) + return hasSafcaEditPerm(securityCtx, o.getId()); + + if (!securityCtx.isInClubGroup(o.getClub().getId())) // Only membre club pass here + throw new DForbiddenException(); + + if (o.getSystem() == CompetitionSystem.NONE) + if (securityCtx.isClubAdmin()) + return Uni.createFrom().nullItem(); + + throw new DForbiddenException(); + }) + ); } private Uni hasSafcaViewPerm(SecurityCtx securityCtx, long id) { diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java index 87130e7..f1f6751 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/CompetitionService.java @@ -15,6 +15,7 @@ import fr.titionfire.ffsaf.rest.data.SimpleRegisterComb; import fr.titionfire.ffsaf.rest.exception.DBadRequestException; import fr.titionfire.ffsaf.rest.exception.DForbiddenException; import fr.titionfire.ffsaf.utils.CompetitionSystem; +import fr.titionfire.ffsaf.utils.RegisterMode; import fr.titionfire.ffsaf.utils.SecurityCtx; import fr.titionfire.ffsaf.utils.Utils; import io.quarkus.cache.Cache; @@ -41,11 +42,14 @@ public class CompetitionService { CompetitionRepository repository; @Inject - PouleRepository pouleRepository; + CategoryRepository categoryRepository; @Inject MatchRepository matchRepository; + @Inject + RegisterRepository registerRepository; + @Inject KeycloakService keycloakService; @@ -68,16 +72,23 @@ public class CompetitionService { @Inject @CacheName("safca-have-access") Cache cacheAccess; + @Inject - RegisterRepository registerRepository; + @CacheName("have-access") + Cache cacheNoneAccess; public Uni getById(SecurityCtx securityCtx, Long id) { + return permService.hasViewPerm(securityCtx, id).map(CompetitionData::fromModelLight); + } + + public Uni getByIdAdmin(SecurityCtx securityCtx, Long id) { if (id == 0) { return Uni.createFrom() - .item(new CompetitionData(null, "", "", new Date(), CompetitionSystem.SAFCA, - null, "", "", null)); + .item(new CompetitionData(null, "", "", "", "", new Date(), new Date(), + CompetitionSystem.NONE, RegisterMode.FREE, new Date(), new Date(), true, + null, "", "", null, true, "", "", "", "")); } - return permService.hasViewPerm(securityCtx, id) + return permService.hasAdminViewPerm(securityCtx, id) .chain(competitionModel -> Mutiny.fetch(competitionModel.getInsc()) .map(insc -> CompetitionData.fromModel(competitionModel).addInsc(insc))) .chain(data -> @@ -90,60 +101,52 @@ public class CompetitionService { } public Uni> getAll(SecurityCtx securityCtx) { - return repository.listAll() - .chain(o -> - permService.getAllHaveAccess(securityCtx.getSubject()) - .chain(map -> Uni.createFrom().item(o.stream() - .filter(p -> { - if (securityCtx.getSubject().equals(p.getOwner())) - return true; - if (p.getSystem() == CompetitionSystem.SAFCA) { - if (map.containsKey(p.getId())) - return map.get(p.getId()).equals("admin"); - return securityCtx.roleHas("federation_admin") - || securityCtx.roleHas("safca_super_admin"); + List out = new ArrayList<>(); + return permService.getAllHaveAdminAccess(securityCtx) + .call(ids -> repository.list("id IN ?1", ids) + .invoke(cm -> { + out.addAll(cm.stream().map(CompetitionData::fromModelLight).toList()); + out.forEach(competition -> competition.setCanEdit(true)); + })) + .call(ids -> + repository.list("id NOT IN ?1 AND (publicVisible = TRUE OR registerMode IN ?2)", ids, + securityCtx.isClubAdmin() ? List.of(RegisterMode.FREE, RegisterMode.HELLOASSO, + RegisterMode.CLUB_ADMIN) : List.of(RegisterMode.FREE, RegisterMode.HELLOASSO)) + .invoke(cm -> out.addAll(cm.stream().map(CompetitionData::fromModelLight).toList())) + .call(cm -> registerRepository.list( + "membre.userId = ?1 AND competition.id NOT IN ?2 AND competition NOT IN ?3", + securityCtx.getSubject(), ids, cm) + .chain(registerModels -> { + Uni uni = Uni.createFrom().nullItem(); + for (RegisterModel registerModel : registerModels) { + uni = uni.call(__ -> Mutiny.fetch(registerModel.getCompetition()) + .invoke(cm2 -> out.add(CompetitionData.fromModelLight(cm2)))); } - return securityCtx.roleHas("federation_admin"); + return uni; }) - .map(CompetitionData::fromModel).toList()) - )); + )) + .map(__ -> out); } - public Uni> getAllSystem(SecurityCtx securityCtx, - CompetitionSystem system) { - if (system == CompetitionSystem.SAFCA) { - return permService.getAllHaveAccess(securityCtx.getSubject()) - .chain(map -> - repository.list("system = ?1", system) - .map(data -> data.stream() - .filter(p -> { - if (securityCtx.getSubject().equals(p.getOwner())) - return true; - if (map.containsKey(p.getId())) - return map.get(p.getId()).equals("admin"); - return securityCtx.roleHas("federation_admin") - || securityCtx.roleHas("safca_super_admin"); - }) - .map(CompetitionData::fromModel).toList()) - ); - } + public Uni> getAllAdmin(SecurityCtx securityCtx) { + return permService.getAllHaveAdminAccess(securityCtx) + .chain(ids -> repository.list("id IN ?1", ids)) + .map(pouleModels -> pouleModels.stream().map(CompetitionData::fromModel).toList()); + } - return repository.list("system = ?1", system) - .map(data -> data.stream() - .filter(p -> { - if (securityCtx.getSubject().equals(p.getOwner())) - return true; - return securityCtx.roleHas("federation_admin") || - securityCtx.isInClubGroup(p.getClub().getId()); - }) - .map(CompetitionData::fromModel).toList()); + public Uni> getAllSystemAdmin(SecurityCtx securityCtx, + CompetitionSystem system) { + return permService.getAllHaveAdminAccess(securityCtx) + .chain(ids -> repository.list("system = ?1 AND id IN ?2", system, ids)) + .map(pouleModels -> pouleModels.stream().map(CompetitionData::fromModel).toList()); } public Uni addOrUpdate(SecurityCtx securityCtx, CompetitionData data) { if (data.getId() == null) { return combRepository.find("userId = ?1", securityCtx.getSubject()).firstResult() .invoke(Unchecked.consumer(combModel -> { - if (!securityCtx.getRoles().contains("create_compet") && !securityCtx.getRoles().contains("federation_admin")) + if (!securityCtx.getRoles().contains("create_compet") && !securityCtx.getRoles() + .contains("federation_admin")) throw new DForbiddenException("Vous ne pouvez pas créer de compétition"); })) .map(MembreModel::getClub) @@ -153,22 +156,24 @@ public class CompetitionService { model.setId(null); model.setSystem(data.getSystem()); model.setClub(clubModel); - model.setDate(data.getDate()); model.setInsc(new ArrayList<>()); model.setUuid(UUID.randomUUID().toString()); - model.setName(data.getName()); model.setOwner(securityCtx.getSubject()); + copyData(data, model); + return Panache.withTransaction(() -> repository.persist(model)); }).map(CompetitionData::fromModel) - .call(__ -> cacheAccess.invalidate(securityCtx.getSubject())); + .call(c -> (c.getSystem() == CompetitionSystem.SAFCA) ? cacheAccess.invalidate( + securityCtx.getSubject()) : Uni.createFrom().nullItem()) + .call(c -> (c.getSystem() == CompetitionSystem.NONE) ? cacheNoneAccess.invalidate( + securityCtx.getSubject()) : Uni.createFrom().nullItem()); } else { return permService.hasEditPerm(securityCtx, data.getId()) .chain(model -> { - model.setDate(data.getDate()); - model.setName(data.getName()); + copyData(data, model); - return vertx.getOrCreateContext().executeBlocking(() -> + return vertx.getOrCreateContext().executeBlocking(() -> // Update owner keycloakService.getUser(data.getOwner()).map(UserRepresentation::getId).orElse(null)) .invoke(Unchecked.consumer(newOwner -> { if (newOwner == null) @@ -183,10 +188,29 @@ public class CompetitionService { })) .chain(__ -> Panache.withTransaction(() -> repository.persist(model))); }).map(CompetitionData::fromModel) - .call(__ -> cacheAccess.invalidate(securityCtx.getSubject())); + .call(c -> (c.getSystem() == CompetitionSystem.SAFCA) ? cacheAccess.invalidate( + securityCtx.getSubject()) : Uni.createFrom().nullItem()) + .call(c -> (c.getSystem() == CompetitionSystem.NONE) ? cacheNoneAccess.invalidate( + securityCtx.getSubject()) : Uni.createFrom().nullItem()); } } + private void copyData(CompetitionData data, CompetitionModel model) { + model.setName(data.getName()); + model.setAdresse(data.getAdresse()); + model.setDescription(data.getDescription()); + model.setDate(data.getDate()); + model.setTodate(data.getDate()); + model.setPublicVisible(data.isPublicVisible()); + model.setStartRegister(data.getStartRegister()); + model.setEndRegister(data.getEndRegister()); + model.setRegisterMode(data.getRegisterMode()); + model.setData1(data.getData1()); + model.setData2(data.getData2()); + model.setData3(data.getData3()); + model.setData4(data.getData4()); + } + public Uni> getRegister(SecurityCtx securityCtx, Long id) { return permService.hasEditPerm(securityCtx, id) .chain(c -> Mutiny.fetch(c.getInsc())) @@ -218,7 +242,7 @@ public class CompetitionService { r.setClub(combModel.getClub()); } } else { - r = new RegisterModel(c ,combModel, data.getWeight(), data.getOverCategory(), + r = new RegisterModel(c, combModel, data.getWeight(), data.getOverCategory(), (combModel.getBirth_date() == null) ? combModel.getCategorie() : Utils.getCategoryFormBirthDate(combModel.getBirth_date(), c.getDate()), @@ -248,7 +272,8 @@ public class CompetitionService { } else { if (fname == null || lname == null) return Uni.createFrom().failure(new DBadRequestException("Nom et prénom requis")); - return combRepository.find("unaccent(lname) ILIKE unaccent(?1) AND unaccent(fname) ILIKE unaccent(?2)", lname, + return combRepository.find("unaccent(lname) ILIKE unaccent(?1) AND unaccent(fname) ILIKE unaccent(?2)", + lname, fname).firstResult() .invoke(Unchecked.consumer(combModel -> { if (combModel == null) @@ -261,11 +286,11 @@ public class CompetitionService { return permService.hasEditPerm(securityCtx, id) .chain(c -> registerRepository.delete("competition = ?1 AND membre.id = ?2", c, combId) .invoke(Unchecked.consumer(l -> { - if (l != 0){ + if (l != 0) { if (c.getSystem() == CompetitionSystem.SAFCA) { SReqRegister.sendRmIfNeed(serverCustom.clients, combId, id); } - }else{ + } else { throw new DBadRequestException("Combattant non inscrit"); } })) @@ -277,7 +302,7 @@ public class CompetitionService { if (!(securityCtx.getSubject().equals(c.getOwner()) || securityCtx.roleHas("federation_admin"))) throw new DForbiddenException(); })) - .call(competitionModel -> pouleRepository.list("compet = ?1", competitionModel) + .call(competitionModel -> categoryRepository.list("compet = ?1", competitionModel) .call(pouleModels -> pouleModels.isEmpty() ? Uni.createFrom().nullItem() : Uni.join().all(pouleModels.stream() .map(pouleModel -> Panache.withTransaction( @@ -285,7 +310,7 @@ public class CompetitionService { .toList()) .andCollectFailures())) .call(competitionModel -> Panache.withTransaction( - () -> pouleRepository.delete("compet = ?1", competitionModel))) + () -> categoryRepository.delete("compet = ?1", competitionModel))) .chain(model -> Panache.withTransaction(() -> repository.delete("id", model.getId()))) .invoke(o -> SReqCompet.rmCompet(serverCustom.clients, id)) .call(__ -> cache.invalidate(id)); diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/MatchService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/MatchService.java index d7e8b2a..279d43d 100644 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/MatchService.java +++ b/src/main/java/fr/titionfire/ffsaf/domain/service/MatchService.java @@ -3,7 +3,7 @@ package fr.titionfire.ffsaf.domain.service; import fr.titionfire.ffsaf.data.model.MatchModel; import fr.titionfire.ffsaf.data.repository.CombRepository; import fr.titionfire.ffsaf.data.repository.MatchRepository; -import fr.titionfire.ffsaf.data.repository.PouleRepository; +import fr.titionfire.ffsaf.data.repository.CategoryRepository; import fr.titionfire.ffsaf.rest.data.MatchData; import fr.titionfire.ffsaf.rest.exception.DNotFoundException; import fr.titionfire.ffsaf.utils.CompetitionSystem; @@ -25,7 +25,7 @@ public class MatchService { MatchRepository repository; @Inject - PouleRepository pouleRepository; + CategoryRepository categoryRepository; @Inject CombRepository combRepository; @@ -33,17 +33,17 @@ public class MatchService { @Inject CompetPermService permService; - public Uni getById(SecurityCtx securityCtx, CompetitionSystem system, Long id) { + public Uni getByIdAdmin(SecurityCtx securityCtx, CompetitionSystem system, Long id) { return repository.find("systemId = ?1 AND system = ?2", id, system).firstResult() .onItem().ifNull().failWith(() -> new DNotFoundException("Match not found")) - .call(data -> permService.hasViewPerm(securityCtx, data.getPoule().getCompet())) + .call(data -> permService.hasAdminViewPerm(securityCtx, data.getCategory().getCompet())) .map(MatchData::fromModel); } - public Uni> getAllByPoule(SecurityCtx securityCtx, CompetitionSystem system, Long id) { - return pouleRepository.find("systemId = ?1 AND system = ?2", id, system).firstResult() + public Uni> getAllByPouleAdmin(SecurityCtx securityCtx, CompetitionSystem system, Long id) { + return categoryRepository.find("systemId = ?1 AND system = ?2", id, system).firstResult() .onItem().ifNull().failWith(() -> new DNotFoundException("Poule not found")) - .call(data -> permService.hasViewPerm(securityCtx, data.getCompet())) + .call(data -> permService.hasAdminViewPerm(securityCtx, data.getCompet())) .chain(data -> repository.list("poule = ?1", data.getId()) .map(o -> o.stream().map(MatchData::fromModel).toList())); } @@ -52,21 +52,21 @@ public class MatchService { return repository.find("systemId = ?1 AND system = ?2", data.getId(), system).firstResult() .chain(o -> { if (o == null) { - return pouleRepository.find("systemId = ?1 AND system = ?2", data.getPoule(), system) + return categoryRepository.find("systemId = ?1 AND system = ?2", data.getCategory(), system) .firstResult() .onItem().ifNull().failWith(() -> new DNotFoundException("Poule not found")) .call(o2 -> permService.hasEditPerm(securityCtx, o2.getCompet())) - .map(pouleModel -> { + .map(categoryModel -> { MatchModel model = new MatchModel(); model.setId(null); model.setSystem(system); model.setSystemId(data.getId()); - model.setPoule(pouleModel); + model.setCategory(categoryModel); return model; }); } else { - return pouleRepository.find("systemId = ?1 AND system = ?2", data.getPoule(), system) + return categoryRepository.find("systemId = ?1 AND system = ?2", data.getCategory(), system) .firstResult() .onItem().ifNull().failWith(() -> new DNotFoundException("Poule not found")) .call(o2 -> permService.hasEditPerm(securityCtx, o2.getCompet())) @@ -77,7 +77,7 @@ public class MatchService { .chain(o -> { o.setC1_str(data.getC1_str()); o.setC2_str(data.getC2_str()); - o.setPoule_ord(data.getPoule_ord()); + o.setCategory_ord(data.getCategory_ord()); o.getScores().clear(); o.getScores().addAll(data.getScores()); @@ -97,7 +97,7 @@ public class MatchService { List scores) { return repository.find("systemId = ?1 AND system = ?2", id, system).firstResult() .onItem().ifNull().failWith(() -> new DNotFoundException("Match not found")) - .call(o2 -> permService.hasEditPerm(securityCtx, o2.getPoule().getCompet())) + .call(o2 -> permService.hasEditPerm(securityCtx, o2.getCategory().getCompet())) .invoke(data -> { data.getScores().clear(); data.getScores().addAll(scores); @@ -109,7 +109,7 @@ public class MatchService { public Uni delete(SecurityCtx securityCtx, CompetitionSystem system, Long id) { return repository.find("systemId = ?1 AND system = ?2", id, system).firstResult() .onItem().ifNull().failWith(() -> new DNotFoundException("Match not found")) - .call(o2 -> permService.hasEditPerm(securityCtx, o2.getPoule().getCompet())) + .call(o2 -> permService.hasEditPerm(securityCtx, o2.getCategory().getCompet())) .chain(data -> Panache.withTransaction(() -> repository.delete(data))); } } diff --git a/src/main/java/fr/titionfire/ffsaf/domain/service/TreeService.java b/src/main/java/fr/titionfire/ffsaf/domain/service/TreeService.java deleted file mode 100644 index 2e10cc7..0000000 --- a/src/main/java/fr/titionfire/ffsaf/domain/service/TreeService.java +++ /dev/null @@ -1,4 +0,0 @@ -package fr.titionfire.ffsaf.domain.service; - -public class TreeService { -} diff --git a/src/main/java/fr/titionfire/ffsaf/net2/request/SReqCompet.java b/src/main/java/fr/titionfire/ffsaf/net2/request/SReqCompet.java index c7aa379..18c4cce 100644 --- a/src/main/java/fr/titionfire/ffsaf/net2/request/SReqCompet.java +++ b/src/main/java/fr/titionfire/ffsaf/net2/request/SReqCompet.java @@ -24,7 +24,7 @@ public class SReqCompet { } public static void getAllHaveAccess(ArrayList client_Thread, String userId, - CompletableFuture> future) { + CompletableFuture> future) { if (client_Thread.isEmpty()) return; client_Thread.get(0).sendReq(userId, "getAllHaveAccess", new JsonConsumer<>(HashMap.class, future::complete)); diff --git a/src/main/java/fr/titionfire/ffsaf/rest/PouleEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/CategoryAdminEndpoints.java similarity index 59% rename from src/main/java/fr/titionfire/ffsaf/rest/PouleEndpoints.java rename to src/main/java/fr/titionfire/ffsaf/rest/CategoryAdminEndpoints.java index 8bc9dc1..1ea2568 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/PouleEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/CategoryAdminEndpoints.java @@ -1,8 +1,8 @@ package fr.titionfire.ffsaf.rest; -import fr.titionfire.ffsaf.domain.service.PouleService; -import fr.titionfire.ffsaf.rest.data.PouleData; -import fr.titionfire.ffsaf.rest.data.PouleFullData; +import fr.titionfire.ffsaf.domain.service.CategoryService; +import fr.titionfire.ffsaf.rest.data.CategoryData; +import fr.titionfire.ffsaf.rest.data.CategoryFullData; import fr.titionfire.ffsaf.utils.CompetitionSystem; import fr.titionfire.ffsaf.utils.SecurityCtx; import io.quarkus.security.Authenticated; @@ -14,14 +14,14 @@ import jakarta.ws.rs.core.MediaType; import java.util.List; @Authenticated -@Path("api/poule/{system}/") -public class PouleEndpoints { +@Path("api/poule/{system}/admin/") +public class CategoryAdminEndpoints { @PathParam("system") private CompetitionSystem system; @Inject - PouleService service; + CategoryService service; @Inject SecurityCtx securityCtx; @@ -30,28 +30,28 @@ public class PouleEndpoints { @GET @Path("{id}") @Produces(MediaType.APPLICATION_JSON) - public Uni getById(@PathParam("id") Long id) { - return service.getById(securityCtx, system, id); + public Uni getByIdAdmin(@PathParam("id") Long id) { + return service.getByIdAdmin(securityCtx, system, id); } @GET @Produces(MediaType.APPLICATION_JSON) - public Uni> getAll() { - return service.getAll(securityCtx, system); + public Uni> getAllAdmin() { + return service.getAllAdmin(securityCtx, system); } @POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - public Uni addOrUpdate(PouleData data) { + public Uni addOrUpdate(CategoryData data) { return service.addOrUpdate(securityCtx, system, data); } @POST @Path("sync") @Consumes(MediaType.APPLICATION_JSON) - public Uni syncPoule(PouleFullData data) { - return service.syncPoule(securityCtx, system, data); + public Uni syncCategory(CategoryFullData data) { + return service.syncCategory(securityCtx, system, data); } @DELETE diff --git a/src/main/java/fr/titionfire/ffsaf/rest/CompetitionAdminEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/CompetitionAdminEndpoints.java new file mode 100644 index 0000000..51c0d9f --- /dev/null +++ b/src/main/java/fr/titionfire/ffsaf/rest/CompetitionAdminEndpoints.java @@ -0,0 +1,50 @@ +package fr.titionfire.ffsaf.rest; + +import fr.titionfire.ffsaf.domain.service.CompetitionService; +import fr.titionfire.ffsaf.rest.data.CompetitionData; +import fr.titionfire.ffsaf.utils.CompetitionSystem; +import fr.titionfire.ffsaf.utils.SecurityCtx; +import io.quarkus.security.Authenticated; +import io.smallrye.mutiny.Uni; +import jakarta.inject.Inject; +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.List; + +@Path("api/competition/admin") +public class CompetitionAdminEndpoints { + + @Inject + CompetitionService service; + + @Inject + SecurityCtx securityCtx; + + @GET + @Path("{id}") + @Authenticated + @Produces(MediaType.APPLICATION_JSON) + public Uni getByIdAdmin(@PathParam("id") Long id) { + return service.getByIdAdmin(securityCtx, id); + } + + @GET + @Path("all") + @Authenticated + @Produces(MediaType.APPLICATION_JSON) + public Uni> getAllAdmin() { + return service.getAllAdmin(securityCtx); + } + + @GET + @Path("all/{system}") + @Authenticated + @Produces(MediaType.APPLICATION_JSON) + public Uni> getAllSystemAdmin(@PathParam("system") CompetitionSystem system) { + return service.getAllSystemAdmin(securityCtx, system); + } +} diff --git a/src/main/java/fr/titionfire/ffsaf/rest/CompetitionEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/CompetitionEndpoints.java index b54abd2..3d2398d 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/CompetitionEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/CompetitionEndpoints.java @@ -5,7 +5,6 @@ import fr.titionfire.ffsaf.rest.data.CompetitionData; import fr.titionfire.ffsaf.rest.data.RegisterRequestData; import fr.titionfire.ffsaf.rest.data.SimpleCompetData; import fr.titionfire.ffsaf.rest.data.SimpleRegisterComb; -import fr.titionfire.ffsaf.utils.CompetitionSystem; import fr.titionfire.ffsaf.utils.SecurityCtx; import io.quarkus.security.Authenticated; import io.smallrye.mutiny.Uni; @@ -29,8 +28,11 @@ public class CompetitionEndpoints { @Path("{id}") @Authenticated @Produces(MediaType.APPLICATION_JSON) - public Uni getById(@PathParam("id") Long id) { - return service.getById(securityCtx, id); + public Uni getById(@PathParam("id") Long id, @QueryParam("light") boolean light) { + if (light) + return service.getById(securityCtx, id); + else + return service.getByIdAdmin(securityCtx, id); } @GET @@ -76,14 +78,6 @@ public class CompetitionEndpoints { return service.getAll(securityCtx); } - @GET - @Path("all/{system}") - @Authenticated - @Produces(MediaType.APPLICATION_JSON) - public Uni> getAllSystem(@PathParam("system") CompetitionSystem system) { - return service.getAllSystem(securityCtx, system); - } - @POST @Authenticated @Produces(MediaType.APPLICATION_JSON) diff --git a/src/main/java/fr/titionfire/ffsaf/rest/MatchEndpoints.java b/src/main/java/fr/titionfire/ffsaf/rest/MatchAdminEndpoints.java similarity index 80% rename from src/main/java/fr/titionfire/ffsaf/rest/MatchEndpoints.java rename to src/main/java/fr/titionfire/ffsaf/rest/MatchAdminEndpoints.java index 097dac9..6e233ec 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/MatchEndpoints.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/MatchAdminEndpoints.java @@ -14,8 +14,8 @@ import jakarta.ws.rs.core.MediaType; import java.util.List; @Authenticated -@Path("api/match/{system}/") -public class MatchEndpoints { +@Path("api/match/{system}/admin") +public class MatchAdminEndpoints { @PathParam("system") private CompetitionSystem system; @@ -30,15 +30,15 @@ public class MatchEndpoints { @GET @Path("{id}") @Produces(MediaType.APPLICATION_JSON) - public Uni getById(@PathParam("id") Long id) { - return service.getById(securityCtx, system, id); + public Uni getByIdAdmin(@PathParam("id") Long id) { + return service.getByIdAdmin(securityCtx, system, id); } @GET @Path("getAllByPoule/{id}") @Produces(MediaType.APPLICATION_JSON) - public Uni> getAllByPoule(@PathParam("id") Long id) { - return service.getAllByPoule(securityCtx, system, id); + public Uni> getAllByPouleAdmin(@PathParam("id") Long id) { + return service.getAllByPouleAdmin(securityCtx, system, id); } @POST diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/PouleData.java b/src/main/java/fr/titionfire/ffsaf/rest/data/CategoryData.java similarity index 58% rename from src/main/java/fr/titionfire/ffsaf/rest/data/PouleData.java rename to src/main/java/fr/titionfire/ffsaf/rest/data/CategoryData.java index f89da27..0632d81 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/PouleData.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/CategoryData.java @@ -1,6 +1,6 @@ package fr.titionfire.ffsaf.rest.data; -import fr.titionfire.ffsaf.data.model.PouleModel; +import fr.titionfire.ffsaf.data.model.CategoryModel; import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.AllArgsConstructor; import lombok.Data; @@ -8,16 +8,16 @@ import lombok.Data; @Data @AllArgsConstructor @RegisterForReflection -public class PouleData { +public class CategoryData { private Long id; private String name; private Long compet; private Integer type; - public static PouleData fromModel(PouleModel model) { + public static CategoryData fromModel(CategoryModel model) { if (model == null) return null; - return new PouleData(model.getSystemId(), model.getName(), model.getCompet().getId(), model.getType()); + return new CategoryData(model.getSystemId(), model.getName(), model.getCompet().getId(), model.getType()); } } diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/PouleFullData.java b/src/main/java/fr/titionfire/ffsaf/rest/data/CategoryFullData.java similarity index 96% rename from src/main/java/fr/titionfire/ffsaf/rest/data/PouleFullData.java rename to src/main/java/fr/titionfire/ffsaf/rest/data/CategoryFullData.java index b949111..bf6a370 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/PouleFullData.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/CategoryFullData.java @@ -7,7 +7,7 @@ import java.util.List; @Data @AllArgsConstructor -public class PouleFullData { +public class CategoryFullData { private Long id; private String name; private Long compet; diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/CompetitionData.java b/src/main/java/fr/titionfire/ffsaf/rest/data/CompetitionData.java index 347d964..d6b07d1 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/CompetitionData.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/CompetitionData.java @@ -1,9 +1,10 @@ package fr.titionfire.ffsaf.rest.data; import fr.titionfire.ffsaf.data.model.CompetitionModel; +import fr.titionfire.ffsaf.data.model.RegisterModel; import fr.titionfire.ffsaf.utils.Categorie; import fr.titionfire.ffsaf.utils.CompetitionSystem; -import fr.titionfire.ffsaf.data.model.RegisterModel; +import fr.titionfire.ffsaf.utils.RegisterMode; import io.quarkus.runtime.annotations.RegisterForReflection; import lombok.AllArgsConstructor; import lombok.Data; @@ -17,20 +18,53 @@ import java.util.List; public class CompetitionData { private Long id; private String name; + private String description; + private String adresse; private String uuid; private Date date; + private Date toDate; private CompetitionSystem system; + private RegisterMode registerMode; + private Date startRegister; + private Date endRegister; + private boolean publicVisible; private Long club; private String clubName; private String owner; private List registers; + private boolean canEdit; + private String data1; + private String data2; + private String data3; + private String data4; public static CompetitionData fromModel(CompetitionModel model) { if (model == null) return null; - return new CompetitionData(model.getId(), model.getName(), model.getUuid(), model.getDate(), model.getSystem(), - model.getClub().getId(), model.getClub().getName(), model.getOwner(), null); + return new CompetitionData(model.getId(), model.getName(), model.getDescription(), model.getAdresse(), + model.getUuid(), model.getDate(), model.getTodate(), model.getSystem(), + model.getRegisterMode(), model.getStartRegister(), model.getEndRegister(), model.isPublicVisible(), + model.getClub().getId(), model.getClub().getName(), model.getOwner(), null, false, + model.getData1(), model.getData2(), model.getData3(), model.getData4()); + } + + public static CompetitionData fromModelLight(CompetitionModel model) { + if (model == null) + return null; + + CompetitionData out = new CompetitionData(model.getId(), model.getName(), model.getDescription(), + model.getAdresse(), "", model.getDate(), model.getTodate(), null, + model.getRegisterMode(), model.getStartRegister(), model.getEndRegister(), model.isPublicVisible(), + null, model.getClub().getName(), "", null, false, + "","", "",""); + + if (model.getRegisterMode() == RegisterMode.HELLOASSO){ + out.setData1(model.getData1()); + out.setData2(model.getData2()); + } + + return out; } public CompetitionData addInsc(List insc) { diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/MatchData.java b/src/main/java/fr/titionfire/ffsaf/rest/data/MatchData.java index b7c942b..143d0ad 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/MatchData.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/MatchData.java @@ -17,10 +17,10 @@ public class MatchData { private String c1_str; private Long c2_id; private String c2_str; - private Long poule; - private long poule_ord; + private Long category; + private long category_ord; private boolean isEnd = true; - private char groupe; + private char poule; private List scores; public static MatchData fromModel(MatchModel model) { @@ -30,7 +30,7 @@ public class MatchData { return new MatchData(model.getSystemId(), (model.getC1_id() == null) ? null : model.getC1_id().getId(), model.getC1_str(), (model.getC2_id() == null) ? null : model.getC2_id().getId(), model.getC2_str(), - model.getPoule().getId(), model.getPoule_ord(), model.isEnd(), model.getGroupe(), + model.getCategory().getId(), model.getCategory_ord(), model.isEnd(), model.getPoule(), model.getScores()); } } diff --git a/src/main/java/fr/titionfire/ffsaf/rest/data/TreeData.java b/src/main/java/fr/titionfire/ffsaf/rest/data/TreeData.java index b4cff47..2ab4841 100644 --- a/src/main/java/fr/titionfire/ffsaf/rest/data/TreeData.java +++ b/src/main/java/fr/titionfire/ffsaf/rest/data/TreeData.java @@ -10,7 +10,7 @@ import lombok.Data; @RegisterForReflection public class TreeData { private Long id; - private Long poule; + private Long category; private Integer level; private Long match; private TreeData left; @@ -20,7 +20,7 @@ public class TreeData { if (model == null) return null; - return new TreeData(model.getId(), model.getPoule(), model.getLevel(), model.getMatch().getId(), + return new TreeData(model.getId(), model.getCategory(), model.getLevel(), model.getMatch().getId(), fromModel(model.getLeft()), fromModel(model.getRight())); } } diff --git a/src/main/java/fr/titionfire/ffsaf/utils/CompetitionSystem.java b/src/main/java/fr/titionfire/ffsaf/utils/CompetitionSystem.java index 79dbeeb..32cb79a 100644 --- a/src/main/java/fr/titionfire/ffsaf/utils/CompetitionSystem.java +++ b/src/main/java/fr/titionfire/ffsaf/utils/CompetitionSystem.java @@ -1,5 +1,5 @@ package fr.titionfire.ffsaf.utils; public enum CompetitionSystem { - SAFCA, + SAFCA, NONE } diff --git a/src/main/java/fr/titionfire/ffsaf/utils/RegisterMode.java b/src/main/java/fr/titionfire/ffsaf/utils/RegisterMode.java new file mode 100644 index 0000000..4f5e570 --- /dev/null +++ b/src/main/java/fr/titionfire/ffsaf/utils/RegisterMode.java @@ -0,0 +1,12 @@ +package fr.titionfire.ffsaf.utils; + +public enum RegisterMode { + FREE, CLUB_ADMIN, ADMIN, HELLOASSO +} +/* +HELLOASSO: +-> data1 = organizationSlug +-> data2 = formSlug +-> data3 = tarifs +-> data4 = errorEmail + */ diff --git a/src/main/java/fr/titionfire/ffsaf/utils/SecurityCtx.java b/src/main/java/fr/titionfire/ffsaf/utils/SecurityCtx.java index 348e1b3..aafe8b6 100644 --- a/src/main/java/fr/titionfire/ffsaf/utils/SecurityCtx.java +++ b/src/main/java/fr/titionfire/ffsaf/utils/SecurityCtx.java @@ -31,6 +31,11 @@ public class SecurityCtx { return securityIdentity.getRoles().contains(role); } + public boolean isClubAdmin() { + return this.roleHas("club_president") || this.roleHas("club_respo_intra") + || this.roleHas("club_secretaire") || this.roleHas("club_tresorier"); + } + public boolean isInClubGroup(long id) { if (idToken == null || idToken.getClaim("user_groups") == null) return false; diff --git a/src/main/webapp/public/img/HA-help-2.png b/src/main/webapp/public/img/HA-help-2.png new file mode 100644 index 0000000000000000000000000000000000000000..97cdcde26fb01b675d5e3bd99ca0eb47cb363db9 GIT binary patch literal 67775 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

    6otDLC#a>0O1JBoyR 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

    ^-q;uLYK5E)fcnnjCJxc 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 E08JH$cmMzZ literal 0 HcmV?d00001 diff --git a/src/main/webapp/public/img/HA-help-4.png b/src/main/webapp/public/img/HA-help-4.png new file mode 100644 index 0000000000000000000000000000000000000000..5547b9c0f0aabf8fceb9e11aebbba0561b73d53b GIT binary patch literal 104488 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ßm>QL^#pNZj&mc$($0j%`7 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 z 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 literal 0 HcmV?d00001 diff --git a/src/main/webapp/src/components/ClubSelect.jsx b/src/main/webapp/src/components/ClubSelect.jsx index 9d76665..844f781 100644 --- a/src/main/webapp/src/components/ClubSelect.jsx +++ b/src/main/webapp/src/components/ClubSelect.jsx @@ -4,9 +4,7 @@ import {AxiosError} from "./AxiosError.jsx"; export function ClubSelect({defaultValue, name, na = false, disabled = false}) { return -

    - -
    + } @@ -19,7 +17,7 @@ function ClubSelect_({defaultValue, name, na, disabled}) { ?
    {data.id ? "Edition competition" : "Création competition"}
    - - -
    - Date - -
    - - {data.id !== null && } - - - - {data.id !== null && -
    - +
    +
    +

    + +

    +
    +
    + + + {data.id !== null && +
    + +
    + } + {data.id !== null && } +
    +
    - } +
    +

    + +

    +
    +
    + +
    + Date* + Du + + Au + +
    + + + + Si non coché, la compétition ne sera visible que par les personnes pouvant y inscrire des participants. +
    +
    +
    + +
    +

    + +

    +
    +
    + +
    +
    + + +
    +
    + +
    + Date d'inscription + Du + + Au + +
    + +
    + +
    Afin de permettre une bonne interconnexion avec HelloAsso, merci de suivre les instructions suivantes :
    +
      +
    • Configurer l'url de notification : afin que nous puissions recevoir une notification à + chaque inscription, il est nécessaire de configurer l'url de notification de votre compte HelloAsso pour + qu'il redirige vers "https://intra.ffsaf.fr/api/webhook/ha". Pour ce faire, depuis la page d'accueil de + votre association sur HelloAsso, allez dans Mon compte > Paramètres > + Intégrations et API section Notification et copier-coller https://intra.ffsaf.fr/api/webhook/ha + dans le champ Mon URL de callback et enregister. +
    • +
    • Copier-coller le nom exacte des tarifs -sépare par des point-virgules- qui donneront + lieux à une inscription automatique. Tous ces tarifs doivent impérativement demander le numéro de licence + en champs obligatoire. Pour ce faire, lors de la configuration de votre billetterie à l'étape n°3, + cliquer sur + Ajouter une information, saisissez l'intituler exact suivant + Numéro de licence, dans Type de réponse souhaitée rentrer Nombre, + sélectionner les tarifs entrés plus précédemment et rendre l'information obligatoire. + ... + ...
    • +
    • Copier-coller l'url de votre billetterie dans le champs si dessous. Il devrais avoir la forme suivante: + https://www.helloasso.com/associations/<nom-asso-sur-helloasso>/evenements/<nom-billetterie>
    • +
    +
    + + + + + + + Si pour une raison quelconque l'inscription automatique échoue, un email sera envoyé à cette adresse pour + vous en informer +
    +
    +
    +
    + +
    @@ -273,4 +441,4 @@ function Content({data}) {
    -} \ No newline at end of file +} diff --git a/src/main/webapp/src/pages/competition/CompetitionList.jsx b/src/main/webapp/src/pages/competition/CompetitionList.jsx index 7f16ba1..0541147 100644 --- a/src/main/webapp/src/pages/competition/CompetitionList.jsx +++ b/src/main/webapp/src/pages/competition/CompetitionList.jsx @@ -42,14 +42,32 @@ function MakeCentralPanel({data, navigate}) { } +const inscText = (type) => { + if (type === "FREE") { + return "Inscriptions libres" + } else if (type === "CLUB_ADMIN") { + return "Inscriptions par les responsables de club" + } else if (type === "ADMIN") { + return "Inscriptions par les administrateurs de la compétition" + } else if (type === "HELLOASSO") { + return "Inscriptions sur la billetterie HelloAsso" + } + + return "" +} + function MakeRow({data, navigate}) { - return
    navigate("" + data.id)}> -
    -
    {data.name}
    - {data.date.split('T')[0]} + return
    data.canEdit ? navigate("" + data.id) : navigate("view/" + data.id)}> +
    +
    +
    {data.name} par {data.clubName}
    + Du {new Date(data.date.split('T')[0]).toLocaleDateString()} au {new Date(data.toDate.split('T')[0]).toLocaleDateString()} +
    +
    + {inscText(data.registerMode)} +
    - {data.clubName}
    {data.system}
    } diff --git a/src/main/webapp/src/pages/competition/CompetitionRoot.jsx b/src/main/webapp/src/pages/competition/CompetitionRoot.jsx index e117154..bf02c63 100644 --- a/src/main/webapp/src/pages/competition/CompetitionRoot.jsx +++ b/src/main/webapp/src/pages/competition/CompetitionRoot.jsx @@ -3,6 +3,7 @@ import {Outlet} from "react-router-dom"; import {CompetitionList} from "./CompetitionList.jsx"; import {CompetitionEdit} from "./CompetitionEdit.jsx"; import {CompetitionRegisterAdmin} from "./CompetitionRegisterAdmin.jsx"; +import {CompetitionView} from "./CompetitionView.jsx"; export function CompetitionRoot() { return <> @@ -23,9 +24,13 @@ export function getCompetitionChildren() { path: ':id', element: }, + { + path: 'view/:id', + element: + }, { path: ':id/register', element: } ] -} \ No newline at end of file +} diff --git a/src/main/webapp/src/pages/competition/CompetitionView.jsx b/src/main/webapp/src/pages/competition/CompetitionView.jsx new file mode 100644 index 0000000..cf2a6e2 --- /dev/null +++ b/src/main/webapp/src/pages/competition/CompetitionView.jsx @@ -0,0 +1,72 @@ +import {useNavigate, useParams} from "react-router-dom"; +import {useLoadingSwitcher} from "../../hooks/useLoading.jsx"; +import {useFetch} from "../../hooks/useFetch.js"; +import {AxiosError} from "../../components/AxiosError.jsx"; +import {useAuth} from "../../hooks/useAuth.jsx"; +import {isClubAdmin} from "../../utils/Tools.js"; + +export function CompetitionView() { + + const {id} = useParams() + const navigate = useNavigate(); + + const setLoading = useLoadingSwitcher() + const {data, error} = useFetch(`/competition/${id}?light=true`, setLoading, 1) + + return <> + +
    + {data ? <> + + + : error && + } +
    + +} + +const inscText = (type) => { + if (type === "FREE") { + return "Libres" + } else if (type === "CLUB_ADMIN") { + return "Par les responsables de club" + } else if (type === "ADMIN") { + return "Par les administrateurs de la compétition" + } else if (type === "HELLOASSO") { + return "Sur la billetterie HelloAsso" + } + + return "" +} + +function MakeContent({data}) { + const {userinfo} = useAuth() + + return
    +
    +

    {data.name}

    +
    +
    +

    {data.description}

    +

    Date + : Du {new Date(data.date.split('T')[0]).toLocaleDateString()} au {new Date(data.toDate.split('T')[0]).toLocaleDateString()} +

    +

    Lieu : {data.adresse}

    +

    Organisateur : {data.clubName}

    +

    Type d'inscription : {inscText(data.registerMode)}

    + {(data.registerMode === "FREE" || data.registerMode === "CLUB_ADMIN") && +

    Date d'inscription : Du {new Date(data.startRegister.split('+')[0]).toLocaleString()} au {new Date(data.endRegister.split('+')[0]).toLocaleString()}

    + } + {(data.registerMode === "CLUB_ADMIN" && isClubAdmin(userinfo)) || data.registerMode === "FREE" && + + } + {data.registerMode === "HELLOASSO" && +

    Billetterie : {`https://www.helloasso.com/associations/${data.data1}/evenements/${data.data2}`}

    + } +
    +
    +} diff --git a/src/main/webapp/src/utils/Tools.js b/src/main/webapp/src/utils/Tools.js index 2d7d046..b7f2314 100644 --- a/src/main/webapp/src/utils/Tools.js +++ b/src/main/webapp/src/utils/Tools.js @@ -7,6 +7,15 @@ export const apiAxios = axios.create({ }); apiAxios.defaults.headers.post['Accept'] = 'application/json; charset=UTF-8'; +export function isInClub(userinfo, clubId) { + return userinfo?.groups.filter((g => g.startsWith("/club/"))).map(g => g.split("/")[2]).map(g => Number(g.split("-")[0])).includes(clubId) +} + +export function isClubAdmin(userinfo) { + return userinfo?.roles?.includes("club_president") || userinfo?.roles?.includes("club_respo_intra") + || userinfo?.roles?.includes("club_secretaire") || userinfo?.roles?.includes("club_tresorier"); +} + export const errFormater = (data, msg) => { if (typeof data.response.data === 'string' || data.response.data instanceof String)