package com.megatim.fdxconsultation.service.impl.chat; import com.megatim.fdxconsultation.core.ifaces.administration.UserManager; import com.megatim.fdxconsultation.model.administration.User; import com.megatim.fdxconsultation.model.searchentities.UserSearch; import com.megatim.fdxconsultation.service.ifaces.chat.UserChatListRS; 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.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_ADMINISTRATION, path = "Utilisateurs pour le chat", description = "Utilisateurs pour le chat") @Path("user-chat-list") public class UserChatListRSImpl implements UserChatListRS { @Inject private UserManager manager; @AuthenticatedUser private User utilisateurConnecte; public void handleAuthenticationEvent(@Observes @AuthenticatedUser String username) { utilisateurConnecte = manager.recuperUtilisateur(username); } @Override public Response findAll(HttpHeaders headers, UserSearch searchEntity) { return Response.ok( manager.getAll(searchEntity, utilisateurConnecte) .stream() .collect(Collectors.toList()) ).build(); } @Override public Long count(HttpHeaders headers, UserSearch searchEntity) { return manager.size(searchEntity); } }