Free cookie consent management tool by TermsFeed Policy Generator

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

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

#1648

  • updated frame files
  • added a lightweight user dto for non-admin users
  • added access service roles
  • some more minor changes
File size: 5.5 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    User Login();
109
110    [OperationContract]
111    IEnumerable<LightweightUser> GetAllLightweightUsers();
112
113    [OperationContract]
114    IEnumerable<User> GetAllUsers();
115
116    [OperationContract]
117    IEnumerable<User> GetUsers(IEnumerable<Guid> ids);
118
119    [OperationContract]
120    User AddUser(User user);
121
122    [OperationContract]
123    void DeleteUser(User user);
124
125    [OperationContract]
126    void UpdateUser(User user);
127
128    [OperationContract]
129    void AddUserToRole(Role role, User user);
130
131    [OperationContract]
132    void RemoveUserFromRole(Role role, User user);
133
134    [OperationContract]
135    bool ResetPassword(User user, string oldPassword, string newPassword);
136    #endregion
137
138    #region UserGroup
139    [OperationContract]
140    IEnumerable<UserGroup> GetAllUserGroups();
141
142    [OperationContract]
143    IEnumerable<UserGroup> GetUserGroupsOfUser(Guid userId);
144
145    [OperationContract]
146    IEnumerable<UserGroup> GetUserGroups(IEnumerable<Guid> ids);
147
148    [OperationContract]
149    Guid AddUserGroup(UserGroup group);
150
151    [OperationContract]
152    void UpdateUserGroup(UserGroup group);
153
154    [OperationContract]
155    void DeleteUserGroup(UserGroup group);
156
157    [OperationContract]
158    void AddUserGroupBaseToGroup(UserGroupBase resource, UserGroup group);
159
160    [OperationContract]
161    void RemoveUserGroupBaseFromGroup(UserGroupBase resource, UserGroup group);
162    #endregion
163
164    #region UserGroupBase
165    [OperationContract]
166    IEnumerable<UserGroupBase> GetUsersAndGroups();
167    #endregion
168
169    #region UserGroupMapping
170    [OperationContract]
171    IEnumerable<UserGroupMapping> GetUserGroupMapping();
172    #endregion
173
174    #region Role
175    [OperationContract]
176    IEnumerable<Role> GetRoles();
177
178    [OperationContract]
179    Role AddRole(Role role);
180
181    /*[OperationContract]
182    void UpdateRole(Role role);*/
183
184    [OperationContract]
185    void DeleteRole(Role role);
186
187    [OperationContract]
188    IEnumerable<Role> GetUserRoles(User user);
189
190    [OperationContract]
191    void AddRoleToGroup(UserGroup userGroup, Role role);
192
193    [OperationContract]
194    void RemoveRoleFromGroup(UserGroup userGroup, Role role);
195    #endregion
196
197    #region ClientError
198    [OperationContract]
199    void ReportError(ClientError error);
200
201    [OperationContract]
202    IEnumerable<ClientError> GetClientErrors();
203
204    [OperationContract]
205    IEnumerable<ClientError> GetLastClientErrors(DateTime startDate);
206
207    [OperationContract]
208    void DeleteError(ClientError error);
209    #endregion
210  }
211}
Note: See TracBrowser for help on using the repository browser.