source: trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IUserRoleManager.cs @ 1011

Last change on this file since 1011 was 1011, checked in by msteinbi, 12 years ago

Implementation of ClientCommunicator (#399)

File size: 1.2 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.ServiceModel;
6using HeuristicLab.Hive.Contracts.BusinessObjects;
7
8namespace HeuristicLab.Hive.Contracts.Interfaces {
9  /// <summary>
10  /// This is the facade for the User/Role Manager used by the Management Console
11  /// </summary>
12  [ServiceContract]
13  public interface IUserRoleManager {
14    [OperationContract]
15    ResponseList<User> GetAllUsers();
16    [OperationContract]
17    ResponseObject<User> AddNewUser(User user);
18    [OperationContract]
19    Response RemoveUser(long userId);
20    [OperationContract]
21    ResponseObject<UserGroup> AddNewUserGroup(UserGroup userGroup);
22    [OperationContract]
23    Response RemoveUserGroup(long groupId);
24    [OperationContract]
25    [ServiceKnownType(typeof(PermissionOwner))]
26    [ServiceKnownType(typeof(User))]
27    [ServiceKnownType(typeof(UserGroup))]
28    ResponseList<UserGroup> GetAllUserGroups();
29    [OperationContract]
30    Response AddUserToGroup(long groupId, long userId);
31    [OperationContract]
32    Response AddUserGroupToGroup(long groupId, long groupToAddId);
33    [OperationContract]
34    Response RemovePermissionOwnerFromGroup(long groupId, long userId);
35  }
36}
Note: See TracBrowser for help on using the repository browser.