// [Cached(600)] public async Task <IActionResult> GetProjectAdminByUserProject([FromRoute] string username, [FromRoute] string projectName, [FromRoute] string adminUserName, [FromQuery] GetAllProjectAdminsQuery query, [FromQuery] PaginationQuery paginationQuery) { var user = await _userService.GetUserByUserNameAsync(username).ConfigureAwait(false); if (user == null) { return(NotFound()); } var project = await _projectService.GetProjectByUserAsync(username, projectName).ConfigureAwait(false); if (project == null) { return(NotFound()); } var pagination = _mapper.Map <PaginationFilter>(paginationQuery); // var filter = _mapper.Map<GetAllProjectAdminsFilter>(query); var admin = await _projectAdminService.GetProjectAdminAsync(project.Id, adminUserName).ConfigureAwait(false); var adminsResponse = _mapper.Map <DragonflyUserResponse>(admin); return(Ok(adminsResponse)); }
// [Cached(600)] public async Task <IActionResult> GetAllProjectAdminsByUserProject([FromRoute] string username, [FromRoute] string projectName, [FromQuery] GetAllProjectAdminsQuery query, [FromQuery] PaginationQuery paginationQuery) { var user = await _userService.GetUserByUserNameAsync(username).ConfigureAwait(false); if (user == null) { return(NotFound()); } var project = await _projectService.GetProjectByUserAsync(username, projectName).ConfigureAwait(false); if (project == null) { return(NotFound()); } var pagination = _mapper.Map <PaginationFilter>(paginationQuery); // var filter = _mapper.Map<GetAllProjectAdminsFilter>(query); var(list, count) = await _projectAdminService.GetAllProjectAdminsAsync(project.Id, pagination).ConfigureAwait(false); var adminsResponse = _mapper.Map <List <DragonflyUserResponse> >(list); if (pagination == null || pagination.PageNumber < 1 || pagination.PageSize < 1) { return(Ok(new PagedResponse <DragonflyUserResponse>(adminsResponse, count))); } var paginationResponse = PaginationHelpers.CreatePaginatedResponse(_uriService, pagination, adminsResponse, count); return(Ok(paginationResponse)); }