using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Responses; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using PARR.Constants; using PARR.DAL.DomainServices.Interfaces; namespace PARR.API.Controllers.V1 { /// /// Переменные составляющие полей объектов платформы автоматизации регламентных работ /// [Authorize(Roles = ParrRoles.Administrator.Role)] public class ShortcodeController : BaseApiController { private readonly ILogger logger; private readonly IShortcodesService shortcodesService; private readonly IMapper mapper; public ShortcodeController( ILogger logger, IShortcodesService shortcodesService, IMapper mapper ) { this.logger = logger; this.shortcodesService = shortcodesService; this.mapper = mapper; } /// /// Получить список всех переменных составляющих /// /// [HttpGet(ApiRoutes.Shortcode.GetAll)] public async Task GetAll() { var shortcodes = await shortcodesService.GetAvailableShortcodesAsync(); if (!shortcodes.Any()) return NoContent(); var response = mapper.Map>(shortcodes).OrderBy(t => t.Shortcode).ToList(); return Ok(new Response>(response, true)); } } }