package com.megatim.fdxconsultation.service.ifaces.favoritessearch; import com.megatim.fdxcommons.model.pojo.CriteriaFormRequest; import com.megatim.fdxconsultation.model.dto.FavoriteSearchDto; import com.megatim.fdxconsultation.model.favoritessearch.FavoriteSearch; import com.mgt.rs.security.core.common.Secured; import javax.validation.Valid; 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 Gabuntu */ public interface FavoriteSearchRS { @POST @Consumes({MediaType.APPLICATION_JSON}) @Produces({MediaType.APPLICATION_JSON}) @Path("add") @Secured(action = "consulter") public Response save(@Context HttpHeaders headers, @Valid FavoriteSearchDto favoriteSearch); @GET @Produces({MediaType.APPLICATION_JSON}) @Path("all") @Secured(action = "consulter") public Response all(@Context HttpHeaders headers); @POST @Produces({MediaType.APPLICATION_JSON}) @Path("findwithpagination/{pageNumber}/{pagesize}") @Secured(action = "consulter", enable = true) public Response findWithPagination(@Context HttpHeaders headers, @PathParam("pageNumber") Integer pageNumber, @PathParam("pagesize") Integer pageSize, CriteriaFormRequest criteriaFormRequest); @POST @Produces({MediaType.APPLICATION_JSON}) @Path("count") @Secured(actions = {"consulter"}) public Long count(@Context HttpHeaders headers, CriteriaFormRequest criteriaFormRequest); @GET @Produces({MediaType.APPLICATION_JSON}) @Path("search-columns") @Secured(actions = {"consulter"}) public Response getSearchColumns(@Context HttpHeaders headers); }