/
urmat
/
taskboardproject1
Обзор
Документация
Войти
/
urmat
/
taskboardproject1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
UserService
src/UserService.Api/Controllers/ProjectController.cs
102 строки
3 KB
urmatgit
add pagination, add usercontroller
04 апр 2025, 17:11
04 апр 2025, 17:11
34b2186
Код
Авторство
О чём код?
using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System.Security.Claims; using UserService.Business.Application.Projects.Commands.CreateProject; using UserService.Business.Application.Projects.Commands.DeleteProject; using UserService.Business.Application.Projects.Commands.UpdateProject; using UserService.Business.Application.Projects.Queries.GetAll; using UserService.Business.Application.Projects.Queries.GetById; namespace UserService.Api.Controllers { [Route("api/[controller]")] [Authorize] public class ProjectController : ApiController { /// <summary> /// Получаем все проектек, кроме удаленных /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpGet] public async Task<IActionResult> GetProjectsAsync(GetProjectsRequest request) { var result = await Mediator.Send(request); return Ok(result); } /// <summary> /// Получаем все проектек, кроме удаленных, через номера старицы и userid /// </summary> /// <returns></returns> [HttpGet("bypage")] public async Task<IActionResult> GetProjectsAsync(GetProjectsRequestByPage request) { var result = await Mediator.Send(request); return Ok(result); } /// <summary> /// Получаем проек по ID /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpGet("{id:guid}")] public async Task<IActionResult> GetProjectsAsync(Guid id) { var result = await Mediator.Send(new GetProjectByIdRequest(id)) ; if (result.IsFailure) { return NotFound(); } return Ok(result.Value); } /// <summary> /// создание проекта /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPost] public async Task<IActionResult> CreateProjectAsync(CreateProjectRequest request) { var createResponse=await Mediator.Send(request); if (createResponse.IsFailure) { return BadRequest(createResponse.Error); } return Ok(createResponse.Value); } /// <summary> /// Изменить /// </summary> /// <param name="request"></param> /// <returns></returns> [HttpPut] public async Task<IActionResult> UpdateProjectAsync(UpdateProjectRequest request) { var response = await Mediator.Send(request); if (response.IsFailure) { return NotFound(response.Error); } return Ok(response.Value); } /// <summary> /// Удалить /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("{id:guid}")] public async Task<IActionResult> DeleteProjectAsync(Guid id) { var response = await Mediator.Send(new DeleteProjectRequest(id)); if (response.IsFailure) { return NotFound(response.Error); } return Ok(response.Value); } } }