package com.megatim.fdxconsultation.service.ifaces.consumption; import com.megatim.fdxcommons.core.ifaces.interceptor.LoggingInterceptorBinding; import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest; import com.megatim.fdxconsultation.model.dtos.reporting.CustomTypeFichierReportConfigurationFromView; import com.mgt.rs.security.core.common.Secured; import javax.annotation.security.PermitAll; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; /** * * @author ASUS */ public interface DataConsumptionOperationsRS { @POST @Produces({MediaType.APPLICATION_JSON}) @Consumes({MediaType.APPLICATION_JSON}) @Path("find/{referentiel_version}/{code_type_fichier}") @Secured(action = "*", enable = true) @LoggingInterceptorBinding(message = "Consultation des données du typefichier {code_type_fichier}") public Response find(@Context HttpHeaders headers, @PathParam("referentiel_version") String referentielVersion, @PathParam("code_type_fichier") String codeTypeFichier, CriteriaFormRequest criteriaFormRequest); @POST @Produces({MediaType.APPLICATION_JSON}) @Consumes({MediaType.APPLICATION_JSON}) @Path("find-with-pagination/{referentiel_version}/{code_type_fichier}/{pageNumber}/{pageSize}") @Secured(action = "consulter", enable = true) @LoggingInterceptorBinding(message = "Consultation des données du typefichier {code_type_fichier}") public Response findWithPagination(@Context HttpHeaders headers, @PathParam("referentiel_version") String referentielVersion, @PathParam("code_type_fichier") String codeTypeFichier, @PathParam("pageNumber") Integer pageNumber, @PathParam("pageSize") Integer pageSize, CriteriaFormRequest criteriaFormRequest); @POST @Produces({MediaType.APPLICATION_JSON}) @Consumes({MediaType.APPLICATION_JSON}) @Path("count/{referentiel_version}/{code_type_fichier}") @PermitAll @LoggingInterceptorBinding(message = "Compte des données du typefichier {code_type_fichier}") public Long count(@Context HttpHeaders headers, @PathParam("referentiel_version") String referentielVersion, @PathParam("code_type_fichier") String codeTypeFichier, CriteriaFormRequest criteriaFormRequest); @GET @Produces({MediaType.APPLICATION_JSON}) @Path("print-metadata/{referentiel_version}/{code_type_fichier}") @PermitAll @LoggingInterceptorBinding(message = "Consultation des colonnes imprimables du typefichier [code_type_fichier]") public Response getPrintableColumns(@Context HttpHeaders headers, @PathParam("referentiel_version") String referentielVersion, @PathParam("code_type_fichier") String codeTypeFichier); @POST @Produces(MediaType.APPLICATION_OCTET_STREAM) @Path("print-all/{referentiel_version}/{code_type_fichier}") @Secured(action = "exporter") @LoggingInterceptorBinding(message = "Impression d'un état du typefichier {code_type_fichier}") public Response printAll(@Context HttpHeaders headers, @PathParam("referentiel_version") String referentielVersion, @PathParam("code_type_fichier") String codeTypeFichier, CustomTypeFichierReportConfigurationFromView reportConfiguration); }