/* * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template */ package com.megatim.apifdxweb.service.batch; import com.megatim.apifdxweb.core.ifaces.administration.UserManager; import com.megatim.apifdxweb.core.ifaces.tmp.TokenTmpManager; import com.megatim.apifdxweb.core.ifaces.tmp.TypeFichierDataTmpManager; import com.megatim.apifdxweb.model.administration.User; import com.megatim.apifdxweb.model.dtos.tmp.DataTmpDto; import com.megatim.apifdxweb.model.dtos.tmp.TokenTmpDto; import com.megatim.apifdxweb.model.mappers.MapStructMapper; import com.megatim.apifdxweb.model.tmp.TokenTmp; import com.mgt.rs.security.core.common.AuthenticatedUser; import com.mgt.rs.security.core.common.SecuredClass; import javax.enterprise.context.RequestScoped; 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; import com.megatim.apifdxweb.service.ifaces.batch.DataPerBatchRS; /** * * @author ASUS */ @SecuredClass(module = "application", path = "gestion des tokens pour l'envoie de données par lots", description = "gestion des tokens") @Path("batch-data") @RequestScoped public class DataPerBatchRSImpl implements DataPerBatchRS { @Inject private MapStructMapper mapper; @Inject private TypeFichierDataTmpManager manager; @Inject private UserManager userManager; private String codeParticipant; @Inject private TokenTmpManager tokenTmpManager; public void handleAuthenticationEvent(@Observes @AuthenticatedUser String connectedUserName) { User user = userManager.recuperUtilisateur(connectedUserName); this.codeParticipant = user != null ? user.getParticipant().getCode() : null; } @Override public Response addData(HttpHeaders headers, DataTmpDto entity) { manager.saveData(codeParticipant, entity); return Response.ok().build(); } @Override public Response generateToken(HttpHeaders headers, TokenTmpDto dto) { TokenTmp entity = mapper.tokenTmpDtoToTokenTmp(dto); TokenTmpDto finalDto = mapper.tokenTmpToTokenTmpDto(tokenTmpManager.saveEntity(entity, codeParticipant)); finalDto.setValidite(dto.getValidite()); return Response.ok(finalDto).build(); } }