Free cookie consent management tool by TermsFeed Policy Generator

source: branches/ClientUserManagement/HeuristicLab.Services.Access/3.3/IAccessService.cs @ 7651

Last change on this file since 7651 was 7639, checked in by ascheibe, 13 years ago

#1648 added ui for assigning users to groups

File size: 6.1 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System;
23using System.Collections.Generic;
24using System.Net.Security;
25using System.ServiceModel;
26using HeuristicLab.Services.Access.DataTransfer;
27
28namespace HeuristicLab.Services.Access {
29  [ServiceContract(ProtectionLevel = ProtectionLevel.EncryptAndSign)]
30  public interface IAccessService {
31
32    #region Client
33    [OperationContract]
34    bool ClientExists(Guid id);
35
36    [OperationContract]
37    Client GetClient(Guid id);
38
39    [OperationContract]
40    IEnumerable<Client> GetClients(IEnumerable<Guid> ids);
41
42    [OperationContract]
43    IEnumerable<Client> GetAllClients();
44
45    [OperationContract]
46    void AddClient(Client client);
47
48    [OperationContract]
49    void UpdateClient(Client client);
50
51    [OperationContract]
52    void DeleteClient(Client client);
53    #endregion
54
55    #region Client Group
56    [OperationContract]
57    IEnumerable<ClientGroup> GetAllClientGroups();
58
59    [OperationContract]
60    IEnumerable<ClientGroup> GetClientGroups(IEnumerable<Guid> ids);
61
62    [OperationContract]
63    Guid AddClientGroup(ClientGroup group);
64
65    [OperationContract]
66    void UpdateClientGroup(ClientGroup group);
67
68    [OperationContract]
69    void DeleteClientGroup(ClientGroup group);
70
71    [OperationContract]
72    void AddResourceToGroup(Resource resource, ClientGroup group);
73
74    [OperationContract]
75    void RemoveResourceFromGroup(Resource resource, ClientGroup group);
76    #endregion
77
78    #region ClientGroupMapping
79    [OperationContract]
80    IEnumerable<ClientGroupMapping> GetClientGroupMapping();
81    #endregion
82
83    #region Resource
84    [OperationContract]
85    IEnumerable<Resource> GetResources();
86    #endregion
87
88    #region ClientLog
89    [OperationContract]
90    ClientLog GetLastClientLog(Guid clientId);
91
92    [OperationContract]
93    IEnumerable<ClientLog> GetClientLogs(Guid clientId);
94
95    [OperationContract]
96    IEnumerable<ClientLog> GetClientLogsSince(DateTime startDate);
97
98    [OperationContract]
99    void AddClientLog(ClientLog log);
100
101    [OperationContract]
102    void DeleteClientLog(ClientLog log);
103    #endregion
104
105    #region User
106    [OperationContract]
107    LightweightUser Login();
108
109    [OperationContract]
110    IEnumerable<UserGroup> GetGroupsOfCurrentUser();
111
112    [OperationContract]
113    IEnumerable<Role> GetRolesOfCurrentUser();
114
115    [OperationContract]
116    IEnumerable<LightweightUser> GetAllLightweightUsers();
117
118    [OperationContract]
119    IEnumerable<LightweightUser> GetLightweightUsers(IEnumerable<Guid> ids);
120
121    [OperationContract]
122    IEnumerable<User> GetAllUsers();
123
124    [OperationContract]
125    IEnumerable<User> GetUsers(IEnumerable<Guid> ids);
126
127    [OperationContract]
128    User AddUser(User user);
129
130    [OperationContract]
131    void DeleteUser(User user);
132
133    [OperationContract]
134    void UpdateUser(User user);
135
136    [OperationContract]
137    void AddUserToRole(Role role, User user);
138
139    [OperationContract]
140    void RemoveUserFromRole(Role role, User user);
141
142    [OperationContract]
143    bool ChangePassword(Guid userId, string oldPassword, string newPassword);
144
145    [OperationContract]
146    string ResetPassword(Guid userId);
147    #endregion
148
149    #region UserGroup
150    [OperationContract]
151    IEnumerable<UserGroup> GetAllUserGroups();
152
153    [OperationContract]
154    IEnumerable<UserGroup> GetUserGroupsOfUser(Guid userId);
155
156    [OperationContract]
157    IEnumerable<UserGroup> GetUserGroups(IEnumerable<Guid> ids);
158
159    [OperationContract]
160    Guid AddUserGroup(UserGroup group);
161
162    [OperationContract]
163    void UpdateUserGroup(UserGroup group);
164
165    [OperationContract]
166    void DeleteUserGroup(UserGroup group);
167
168    [OperationContract]
169    void AddUserGroupBaseToGroup(UserGroupBase resource, UserGroup group);
170
171    [OperationContract]
172    void RemoveUserGroupBaseFromGroup(UserGroupBase resource, UserGroup group);
173    #endregion
174
175    #region UserGroupBase
176    [OperationContract]
177    IEnumerable<UserGroupBase> GetUsersAndGroups();
178
179    [OperationContract]
180    IEnumerable<UserGroupBase> GetAllLeightweightUsersAndGroups();
181
182    [OperationContract]
183    IEnumerable<UserGroupBase> GetLeightweightUsersAndGroups(IEnumerable<Guid> ids);
184    #endregion
185
186    #region UserGroupMapping
187    [OperationContract]
188    IEnumerable<UserGroupMapping> GetUserGroupMapping();
189
190    [OperationContract]
191    IEnumerable<Guid> GetUserGroupIdsOfGroup(Guid groupId);
192    #endregion
193
194    #region Role
195    [OperationContract]
196    IEnumerable<Role> GetRoles();
197
198    [OperationContract]
199    Role AddRole(Role role);
200
201    /*[OperationContract]
202    void UpdateRole(Role role);*/
203
204    [OperationContract]
205    void DeleteRole(Role role);
206
207    [OperationContract]
208    IEnumerable<Role> GetUserRoles(User user);
209
210    [OperationContract]
211    void AddRoleToGroup(UserGroup userGroup, Role role);
212
213    [OperationContract]
214    void RemoveRoleFromGroup(UserGroup userGroup, Role role);
215    #endregion
216
217    #region ClientError
218    [OperationContract]
219    void ReportError(ClientError error);
220
221    [OperationContract]
222    IEnumerable<ClientError> GetClientErrors();
223
224    [OperationContract]
225    IEnumerable<ClientError> GetLastClientErrors(DateTime startDate);
226
227    [OperationContract]
228    void DeleteError(ClientError error);
229    #endregion
230  }
231}
Note: See TracBrowser for help on using the repository browser.