2023-11-20 16:09:24 +01:00
|
|
|
package eu.eudat.service.user;
|
2023-11-20 16:08:43 +01:00
|
|
|
|
2023-11-20 16:09:24 +01:00
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
import eu.eudat.model.User;
|
2024-01-15 17:03:12 +01:00
|
|
|
import eu.eudat.model.persist.actionconfirmation.RemoveCredentialRequestPersist;
|
2024-01-15 12:57:33 +01:00
|
|
|
import eu.eudat.model.persist.UserMergeRequestPersist;
|
2023-11-20 16:09:24 +01:00
|
|
|
import eu.eudat.model.persist.UserPersist;
|
|
|
|
import eu.eudat.model.persist.UserRolePatchPersist;
|
2023-11-20 16:08:43 +01:00
|
|
|
import gr.cite.tools.exception.MyApplicationException;
|
|
|
|
import gr.cite.tools.exception.MyForbiddenException;
|
|
|
|
import gr.cite.tools.exception.MyNotFoundException;
|
|
|
|
import gr.cite.tools.exception.MyValidationException;
|
|
|
|
import gr.cite.tools.fieldset.FieldSet;
|
2023-12-14 17:19:43 +01:00
|
|
|
import jakarta.xml.bind.JAXBException;
|
2023-11-20 16:08:43 +01:00
|
|
|
|
|
|
|
import javax.management.InvalidApplicationException;
|
2023-11-20 16:09:24 +01:00
|
|
|
import java.io.IOException;
|
2023-11-20 16:08:43 +01:00
|
|
|
import java.util.UUID;
|
|
|
|
|
2023-11-20 16:09:24 +01:00
|
|
|
public interface UserService {
|
2023-11-20 16:08:43 +01:00
|
|
|
|
2023-11-20 16:09:24 +01:00
|
|
|
User persist(UserPersist model, FieldSet fields) throws MyForbiddenException, MyValidationException, MyApplicationException, MyNotFoundException, InvalidApplicationException, JsonProcessingException;
|
2024-01-05 13:02:22 +01:00
|
|
|
|
2023-11-29 16:41:15 +01:00
|
|
|
void updateLanguageMine(String language) throws InvalidApplicationException, JsonProcessingException;
|
2024-01-05 13:02:22 +01:00
|
|
|
|
2023-11-29 16:41:15 +01:00
|
|
|
void updateTimezoneMine(String timezone) throws JsonProcessingException;
|
2024-01-05 13:02:22 +01:00
|
|
|
|
2023-11-29 16:41:15 +01:00
|
|
|
void updateCultureMine(String culture) throws JsonProcessingException;
|
2023-11-20 16:08:43 +01:00
|
|
|
|
|
|
|
void deleteAndSave(UUID id) throws MyForbiddenException, InvalidApplicationException;
|
|
|
|
|
2023-11-20 16:09:24 +01:00
|
|
|
byte[] exportCsv() throws IOException;
|
|
|
|
|
|
|
|
User patchRoles(UserRolePatchPersist model, FieldSet fields) throws InvalidApplicationException;
|
2023-12-14 17:19:43 +01:00
|
|
|
|
2024-01-15 12:57:33 +01:00
|
|
|
void sendMergeAccountConfirmation(UserMergeRequestPersist model) throws InvalidApplicationException, JAXBException;
|
2023-12-14 17:19:43 +01:00
|
|
|
|
2024-01-15 12:57:33 +01:00
|
|
|
void sendRemoveCredentialConfirmation(RemoveCredentialRequestPersist model) throws InvalidApplicationException, JAXBException;
|
2023-12-14 17:19:43 +01:00
|
|
|
|
2024-01-15 12:57:33 +01:00
|
|
|
void confirmMergeAccount(String token) throws InvalidApplicationException, IOException;
|
2023-12-14 17:19:43 +01:00
|
|
|
|
|
|
|
void confirmRemoveCredential(String token) throws InvalidApplicationException;
|
|
|
|
|
2023-11-20 16:08:43 +01:00
|
|
|
}
|