80 lines
1.7 KiB
Java
80 lines
1.7 KiB
Java
package eu.dnetlib.repo.manager.service;
|
|
|
|
import com.google.gson.JsonArray;
|
|
import eu.dnetlib.repo.manager.domain.dto.Role;
|
|
|
|
public interface AaiUserRoleService {
|
|
|
|
/**
|
|
* 1. Get CoPersonId by Email
|
|
*/
|
|
Integer getCoPersonIdByEmail(String email);
|
|
|
|
Integer getCoPersonIdByIdentifier();
|
|
|
|
|
|
/**
|
|
* 3. Get all OpenAIRE cous
|
|
*/
|
|
JsonArray getCous();
|
|
|
|
/**
|
|
* 4. Get a couId by type.id
|
|
*
|
|
* @param type
|
|
* @param id
|
|
* @return
|
|
*/
|
|
Integer getCouId(String type, String id);
|
|
|
|
/**
|
|
* 5. Get User non admin roles
|
|
*/
|
|
JsonArray getRoles(Integer coPersonId);
|
|
|
|
/**
|
|
* 6. Get Role id of User base on couId.
|
|
*/
|
|
Integer getRoleId(Integer coPersonId, Integer couId);
|
|
|
|
/**
|
|
* 16. Create a new role
|
|
*/
|
|
void createRole(Role role);
|
|
|
|
/**
|
|
* 14. Assign a member role to a User
|
|
*/
|
|
void assignMemberRole(Integer coPersonId, Integer couId, Integer id);
|
|
|
|
/**
|
|
* 15. Remove a member role from a User
|
|
*/
|
|
void removeMemberRole(Integer coPersonId, Integer couId, Integer id);
|
|
|
|
|
|
/**
|
|
* Util function to remove the datasource prefix in role Id
|
|
* @param fullName
|
|
* @param prefix
|
|
* @return
|
|
*/
|
|
String getRepoNameWithoutType(String fullName, String prefix);
|
|
|
|
/**
|
|
* Util function to transform repoId name to roleId name
|
|
* @param repoId
|
|
* @param prefix
|
|
* @return
|
|
*/
|
|
String getRoleIdByRepoId(String repoId, String prefix);
|
|
|
|
/**
|
|
* 12. Get All Users that have a specific role
|
|
* @param couId
|
|
* @return
|
|
*/
|
|
JsonArray getUsersByCouId(Integer couId);
|
|
|
|
}
|