Kenmegne
7 days ago 23a46b4be35277e06ec89f48730eeb694e686be8
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
69
70
71
package com.megatim.fdxconsultation.core.ifaces.administration;
 
import com.megatim.fdxcommons.model.pojo.CriteriaEntityFromView;
import com.megatim.fdxconsultation.core.ifaces.abtracts.GenericReportingManagerIFaces;
import com.megatim.fdxconsultation.core.ifaces.abtracts.GenericCrudManagerIFaces;
import com.megatim.fdxconsultation.core.ifaces.abtracts.PaginationWithCriteriaEntity;
import com.megatim.fdxconsultation.model.administration.Role;
import com.megatim.fdxconsultation.model.administration.User;
import com.megatim.fdxconsultation.reporting.model.administration.UserReporting;
import com.megatim.fdxconsultation.model.dto.EditPasswordDto;
import com.megatim.fdxconsultation.model.dto.UserDto;
import com.megatim.fdxconsultation.model.dto.UserSlimDto;
import com.megatim.fdxconsultation.model.searchentities.UserSearch;
import java.util.List;
 
/**
 * Interface etendue par les interfaces locale et remote du manager
 *
 * @since Tue Jan 09 15:21:42 WAT 2018
 *
 */
public interface UserManager extends GenericCrudManagerIFaces<User, UserSlimDto, UserDto, Long, UserSearch>,
        PaginationWithCriteriaEntity<User, Long>,
        GenericReportingManagerIFaces<UserReporting, CriteriaEntityFromView, Long> {
 
    /**
     * Permet de recuperer un utilisateur via ces informations de connexion
     *
     * @param username
     * @param motDePasse
     * @return
     */
    User recuperUtilisateur(String username, String motDePasse);
    
    /**
     * Permet de recuperer un utilisateur via son id
     * @param id
     * @return 
     */
    User findById(Long id);
 
    /**
     * Permet de recuperer un utilisateur via ces informations de connexion
     *
     * @param username
     * @return
     */
    User recuperUtilisateur(String username);
    
    void editPassword(String username, EditPasswordDto editPasswordDto);
 
    void validate(String username, User connectedUser);
 
    void reject(String username, User user, User connectedUser);
    
    /**
     * Permet de valider les paramètre de connexion
     * @param username
     * @param password
     * @return 
     */
    public List<String> validerParametresConnexion(String username, String password);
    
    /**
     * Methode Permettant de recuperer tous les utilateurs liés à un même rôle
     * @param role
     * @return 
     */
    public List<User> obtenirListeUtilisateursRole(Role role);
    
}