1 package net.sumaris.server.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 import net.sumaris.core.exception.DataNotFoundException;
26 import net.sumaris.core.vo.administration.user.AccountVO;
27 import net.sumaris.core.vo.administration.user.PersonVO;
28 import net.sumaris.server.exception.InvalidEmailConfirmationException;
29 import org.springframework.transaction.annotation.Transactional;
30
31 import java.util.List;
32
33 @Transactional
34 public interface AccountService {
35
36 @Transactional(readOnly = true)
37 AccountVO getByPubkey(String pubkey);
38
39 AccountVO/../../../net/sumaris/core/vo/administration/user/AccountVO.html#AccountVO">AccountVO saveAccount(AccountVO account);
40
41 AccountVO./../../net/sumaris/core/vo/administration/user/AccountVO.html#AccountVO">AccountVO createAccount(AccountVO account);
42
43 AccountVO./../../net/sumaris/core/vo/administration/user/AccountVO.html#AccountVO">AccountVO updateAccount(AccountVO account);
44
45 void confirmEmail(String email, String signatureHash) throws InvalidEmailConfirmationException;
46
47 void sendConfirmationEmail(String email, String locale) throws InvalidEmailConfirmationException;
48
49 @Transactional(readOnly = true)
50 List<Integer> getProfileIdsByPubkey(String pubkey) throws DataNotFoundException;
51
52 @Transactional(readOnly = true)
53 List<String> getAllTokensByPubkey(String pubkey);
54
55 @Transactional(readOnly = true)
56 boolean isStoredToken(String token, String pubkey);
57
58 void addToken(String token, String pubkey);
59
60 @Transactional(readOnly = true)
61 AccountVO toAccountVO(PersonVO person);
62
63 }