package com.megatim.fdxconsultation.service.impl.documents;
|
|
import com.megatim.fdxconsultation.core.ifaces.administration.UserManager;
|
import com.megatim.fdxconsultation.core.ifaces.documents.CategoryManager;
|
import com.megatim.fdxconsultation.model.administration.User;
|
import com.megatim.fdxconsultation.model.documents.Category;
|
import com.megatim.fdxconsultation.model.mappers.MapStructMapper;
|
import com.megatim.fdxconsultation.service.ifaces.documents.CategoryRS;
|
import com.megatim.fdxconsultation.tools.context.AppCommonContext;
|
import com.mgt.rs.security.core.common.AuthenticatedUser;
|
import com.mgt.rs.security.core.common.SecuredClass;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
import javax.enterprise.event.Observes;
|
import javax.inject.Inject;
|
import javax.ws.rs.Path;
|
import javax.ws.rs.core.HttpHeaders;
|
import javax.ws.rs.core.Response;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
@SecuredClass(module = AppCommonContext.MODULE_DOCUMENTATION, path = "Catégories", description = "Catégories")
|
@Path("category")
|
public class CategoryRSImpl implements CategoryRS {
|
|
@Inject
|
private CategoryManager categoryManager;
|
|
@Inject
|
private UserManager userManager;
|
|
@Inject
|
private MapStructMapper mapper;
|
|
private User connectedUser;
|
|
public void handleAuthenticationEvent(@Observes @AuthenticatedUser String username) {
|
connectedUser = userManager.recuperUtilisateur(username);
|
}
|
|
@Override
|
public Response save(HttpHeaders headers, Category entity) {
|
Category c = categoryManager.add(entity, connectedUser);
|
return Response.ok(mapper.categoryToCategorySlimDto(c)).build();
|
}
|
|
@Override
|
public Response update(HttpHeaders headers, Long id, Category entity) {
|
Category c = categoryManager.update(id, entity, connectedUser);
|
return Response.ok(mapper.categoryToCategorySlimDto(c)).build();
|
}
|
|
@Override
|
public void delete(HttpHeaders headers, Long id) {
|
Category c = categoryManager.delete(id, connectedUser);
|
}
|
|
@Override
|
public Response all(HttpHeaders headers) {
|
List<Category> categories = categoryManager.loadAll();
|
return Response.ok(categories.stream().map(c -> mapper.categoryToCategoryDto(c)).collect(Collectors.toList())).build();
|
}
|
|
}
|