package com.megatim.fdxconsultation.service.impl.searchs; import com.megatim.fdxcommons.model.dtos.referentiel.TypeFichierSlimDto; import com.megatim.fdxcommons.model.mappers.MapStructMapper; import com.megatim.fdxconsultation.core.ifaces.searchs.UserTypeFichierManager; import com.megatim.fdxconsultation.model.searchentities.TypeFichierSearch; import com.megatim.fdxconsultation.service.ifaces.searchs.UserTypeFichierSearchRS; import java.util.List; import java.util.stream.Collectors; import javax.inject.Inject; import javax.ws.rs.Path; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; /** * * @author Gabuntu */ @Path("user-type-fichier-search") public class UserTypeFichierSearchRSImpl implements UserTypeFichierSearchRS { @Inject private UserTypeFichierManager manager; @Inject private MapStructMapper mapper; @Override public Response formData(HttpHeaders headers, String userName) { List dtos = manager.findUserTypeFichiers(userName) .stream(). map(t -> mapper.typeFichierToTypeFichierSlimDto(t)) .collect(Collectors.toList()); return Response.ok(dtos).build(); } @Override public Response formDataWithPagination(HttpHeaders headers, String userName, Integer pageNumber, Integer pagesize, TypeFichierSearch searchEntity) { List dtos = manager.findUserTypeFichiersWithPagination(userName, searchEntity, pageNumber, pagesize) .stream(). map(t -> mapper.typeFichierToTypeFichierSlimDto(t)) .collect(Collectors.toList()); return Response.ok(dtos).build(); } @Override public Long countFormData(HttpHeaders headers, String userName, TypeFichierSearch searchEntity) { return manager.countUserTypeFichiers(userName, searchEntity); } }