예제 #1
0
		private async Task DeleteUser(IOwinContext context)
		{
			var op= context.GetOperator();

			context
				.ReadJson<UserKey[]>()
				.Select(key => _collectionsReadModel.Users.Single(p => p.Key == key))
				.ForEach(u => _mediator.Publish(new DeleteUserCommand(op, u.ID)));

			await Task.Yield();
		}
예제 #2
0
		private async Task DeleteRole(IOwinContext context)
		{
			var user = context.GetOperator();

			context
				.ReadJson<RoleKey[]>()
				.Select(key => _collectionsReadModel.Roles.Single(p => p.Key == key))
				.ForEach(p => _mediator.Publish(new DeleteRoleCommand(user, p.ID)));

			await Task.Yield();
		}
예제 #3
0
		private async Task CreateUser(IOwinContext context)
		{
			var dto = context.ReadJson<CreateUserDto>();

			_mediator.Publish(new CreateUserCommand(
				context.GetOperator(),
				dto.Key,
				dto.Name
			));

			await Task.Yield();
		}
예제 #4
0
		private async Task CreateRole(IOwinContext context)
		{
			var dto = context.ReadJson<CreateRoleDto>();

			_mediator.Publish(new CreateRoleCommand(
				context.GetOperator(),
				dto.Key,
				dto.Name,
				dto.Description
			));

			await Task.Yield();
		}
예제 #5
0
		private async Task UpdatePermissionName(IOwinContext context)
		{
			var key = new PermissionKey(context.GetRouteValue("key"));
			var dto = context.ReadJson<EditPermissionDto>();

			var permission = _collectionsReadModel.Permissions.Single(p => p.Key == key);

			_mediator.Publish(new ChangePermissionNameCommand(
				context.GetOperator(),
				permission.ID,
				dto.Name
			));

			await Task.Yield();
		}
예제 #6
0
		private async Task UpdateRoleDescription(IOwinContext context)
		{
			var key = new RoleKey(context.GetRouteValue("key"));
			var dto = context.ReadJson<EditRoleDto>();

			var role = _collectionsReadModel.Roles.Single(r => r.Key == key);

			_mediator.Publish(new ChangeRoleDescriptionCommand(
				context.GetOperator(),
				role.ID,
				dto.Description
			));

			await Task.Yield();
		}
예제 #7
0
		private async Task RemovePermissions(IOwinContext context)
		{
			var key = new RoleKey(context.GetRouteValue("key"));
			var role = _collectionsReadModel.Roles.Single(r => r.Key == key);

			var permissions = context
				.ReadJson<PermissionKey[]>()
				.Select(pk => _collectionsReadModel.Permissions.Single(p => p.Key == pk))
				.Select(p => p.ID);

			_mediator.Publish(new RemovePermissionsFromRoleCommand(
				context.GetOperator(),
				role.ID,
				permissions
			));

			await Task.Yield();
		}
예제 #8
0
		private async Task UpdateUserName(IOwinContext context)
		{
			var key = new UserKey(context.GetRouteValue("key"));
			var dto = context.ReadJson<EditUserDto>();

			var user = _collectionsReadModel.Users.Single(r => r.Key == key);

			_mediator.Publish(new ChangeUserNameCommand(
				context.GetOperator(),
				user.ID,
				dto.Name
			));

			await Task.Yield();
		}
예제 #9
0
		private async Task RemoveRole(IOwinContext context)
		{
			var key = new UserKey(context.GetRouteValue("key"));
			var user = _collectionsReadModel.Users.Single(r => r.Key == key);

			var permissions = context
				.ReadJson<RoleKey[]>()
				.Select(rk => _collectionsReadModel.Roles.Single(p => p.Key == rk))
				.Select(r => r.ID);

			_mediator.Publish(new RemoveRolesFromUserCommand(
				context.GetOperator(),
				user.ID,
				permissions
			));

			await Task.Yield();
		}
예제 #10
0
		private async Task AddRevoke(IOwinContext context)
		{
			var key = new UserKey(context.GetRouteValue("key"));
			var user = _collectionsReadModel.Users.Single(r => r.Key == key);

			var permissions = context
				.ReadJson<PermissionKey[]>()
				.Select(pk => _collectionsReadModel.Permissions.Single(p => p.Key == pk))
				.Select(p => p.ID);

			_mediator.Publish(new AddRevokesToUserCommand(
				context.GetOperator(),
				user.ID,
				permissions
			));

			await Task.Yield();
		}