108 lines
2.9 KiB
Java
108 lines
2.9 KiB
Java
package dev.lions.unionflow.client.service;
|
|
|
|
import dev.lions.unionflow.server.api.dto.comptabilite.request.*;
|
|
import dev.lions.unionflow.server.api.dto.comptabilite.response.*;
|
|
import org.eclipse.microprofile.rest.client.inject.RegisterRestClient;
|
|
import org.eclipse.microprofile.rest.client.annotation.RegisterClientHeaders;
|
|
import jakarta.ws.rs.*;
|
|
import jakarta.ws.rs.core.MediaType;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* Service REST Client pour la gestion comptable
|
|
*
|
|
* @author UnionFlow Team
|
|
* @version 1.0
|
|
*/
|
|
@RegisterRestClient(configKey = "unionflow-api")
|
|
@RegisterClientHeaders(dev.lions.unionflow.client.security.AuthHeaderFactory.class)
|
|
@Path("/api/comptabilite")
|
|
@Consumes(MediaType.APPLICATION_JSON)
|
|
@Produces(MediaType.APPLICATION_JSON)
|
|
public interface ComptabiliteService {
|
|
|
|
// ========================================
|
|
// COMPTES COMPTABLES
|
|
// ========================================
|
|
|
|
/**
|
|
* Liste tous les comptes comptables actifs
|
|
*/
|
|
@GET
|
|
@Path("/comptes")
|
|
List<CompteComptableResponse> listerComptes();
|
|
|
|
/**
|
|
* Crée un nouveau compte comptable
|
|
*/
|
|
@POST
|
|
@Path("/comptes")
|
|
CompteComptableResponse creerCompte(CreateCompteComptableRequest request);
|
|
|
|
/**
|
|
* Trouve un compte comptable par son ID
|
|
*/
|
|
@GET
|
|
@Path("/comptes/{id}")
|
|
CompteComptableResponse obtenirCompte(@PathParam("id") UUID id);
|
|
|
|
// ========================================
|
|
// JOURNAUX COMPTABLES
|
|
// ========================================
|
|
|
|
/**
|
|
* Liste tous les journaux comptables actifs
|
|
*/
|
|
@GET
|
|
@Path("/journaux")
|
|
List<JournalComptableResponse> listerJournaux();
|
|
|
|
/**
|
|
* Crée un nouveau journal comptable
|
|
*/
|
|
@POST
|
|
@Path("/journaux")
|
|
JournalComptableResponse creerJournal(CreateJournalComptableRequest request);
|
|
|
|
/**
|
|
* Trouve un journal comptable par son ID
|
|
*/
|
|
@GET
|
|
@Path("/journaux/{id}")
|
|
JournalComptableResponse obtenirJournal(@PathParam("id") UUID id);
|
|
|
|
// ========================================
|
|
// ÉCRITURES COMPTABLES
|
|
// ========================================
|
|
|
|
/**
|
|
* Crée une nouvelle écriture comptable
|
|
*/
|
|
@POST
|
|
@Path("/ecritures")
|
|
EcritureComptableResponse creerEcriture(CreateEcritureComptableRequest request);
|
|
|
|
/**
|
|
* Trouve une écriture comptable par son ID
|
|
*/
|
|
@GET
|
|
@Path("/ecritures/{id}")
|
|
EcritureComptableResponse obtenirEcriture(@PathParam("id") UUID id);
|
|
|
|
/**
|
|
* Liste les écritures d'un journal
|
|
*/
|
|
@GET
|
|
@Path("/ecritures/journal/{journalId}")
|
|
List<EcritureComptableResponse> listerEcrituresParJournal(@PathParam("journalId") UUID journalId);
|
|
|
|
/**
|
|
* Liste les écritures d'une organisation
|
|
*/
|
|
@GET
|
|
@Path("/ecritures/organisation/{organisationId}")
|
|
List<EcritureComptableResponse> listerEcrituresParOrganisation(@PathParam("organisationId") UUID organisationId);
|
|
}
|
|
|