Exemple #1
0
        // [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));
        }
Exemple #2
0
        // [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));
        }