public AccessService(IPermissionResolverService permissionResolverService, UserService userService, IGroupStore groupStore, ILogger logger) { _permissionResolverService = permissionResolverService ?? throw new ArgumentNullException(nameof(permissionResolverService)); _userService = userService ?? throw new ArgumentNullException(nameof(userService)); _groupStore = groupStore ?? throw new ArgumentNullException(nameof(groupStore)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }
public UsersModule( ClientService clientService, PermissionService permissionService, UserService userService, GrainService grainService, IPermissionResolverService permissionResolverService, UserValidator validator, AccessService accessService, ILogger logger) : base("/v1/user", logger, validator, accessService) { _permissionService = permissionService ?? throw new ArgumentNullException(nameof(permissionService)); _clientService = clientService ?? throw new ArgumentNullException(nameof(clientService)); _userService = userService ?? throw new ArgumentNullException(nameof(userService)); _grainService = grainService ?? throw new ArgumentNullException(nameof(grainService)); _permissionResolverService = permissionResolverService ?? throw new ArgumentNullException(nameof(permissionResolverService)); // Get all the permissions for a user Get("/permissions", async _ => await GetCurrentUserPermissions().ConfigureAwait(false), null, "GetCurrentUserPermissions"); Get("/{identityProvider}/{subjectId}", async param => await GetUser(param).ConfigureAwait(false), null, "GetUser"); Post("/", async _ => await AddUser().ConfigureAwait(false), null, "AddUser"); Get("/{identityProvider}/{subjectId}/permissions", async param => await this.GetUserPermissions(param).ConfigureAwait(false), null, "GetUserPermissions"); Post("/{identityProvider}/{subjectId}/permissions", async param => await this.AddGranularPermissions(param).ConfigureAwait(false), null, "AddGranularPermissions"); Delete("/{identityProvider}/{subjectId}/permissions", async param => await this.DeleteGranularPermissions(param).ConfigureAwait(false), null, "DeleteGranularPermissions"); Get("/{identityProvider}/{subjectId}/groups", async _ => await GetUserGroups().ConfigureAwait(false), null, "GetUserGroups"); Get("/{identityProvider}/{subjectId}/roles", async _ => await GetUserRoles().ConfigureAwait(false), null, "GetUserRoles"); Post("/{identityProvider}/{subjectId}/roles", async param => await AddRolesToUser(param).ConfigureAwait(false), null, "AddRolesToUser"); Delete("/{identityProvider}/{subjectId}/roles", async param => await DeleteRolesFromUser(param).ConfigureAwait(false), null, "DeleteRolesFromUser"); }