fix(frontend): corrections workflow v3.0 — inscription événements, CreateMembreRequest, AJAX session expiry

Services:
- EvenementService: POST /inscriptions (sans membreId), DELETE /inscriptions, GET /recherche, GET /type/{type}
- MembreService: creer() accepte CreateMembreRequest au lieu de MembreResponse
- Nouveaux services: BackupService, EpargneService, FinanceApprovalService, LogsService, MessageService, OrganisationService, PaiementClientService

Beans:
- MembreInscriptionBean: construit CreateMembreRequest.builder() avec organisationId UUID
- EvenementsBean: inscrireParticipant(id) sans userId (backend infère depuis token)
- DashboardBean: checkAccessAndRedirect() SUPER_ADMIN en premier

Sécurité:
- AuthenticationFilter: gestion AJAX PrimeFaces (partial/ajax → XML partial-response redirect)
- PermissionChecker: vérification rôles côté bean
- k8s/: manifestes secrets SMTP et Wave (placeholders à remplir)

Pages XHTML: dashboards rôles, cotisations, membres, événements, organisations
This commit is contained in:
dahoud
2026-04-07 20:54:20 +00:00
parent 0dc050f422
commit ac0c5a67a1
96 changed files with 7264 additions and 2497 deletions

View File

@@ -0,0 +1,71 @@
package dev.lions.unionflow.client.service;
import dev.lions.unionflow.server.api.dto.mutuelle.epargne.CompteEpargneRequest;
import dev.lions.unionflow.server.api.dto.mutuelle.epargne.CompteEpargneResponse;
import dev.lions.unionflow.server.api.dto.mutuelle.epargne.TransactionEpargneRequest;
import dev.lions.unionflow.server.api.dto.mutuelle.epargne.TransactionEpargneResponse;
import org.eclipse.microprofile.rest.client.annotation.RegisterClientHeaders;
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
import jakarta.ws.rs.*;
import jakarta.ws.rs.core.MediaType;
import java.util.List;
@RegisterRestClient(configKey = "unionflow-api")
@RegisterClientHeaders(dev.lions.unionflow.client.security.AuthHeaderFactory.class)
@Path("/api/v1/epargne")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public interface EpargneService {
// --- Comptes ---
@POST
@Path("/comptes")
CompteEpargneResponse ouvrirCompte(CompteEpargneRequest request);
@GET
@Path("/comptes/{id}")
CompteEpargneResponse obtenirCompte(@PathParam("id") String id);
@GET
@Path("/comptes/mes-comptes")
List<CompteEpargneResponse> obtenirMesComptes();
@GET
@Path("/comptes/membre/{membreId}")
List<CompteEpargneResponse> obtenirComptesParMembre(@PathParam("membreId") String membreId);
@GET
@Path("/comptes/organisation/{organisationId}")
List<CompteEpargneResponse> obtenirComptesParOrganisation(
@PathParam("organisationId") String organisationId,
@QueryParam("page") @DefaultValue("0") int page,
@QueryParam("size") @DefaultValue("20") int size
);
@PATCH
@Path("/comptes/{id}/statut")
CompteEpargneResponse changerStatut(
@PathParam("id") String id,
@QueryParam("statut") String statut
);
// --- Transactions ---
@POST
@Path("/transactions")
TransactionEpargneResponse executerTransaction(TransactionEpargneRequest request);
@POST
@Path("/transactions/transfert")
TransactionEpargneResponse effectuerTransfert(TransactionEpargneRequest request);
@GET
@Path("/transactions/compte/{compteId}")
List<TransactionEpargneResponse> obtenirTransactions(
@PathParam("compteId") String compteId,
@QueryParam("page") @DefaultValue("0") int page,
@QueryParam("size") @DefaultValue("20") int size
);
}