Sync: code local unifié
Synchronisation du code source local (fait foi). Signed-off-by: lions dev Team
This commit is contained in:
@@ -12,6 +12,11 @@ import jakarta.ws.rs.core.MediaType;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import org.eclipse.microprofile.openapi.annotations.Operation;
|
||||
import org.eclipse.microprofile.openapi.annotations.parameters.Parameter;
|
||||
import org.eclipse.microprofile.openapi.annotations.responses.APIResponse;
|
||||
import org.eclipse.microprofile.openapi.annotations.responses.APIResponses;
|
||||
import org.eclipse.microprofile.openapi.annotations.tags.Tag;
|
||||
import org.jboss.logging.Logger;
|
||||
|
||||
/**
|
||||
@@ -24,26 +29,27 @@ import org.jboss.logging.Logger;
|
||||
@Path("/api/wave")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
@Consumes(MediaType.APPLICATION_JSON)
|
||||
@RolesAllowed({"ADMIN", "MEMBRE", "USER"})
|
||||
@RolesAllowed({ "ADMIN", "MEMBRE", "USER" })
|
||||
@Tag(name = "Wave Mobile Money", description = "Gestion des comptes et transactions Wave Mobile Money")
|
||||
public class WaveResource {
|
||||
|
||||
private static final Logger LOG = Logger.getLogger(WaveResource.class);
|
||||
|
||||
@Inject WaveService waveService;
|
||||
@Inject
|
||||
WaveService waveService;
|
||||
|
||||
// ========================================
|
||||
// COMPTES WAVE
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* Crée un nouveau compte Wave
|
||||
*
|
||||
* @param compteWaveDTO DTO du compte à créer
|
||||
* @return Compte créé
|
||||
*/
|
||||
@POST
|
||||
@RolesAllowed({"ADMIN", "MEMBRE"})
|
||||
@RolesAllowed({ "ADMIN", "MEMBRE" })
|
||||
@Path("/comptes")
|
||||
@Operation(summary = "Créer un compte Wave", description = "Crée un nouveau compte Wave pour un membre ou une organisation")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "201", description = "Compte Wave créé avec succès"),
|
||||
@APIResponse(responseCode = "400", description = "Données invalides")
|
||||
})
|
||||
public Response creerCompteWave(@Valid CompteWaveDTO compteWaveDTO) {
|
||||
try {
|
||||
CompteWaveDTO result = waveService.creerCompteWave(compteWaveDTO);
|
||||
@@ -60,17 +66,18 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Met à jour un compte Wave
|
||||
*
|
||||
* @param id ID du compte
|
||||
* @param compteWaveDTO DTO avec les modifications
|
||||
* @return Compte mis à jour
|
||||
*/
|
||||
@PUT
|
||||
@RolesAllowed({"ADMIN", "MEMBRE"})
|
||||
@RolesAllowed({ "ADMIN", "MEMBRE" })
|
||||
@Path("/comptes/{id}")
|
||||
public Response mettreAJourCompteWave(@PathParam("id") UUID id, @Valid CompteWaveDTO compteWaveDTO) {
|
||||
@Operation(summary = "Mettre à jour un compte Wave", description = "Met à jour les informations d'un compte Wave existant")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Compte Wave mis à jour"),
|
||||
@APIResponse(responseCode = "404", description = "Compte Wave non trouvé"),
|
||||
@APIResponse(responseCode = "400", description = "Données invalides")
|
||||
})
|
||||
public Response mettreAJourCompteWave(
|
||||
@Parameter(description = "UUID du compte Wave", required = true) @PathParam("id") UUID id,
|
||||
@Valid CompteWaveDTO compteWaveDTO) {
|
||||
try {
|
||||
CompteWaveDTO result = waveService.mettreAJourCompteWave(id, compteWaveDTO);
|
||||
return Response.ok(result).build();
|
||||
@@ -86,16 +93,17 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie un compte Wave
|
||||
*
|
||||
* @param id ID du compte
|
||||
* @return Compte vérifié
|
||||
*/
|
||||
@POST
|
||||
@RolesAllowed({"ADMIN", "MEMBRE"})
|
||||
@RolesAllowed({ "ADMIN", "MEMBRE" })
|
||||
@Path("/comptes/{id}/verifier")
|
||||
public Response verifierCompteWave(@PathParam("id") UUID id) {
|
||||
@Operation(summary = "Vérifier un compte Wave", description = "Vérifie la validité d'un compte Wave")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Compte Wave vérifié"),
|
||||
@APIResponse(responseCode = "404", description = "Compte Wave non trouvé"),
|
||||
@APIResponse(responseCode = "400", description = "Erreur de vérification")
|
||||
})
|
||||
public Response verifierCompteWave(
|
||||
@Parameter(description = "UUID du compte Wave", required = true) @PathParam("id") UUID id) {
|
||||
try {
|
||||
CompteWaveDTO result = waveService.verifierCompteWave(id);
|
||||
return Response.ok(result).build();
|
||||
@@ -111,15 +119,15 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trouve un compte Wave par son ID
|
||||
*
|
||||
* @param id ID du compte
|
||||
* @return Compte Wave
|
||||
*/
|
||||
@GET
|
||||
@Path("/comptes/{id}")
|
||||
public Response trouverCompteWaveParId(@PathParam("id") UUID id) {
|
||||
@Operation(summary = "Trouver un compte Wave par ID", description = "Recherche un compte Wave par son identifiant unique")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Compte Wave trouvé"),
|
||||
@APIResponse(responseCode = "404", description = "Compte Wave non trouvé")
|
||||
})
|
||||
public Response trouverCompteWaveParId(
|
||||
@Parameter(description = "UUID du compte Wave", required = true) @PathParam("id") UUID id) {
|
||||
try {
|
||||
CompteWaveDTO result = waveService.trouverCompteWaveParId(id);
|
||||
return Response.ok(result).build();
|
||||
@@ -135,15 +143,15 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trouve un compte Wave par numéro de téléphone
|
||||
*
|
||||
* @param numeroTelephone Numéro de téléphone
|
||||
* @return Compte Wave ou null
|
||||
*/
|
||||
@GET
|
||||
@Path("/comptes/telephone/{numeroTelephone}")
|
||||
public Response trouverCompteWaveParTelephone(@PathParam("numeroTelephone") String numeroTelephone) {
|
||||
@Operation(summary = "Trouver un compte Wave par téléphone", description = "Recherche un compte Wave par numéro de téléphone")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Compte Wave trouvé"),
|
||||
@APIResponse(responseCode = "404", description = "Compte Wave non trouvé pour ce numéro")
|
||||
})
|
||||
public Response trouverCompteWaveParTelephone(
|
||||
@Parameter(description = "Numéro de téléphone associé au compte Wave", required = true) @PathParam("numeroTelephone") String numeroTelephone) {
|
||||
try {
|
||||
CompteWaveDTO result = waveService.trouverCompteWaveParTelephone(numeroTelephone);
|
||||
if (result == null) {
|
||||
@@ -160,15 +168,15 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liste tous les comptes Wave d'une organisation
|
||||
*
|
||||
* @param organisationId ID de l'organisation
|
||||
* @return Liste des comptes Wave
|
||||
*/
|
||||
@GET
|
||||
@Path("/comptes/organisation/{organisationId}")
|
||||
public Response listerComptesWaveParOrganisation(@PathParam("organisationId") UUID organisationId) {
|
||||
@Operation(summary = "Lister les comptes Wave d'une organisation", description = "Retourne tous les comptes Wave associés à une organisation")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Liste des comptes Wave"),
|
||||
@APIResponse(responseCode = "400", description = "Erreur lors de la récupération")
|
||||
})
|
||||
public Response listerComptesWaveParOrganisation(
|
||||
@Parameter(description = "UUID de l'organisation", required = true) @PathParam("organisationId") UUID organisationId) {
|
||||
try {
|
||||
List<CompteWaveDTO> result = waveService.listerComptesWaveParOrganisation(organisationId);
|
||||
return Response.ok(result).build();
|
||||
@@ -184,15 +192,14 @@ public class WaveResource {
|
||||
// TRANSACTIONS WAVE
|
||||
// ========================================
|
||||
|
||||
/**
|
||||
* Crée une nouvelle transaction Wave
|
||||
*
|
||||
* @param transactionWaveDTO DTO de la transaction à créer
|
||||
* @return Transaction créée
|
||||
*/
|
||||
@POST
|
||||
@RolesAllowed({"ADMIN", "MEMBRE"})
|
||||
@RolesAllowed({ "ADMIN", "MEMBRE" })
|
||||
@Path("/transactions")
|
||||
@Operation(summary = "Créer une transaction Wave", description = "Initie une nouvelle transaction de paiement Wave")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "201", description = "Transaction Wave créée"),
|
||||
@APIResponse(responseCode = "400", description = "Données invalides ou erreur de traitement")
|
||||
})
|
||||
public Response creerTransactionWave(@Valid TransactionWaveDTO transactionWaveDTO) {
|
||||
try {
|
||||
TransactionWaveDTO result = waveService.creerTransactionWave(transactionWaveDTO);
|
||||
@@ -205,18 +212,18 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Met à jour le statut d'une transaction Wave
|
||||
*
|
||||
* @param waveTransactionId Identifiant Wave de la transaction
|
||||
* @param statut Nouveau statut
|
||||
* @return Transaction mise à jour
|
||||
*/
|
||||
@PUT
|
||||
@RolesAllowed({"ADMIN", "MEMBRE"})
|
||||
@RolesAllowed({ "ADMIN", "MEMBRE" })
|
||||
@Path("/transactions/{waveTransactionId}/statut")
|
||||
@Operation(summary = "Mettre à jour le statut d'une transaction", description = "Met à jour le statut d'une transaction Wave (ex: COMPLETED, FAILED)")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Statut mis à jour"),
|
||||
@APIResponse(responseCode = "404", description = "Transaction non trouvée"),
|
||||
@APIResponse(responseCode = "400", description = "Erreur de mise à jour")
|
||||
})
|
||||
public Response mettreAJourStatutTransaction(
|
||||
@PathParam("waveTransactionId") String waveTransactionId, StatutTransactionWave statut) {
|
||||
@Parameter(description = "Identifiant Wave de la transaction", required = true) @PathParam("waveTransactionId") String waveTransactionId,
|
||||
StatutTransactionWave statut) {
|
||||
try {
|
||||
TransactionWaveDTO result = waveService.mettreAJourStatutTransaction(waveTransactionId, statut);
|
||||
return Response.ok(result).build();
|
||||
@@ -234,15 +241,15 @@ public class WaveResource {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trouve une transaction Wave par son identifiant Wave
|
||||
*
|
||||
* @param waveTransactionId Identifiant Wave
|
||||
* @return Transaction Wave
|
||||
*/
|
||||
@GET
|
||||
@Path("/transactions/{waveTransactionId}")
|
||||
public Response trouverTransactionWaveParId(@PathParam("waveTransactionId") String waveTransactionId) {
|
||||
@Operation(summary = "Trouver une transaction Wave", description = "Recherche une transaction Wave par son identifiant Wave")
|
||||
@APIResponses({
|
||||
@APIResponse(responseCode = "200", description = "Transaction trouvée"),
|
||||
@APIResponse(responseCode = "404", description = "Transaction non trouvée")
|
||||
})
|
||||
public Response trouverTransactionWaveParId(
|
||||
@Parameter(description = "Identifiant Wave de la transaction", required = true) @PathParam("waveTransactionId") String waveTransactionId) {
|
||||
try {
|
||||
TransactionWaveDTO result = waveService.trouverTransactionWaveParId(waveTransactionId);
|
||||
return Response.ok(result).build();
|
||||
|
||||
Reference in New Issue
Block a user