1 package fr.ifremer.dali.service.administration.user;
2
3 /*
4 * #%L
5 * Dali :: Core
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2014 - 2015 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
26 import fr.ifremer.dali.dto.configuration.filter.person.PersonCriteriaDTO;
27 import fr.ifremer.dali.dto.referential.PersonDTO;
28 import fr.ifremer.dali.dto.referential.PrivilegeDTO;
29 import org.springframework.transaction.annotation.Transactional;
30
31 import java.util.Collection;
32 import java.util.List;
33
34 /**
35 * <p>UserService interface.</p>
36 *
37 */
38 @Transactional(readOnly = true)
39 public interface UserService extends fr.ifremer.quadrige3.core.service.administration.user.UserService {
40
41 /**
42 * <p>getDepartmentIdByUserId.</p>
43 *
44 * @param userId a int.
45 * @return a {@link java.lang.Integer} object.
46 */
47 Integer getDepartmentIdByUserId(int userId);
48
49 /**
50 * <p>getActiveUsers.</p>
51 *
52 * @return a {@link java.util.List} object.
53 */
54 List<PersonDTO> getActiveUsers();
55
56 PersonDTO getUser(int userId);
57
58 /**
59 * Search User.
60 *
61 * @param searchCriteria Search parameter
62 * @return User list
63 */
64 List<PersonDTO> searchUser(PersonCriteriaDTO searchCriteria);
65
66 /**
67 * <p>getAllPrivileges.</p>
68 *
69 * @return a {@link java.util.List} object.
70 */
71 List<PrivilegeDTO> getAllPrivileges();
72
73 /**
74 * <p>getAvailablePrivileges.</p>
75 *
76 * @return a {@link java.util.List} object.
77 */
78 List<PrivilegeDTO> getAvailablePrivileges();
79
80 /**
81 * <p>getPrivilegesByUser.</p>
82 *
83 * @param userId a {@link java.lang.Integer} object.
84 * @return a {@link java.util.Collection} object.
85 */
86 Collection<PrivilegeDTO> getPrivilegesByUser(Integer userId);
87
88 }