/
softailor
/
gridient
Обзор
Документация
Войти
/
softailor
/
gridient
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/Gridient.Infrastructure.Authorization.Local/Controllers/ListsAccessController.cs
49 строк
2 KB
Jenkins
Auto add
18 фев 2026, 10:19
18 фев 2026, 10:19
1e6c4f8
Код
Авторство
О чём код?
using Gridient.Core.Controllers; using Gridient.Infrastructure.Authorization.Local.Features.ListsAccess.Commands; using Gridient.Infrastructure.Authorization.Local.Features.ListsAccess.Queries; using Gridient.Infrastructure.Authorization.Local.Models; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Gridient.Infrastructure.Authorization.Local.Controllers { [Route("api/lists")] [ApiController] [Authorize] public class ListsAccessController(IMediator mediator) : ListsBaseController { private readonly IMediator _mediator = mediator; [HttpGet] [Route("{listId:int}/permissions")] public async Task<IActionResult> GetListPermissions(int listId, CancellationToken cancellationToken) { var query = new GetListPermissionsQuery(CurrentUserLogin, listId); var results = await _mediator.Send(query, cancellationToken); return Ok(results); } [HttpGet] [Route("{listId:int}/groups")] public async Task<IActionResult> GetListGroups(int listId, CancellationToken cancellationToken) { var query = new GetListGroupsQuery(listId); var results = await _mediator.Send(query, cancellationToken); return Ok(results); } [HttpPost] [Route("{listId:int}/groups")] public async Task<ActionResult<bool>> SetListGroups(int listId, [FromBody] SetListGroupsRequest request, CancellationToken cancellationToken) { var command = new SetListGroupsCommand( listId, request.EditAccessGroups ?? [], request.ReadAccessGroups ?? []); await _mediator.Send(command, cancellationToken); return Ok(); } } }