示例#1
0
        public async Task <IActionResult> PostUser([FromBody] CreateSystemUserDto request)
        {
            var user = await userService.CreateAsync(request.Email, request.ToValues(), ct : HttpContext.RequestAborted);

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#2
0
        public async Task <IActionResult> GetUsers([FromQuery] QueryDto q)
        {
            var users = await userService.QueryAsync(q.Query, q.Take, q.Skip, HttpContext.RequestAborted);

            var response = new ListResponseDto <SystemUserDto>();

            response.Items.AddRange(users.Select(x => SystemUserDto.FromDomainObject(x, !IsUser(x.Id))));
            response.Total = users.Total;

            return(Ok(response));
        }
示例#3
0
        public async Task <IActionResult> GetUser(string id)
        {
            var user = await userService.FindByIdAsync(id, HttpContext.RequestAborted);

            if (user == null)
            {
                return(NotFound());
            }

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#4
0
        public async Task <IActionResult> UnlockUser(string id)
        {
            if (IsUser(id))
            {
                throw new DomainForbiddenException("You cannot unlock yourself.");
            }

            var user = await userService.UnlockAsync(id, HttpContext.RequestAborted);

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }
示例#5
0
        public async Task <IActionResult> PutUser(string id, [FromBody] UpdateSystemUserDto request)
        {
            if (IsUser(id))
            {
                throw new DomainForbiddenException("You cannot update yourself.");
            }

            var user = await userService.UpdateAsync(id, request.ToValues(), ct : HttpContext.RequestAborted);

            var response = SystemUserDto.FromDomainObject(user, !IsUser(user.Id));

            return(Ok(response));
        }