Project

General

Profile

1
package eu.dnetlib.repo.manager.service;
2

    
3
import com.google.gson.JsonArray;
4
import eu.dnetlib.repo.manager.domain.dto.Role;
5

    
6
public interface AaiUserRoleService {
7

    
8
    /**
9
     * 1. Get CoPersonId by Email
10
     */
11
    Integer getCoPersonIdByEmail(String email);
12

    
13
    Integer getCoPersonIdByIdentifier();
14

    
15

    
16
    /**
17
     * 3. Get all OpenAIRE cous
18
     */
19
    JsonArray getCous();
20

    
21
    /**
22
     * 4. Get a couId by type.id
23
     *
24
     * @param type
25
     * @param id
26
     * @return
27
     */
28
    Integer getCouId(String type, String id);
29

    
30
    /**
31
     * 5. Get User non admin roles
32
     */
33
    JsonArray getRoles(Integer coPersonId);
34

    
35
    /**
36
     * 6. Get Role id of User base on couId.
37
     */
38
    Integer getRoleId(Integer coPersonId, Integer couId);
39

    
40
    /**
41
     * 16. Create a new role
42
     */
43
    void createRole(Role role);
44

    
45
    /**
46
     * 14. Assign a member role to a User
47
     */
48
    void assignMemberRole(Integer coPersonId, Integer couId, Integer id);
49

    
50
    /**
51
     * 15. Remove a member role from a User
52
     */
53
    void removeMemberRole(Integer coPersonId, Integer couId, Integer id);
54

    
55

    
56
    /**
57
     * Util function to remove the datasource prefix in role Id
58
     * @param fullName
59
     * @param prefix
60
     * @return
61
     */
62
    String getRepoNameWithoutType(String fullName, String prefix);
63

    
64
    /**
65
     * Util function to transform repoId name to roleId name
66
     * @param repoId
67
     * @param prefix
68
     * @return
69
     */
70
    String getRoleIdByRepoId(String repoId, String prefix);
71

    
72
    /**
73
     * 12. Get All Users that have a specific role
74
     * @param couId
75
     * @return
76
     */
77
    JsonArray getUsersByCouId(Integer couId);
78

    
79
}
(1-1/22)