/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Core/Controllers/ValuesController.cs
92 строки
4 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using Gridient.Core.Features.FieldValues.Commands; using Gridient.Core.Features.FieldValues.Queries; using Gridient.Core.Models; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Gridient.Core.Controllers { [ApiController] [Authorize] public class ValuesController(IMediator mediator) : ListsBaseController { private readonly IMediator _mediator = mediator; [HttpPost] [Route("api/lists/{listId:int}/items/search")] public async Task<IActionResult> GetElements(int listId, [FromBody] GetElementsRequest request, CancellationToken cancellationToken) { request.ListId = listId; var query = new GetElementsQuery(CurrentUserLogin, request); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } [HttpGet] [Route("api/lists/{listId:int}/items/{itemId:int}/values")] public async Task<IActionResult> GetValuesById(int listId, int itemId, CancellationToken cancellationToken) { var query = new GetValuesByIdQuery(listId, itemId); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } [HttpGet] [Route("api/lists/{listId:int}/items/{itemId:int}/view-values")] public async Task<IActionResult> GetViewValuesById(int listId, int itemId, CancellationToken cancellationToken) { var query = new GetViewValuesByIdQuery(listId, itemId); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } [HttpPost] [Route("api/lists/{listId:int}/items")] public async Task<ActionResult> CreateElement(int listId, [FromBody] CreateListItemRequest listItemParams, CancellationToken cancellationToken) { listItemParams.ListId = listId; var command = new CreateElementCommand(CurrentUserLogin, listId, listItemParams.FieldValues); await _mediator.Send(command, cancellationToken); return Ok(); } [HttpPost] [Route("api/lists/{listId:int}/items/{itemId:int}")] public async Task<ActionResult> UpdateElement(int listId, int itemId, [FromBody] UpdateListItemRequest listItemParams, CancellationToken cancellationToken) { listItemParams.ListId = listId; listItemParams.ItemId = itemId; var command = new UpdateElementCommand(CurrentUserLogin, listId, itemId, listItemParams.FieldValues); await _mediator.Send(command, cancellationToken); return Ok(); } [HttpDelete] [Route("api/lists/{listId:int}/items/{itemId:int}")] public async Task<IActionResult> Delete(int listId, int itemId, CancellationToken cancellationToken) { var command = new DeleteElementCommand(CurrentUserLogin, listId, itemId); await _mediator.Send(command, cancellationToken); return Ok(); } [HttpGet] [Route("api/lists/{listId:int}/fields/{fieldId:int}/lookup-values")] public async Task<IActionResult> GetLookupValues(int listId, int fieldId, CancellationToken cancellationToken) { var query = new GetLookupValuesQuery(listId, fieldId); var result = await _mediator.Send(query, cancellationToken); return Ok(result); } [HttpPost] [Route("api/lists/{listId:int}/items/{itemId:int}/versions/{versionId:int}")] public async Task<IActionResult> SetVersionValues(int listId, int itemId, int versionId, CancellationToken cancellationToken) { var command = new RestoreVersionCommand(CurrentUserLogin, listId, itemId, versionId); await _mediator.Send(command, cancellationToken); return Ok(); } } }