package com.megatim.fdxconsultation.service.impl.documents; import com.megatim.fdxconsultation.core.ifaces.administration.UserManager; import com.megatim.fdxconsultation.core.ifaces.documents.DocumentManager; import com.megatim.fdxconsultation.model.administration.User; import com.megatim.fdxconsultation.model.documents.Document; import com.megatim.fdxconsultation.model.mappers.MapStructMapper; import com.megatim.fdxconsultation.service.ifaces.documents.DocumentRS; import com.megatim.fdxconsultation.tools.context.AppCommonContext; import com.mgt.rs.security.core.common.AuthenticatedUser; import com.mgt.rs.security.core.common.SecuredClass; 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 = "Documents", description = "Documents") @Path("document") public class DocumentRSImpl implements DocumentRS { @Inject private DocumentManager documentManager; @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, Long categoryId, Document entity) { Document document = documentManager.add(categoryId, entity, connectedUser); return Response.ok(mapper.documentToDocumentDto(document)).build(); } @Override public Response update(HttpHeaders headers, Long id, Document entity) { Document document = documentManager.update(id, entity, connectedUser); return Response.ok(mapper.documentToDocumentDto(document)).build(); } @Override public void delete(HttpHeaders headers, Long id) { documentManager.delete(id, connectedUser); } }