uoa-repository-manager-service/src/main/java/eu/dnetlib/repo/manager/service/AaiUserRoleService.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);
}