Kenmegne
7 days ago 1bc8864f134272c4bf23a9b05831803a423a4771
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 * 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();
    }
}