source: trunk/HeuristicLab.Services.Access/3.3/IAccessService.cs @ 17181

Last change on this file since 17181 was 17180, checked in by swagner, 3 years ago

#2875: Removed years in copyrights

File size: 6.1 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 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    void UpdateLightweightUser(LightweightUser user);
123
124    [OperationContract]
125    IEnumerable<User> GetAllUsers();
126
127    [OperationContract]
128    IEnumerable<User> GetUsers(IEnumerable<Guid> ids);
129
130    [OperationContract]
131    User AddUser(User user);
132
133    [OperationContract]
134    void DeleteUser(User user);
135
136    [OperationContract]
137    void UpdateUser(User user);
138
139    [OperationContract]
140    void AddUserToRole(Role role, User user);
141
142    [OperationContract]
143    void RemoveUserFromRole(Role role, User user);
144
145    [OperationContract]
146    bool ChangePassword(Guid userId, string oldPassword, string newPassword);
147
148    [OperationContract]
149    string ResetPassword(Guid userId);
150    #endregion
151
152    #region UserGroup
153    [OperationContract]
154    IEnumerable<UserGroup> GetAllUserGroups();
155
156    [OperationContract]
157    IEnumerable<UserGroup> GetUserGroupsOfUser(Guid userId);
158
159    [OperationContract]
160    IEnumerable<UserGroup> GetUserGroups(IEnumerable<Guid> ids);
161
162    [OperationContract]
163    Guid AddUserGroup(UserGroup group);
164
165    [OperationContract]
166    void UpdateUserGroup(UserGroup group);
167
168    [OperationContract]
169    void DeleteUserGroup(UserGroup group);
170
171    [OperationContract]
172    void AddUserGroupBaseToGroup(UserGroupBase resource, UserGroup group);
173
174    [OperationContract]
175    void RemoveUserGroupBaseFromGroup(UserGroupBase resource, UserGroup group);
176    #endregion
177
178    #region UserGroupBase
179    [OperationContract]
180    IEnumerable<UserGroupBase> GetUsersAndGroups();
181
182    [OperationContract]
183    IEnumerable<UserGroupBase> GetAllLeightweightUsersAndGroups();
184
185    [OperationContract]
186    IEnumerable<UserGroupBase> GetLeightweightUsersAndGroups(IEnumerable<Guid> ids);
187    #endregion
188
189    #region UserGroupMapping
190    [OperationContract]
191    IEnumerable<UserGroupMapping> GetUserGroupMapping();
192
193    [OperationContract]
194    IEnumerable<Guid> GetUserGroupIdsOfGroup(Guid groupId);
195    #endregion
196
197    #region Role
198    [OperationContract]
199    IEnumerable<Role> GetRoles();
200
201    [OperationContract]
202    Role AddRole(Role role);
203
204    /*[OperationContract]
205    void UpdateRole(Role role);*/
206
207    [OperationContract]
208    void DeleteRole(Role role);
209
210    [OperationContract]
211    IEnumerable<Role> GetUserRoles(User user);
212
213    [OperationContract]
214    void AddRoleToGroup(UserGroup userGroup, Role role);
215
216    [OperationContract]
217    void RemoveRoleFromGroup(UserGroup userGroup, Role role);
218    #endregion
219
220    #region ClientError
221    [OperationContract]
222    void ReportError(ClientError error);
223
224    [OperationContract]
225    IEnumerable<ClientError> GetClientErrors();
226
227    [OperationContract]
228    IEnumerable<ClientError> GetLastClientErrors(DateTime startDate);
229
230    [OperationContract]
231    void DeleteError(ClientError error);
232    #endregion
233  }
234}
Note: See TracBrowser for help on using the repository browser.