package fr.itldev.koya.services; import java.util.List; import java.util.Map; import fr.itldev.koya.model.impl.Company; import fr.itldev.koya.model.impl.User; import fr.itldev.koya.model.json.KoyaInvite; import fr.itldev.koya.services.exceptions.AlfrescoServiceException; /** * * */ public interface InvitationService extends AlfrescoService { /** * Invite user identified by email on company with rolename granted. * * @param userLogged * @param c * @param userEmail * @param roleName * @throws AlfrescoServiceException */ KoyaInvite inviteUser(User userLogged, Company c, String userEmail, String roleName) throws AlfrescoServiceException; /** * Validate invitation giving user modifications; * * @param user * @param inviteId * @param inviteTicket * @throws AlfrescoServiceException */ User validateInvitation(User user, String inviteId, String inviteTicket) throws AlfrescoServiceException; /** * Get user's pending invitation on company if exists. * * @param user * @param c * @param userToGetInvitaion * @return * @throws AlfrescoServiceException */ public Map<String, String> getInvitation(Company c, String userName) throws AlfrescoServiceException; /** * List all pending invitations for user * @param user * @param userToGetInvitaion * @return * @throws AlfrescoServiceException */ public List<Map<String, String>> listInvitations(String userName) throws AlfrescoServiceException; /** * Send invitation mail again to invitee based on invitationId * * @param user * @param inviteId * @throws AlfrescoServiceException */ public void reSendInviteMail(User user, String inviteId) throws AlfrescoServiceException; }