Free cookie consent management tool by TermsFeed Policy Generator

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

Last change on this file since 7436 was 7436, checked in by ascheibe, 12 years ago

#1648 started working on a class which should store all user information on the client side

File size: 6.0 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    Guid 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    //TODO: i don't think this method is needed
107    [OperationContract]
108    LightweightUser Login();
109
110    [OperationContract]
111    IEnumerable<UserGroup> GetGroupsOfCurrentUser();
112
113    [OperationContract]
114    IEnumerable<Role> GetRolesOfCurrentUser();
115
116    [OperationContract]
117    IEnumerable<LightweightUser> GetAllLightweightUsers();
118
119    [OperationContract]
120    IEnumerable<LightweightUser> GetLightweightUsers(IEnumerable<Guid> ids);
121
122    [OperationContract]
123    IEnumerable<User> GetAllUsers();
124
125    [OperationContract]
126    IEnumerable<User> GetUsers(IEnumerable<Guid> ids);
127
128    [OperationContract]
129    User AddUser(User user);
130
131    [OperationContract]
132    void DeleteUser(User user);
133
134    [OperationContract]
135    void UpdateUser(User user);
136
137    [OperationContract]
138    void AddUserToRole(Role role, User user);
139
140    [OperationContract]
141    void RemoveUserFromRole(Role role, User user);
142
143    [OperationContract]
144    bool ResetPassword(User user, string oldPassword, string newPassword);
145    #endregion
146
147    #region UserGroup
148    [OperationContract]
149    IEnumerable<UserGroup> GetAllUserGroups();
150
151    [OperationContract]
152    IEnumerable<UserGroup> GetUserGroupsOfUser(Guid userId);
153
154    [OperationContract]
155    IEnumerable<UserGroup> GetUserGroups(IEnumerable<Guid> ids);
156
157    [OperationContract]
158    Guid AddUserGroup(UserGroup group);
159
160    [OperationContract]
161    void UpdateUserGroup(UserGroup group);
162
163    [OperationContract]
164    void DeleteUserGroup(UserGroup group);
165
166    [OperationContract]
167    void AddUserGroupBaseToGroup(UserGroupBase resource, UserGroup group);
168
169    [OperationContract]
170    void RemoveUserGroupBaseFromGroup(UserGroupBase resource, UserGroup group);
171    #endregion
172
173    #region UserGroupBase
174    [OperationContract]
175    IEnumerable<UserGroupBase> GetUsersAndGroups();
176
177    [OperationContract]
178    IEnumerable<UserGroupBase> GetAllLeightweightUsersAndGroups();
179
180    [OperationContract]
181    IEnumerable<UserGroupBase> GetLeightweightUsersAndGroups(IEnumerable<Guid> ids);
182    #endregion
183
184    #region UserGroupMapping
185    [OperationContract]
186    IEnumerable<UserGroupMapping> GetUserGroupMapping();
187    #endregion
188
189    #region Role
190    [OperationContract]
191    IEnumerable<Role> GetRoles();
192
193    [OperationContract]
194    Role AddRole(Role role);
195
196    /*[OperationContract]
197    void UpdateRole(Role role);*/
198
199    [OperationContract]
200    void DeleteRole(Role role);
201
202    [OperationContract]
203    IEnumerable<Role> GetUserRoles(User user);
204
205    [OperationContract]
206    void AddRoleToGroup(UserGroup userGroup, Role role);
207
208    [OperationContract]
209    void RemoveRoleFromGroup(UserGroup userGroup, Role role);
210    #endregion
211
212    #region ClientError
213    [OperationContract]
214    void ReportError(ClientError error);
215
216    [OperationContract]
217    IEnumerable<ClientError> GetClientErrors();
218
219    [OperationContract]
220    IEnumerable<ClientError> GetLastClientErrors(DateTime startDate);
221
222    [OperationContract]
223    void DeleteError(ClientError error);
224    #endregion
225  }
226}
Note: See TracBrowser for help on using the repository browser.