1 package fr.ifremer.quadrige3.core.dao.administration.user;
2
3 /*-
4 * #%L
5 * Quadrige3 Core :: Quadrige3 Client Core
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2017 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25 import fr.ifremer.quadrige3.core.vo.administration.user.QuserVO;
26
27 import java.util.List;
28
29
30 /**
31 * <p>
32 * QuserExtendDao interface.
33 * </p>
34 *
35 */
36 public interface QuserExtendDao extends QuserDao {
37
38 /**
39 * Create a new temporary user
40 *
41 * @param lastname
42 * a {@link java.lang.String} object.
43 * @param firstname
44 * a {@link java.lang.String} object.
45 * @param departmentId
46 * a {@link java.lang.Integer} object.
47 * @return a {@link fr.ifremer.quadrige3.core.dao.administration.user.Quser} object.
48 */
49 Quser createAsTemporary(String lastname, String firstname, Integer departmentId);
50
51 /**
52 * Save the given user
53 *
54 * @param bean
55 * a {@link QuserVO} object.
56 */
57 void save(QuserVO bean);
58
59 /**
60 * Get the departement id of an user.
61 *
62 * @param userId
63 * a int.
64 * @return The department id
65 */
66 Integer getDepartmentIdByUserId(int userId);
67
68 /**
69 * Get privileges (code) by user id
70 *
71 * @param quserId
72 * a int.
73 * @return a {@link java.util.List} object.
74 */
75 List<String> getPrivilegeCodesByUserId(int quserId);
76
77 /**
78 * <p>
79 * isLoginExtranet.
80 * </p>
81 *
82 * @param login
83 * a {@link java.lang.String} object.
84 * @return a {@link java.lang.Boolean} object.
85 */
86 Boolean isLoginExtranet(String login);
87
88 /**
89 * <p>
90 * hasPassword.
91 * </p>
92 *
93 * @param login
94 * a {@link java.lang.String} object.
95 * @return a boolean.
96 */
97 boolean hasPassword(String login);
98
99 /**
100 * <p>
101 * isLocalUserWithNoPassword.
102 * </p>
103 *
104 * @param login
105 * a {@link java.lang.String} object.
106 * @return a boolean.
107 */
108 boolean isLocalUserWithNoPassword(String login);
109
110 /**
111 * <p>
112 * getPasswordByUserId.
113 * </p>
114 *
115 * @param userId
116 * a int.
117 * @return a {@link java.lang.String} object.
118 */
119 String getPasswordByUserId(int userId);
120
121 /**
122 * <p>
123 * updatePasswordByUserId.
124 * </p>
125 *
126 * @param userId
127 * a int.
128 * @param cryptedPassword
129 * a {@link java.lang.String} object.
130 */
131 void updatePasswordByUserId(int userId, String cryptedPassword);
132
133 /**
134 * <p>
135 * resetPassword.
136 * </p>
137 *
138 * @param login
139 * a {@link java.lang.String} object.
140 */
141 void resetPassword(String login);
142
143 }