1 package net.sumaris.core.service.administration;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import net.sumaris.core.dao.technical.SortDirection;
27 import net.sumaris.core.model.referential.UserProfile;
28 import net.sumaris.core.model.referential.UserProfileEnum;
29 import net.sumaris.core.vo.administration.user.PersonVO;
30 import net.sumaris.core.vo.data.ImageAttachmentVO;
31 import net.sumaris.core.vo.filter.PersonFilterVO;
32 import net.sumaris.core.vo.referential.ReferentialVO;
33 import org.springframework.transaction.annotation.Isolation;
34 import org.springframework.transaction.annotation.Transactional;
35
36 import java.util.List;
37
38
39
40
41
42
43
44 @Transactional(isolation = Isolation.READ_COMMITTED)
45 public interface PersonService {
46
47 @Transactional(readOnly = true)
48 List<PersonVO> findByFilter(PersonFilterVO filter, int offset, int size, String sortAttribute, SortDirection sortDirection);
49
50 @Transactional(readOnly = true)
51 Long countByFilter(PersonFilterVO filter);
52
53 @Transactional(readOnly = true)
54 PersonVO get(int userId);
55
56 @Transactional(readOnly = true)
57 PersonVO getByPubkey(String pubkey);
58
59 @Transactional(readOnly = true)
60 boolean isExistsByEmailHash(String hash);
61
62 @Transactional(readOnly = true)
63 ImageAttachmentVO getAvatarByPubkey(String pubkey);
64
65 @Transactional(readOnly = true)
66 List<String> getEmailsByProfiles(UserProfileEnum... userProfiles);
67
68 List<PersonVO> save(List<PersonVO> persons);
69
70 PersonVO save(PersonVO person);
71
72 void delete(int id);
73
74 void delete(List<Integer> ids);
75 }