/*
|
* 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();
|
}
|
}
|