using AutoMapper; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; using PARR.API.Contracts.V1; using PARR.API.Contracts.V1.Requests; using PARR.API.Contracts.V1.Requests.Queries; using PARR.API.Contracts.V1.Responses; using PARR.API.Contracts.V1.Responses.Base; using PARR.API.Controllers.V1.Base; using PARR.API.Extensions; using PARR.API.Services.Interfaces; using PARR.Core.Common.Helpers; using PARR.Core.Repositories.Interfaces; using PARR.Core.Repositories.Interfaces.Schedule; using PARR.Core.Services.Shortcodes; using PARR.Domain.Common.Pagination; using PARR.Domain.Common.Roles; using PARR.Domain.Entities; using PARR.Domain.Entities.Base.History; using PARR.Domain.Enums; using PARR.Domain.Settings; namespace PARR.API.Controllers.V1 { /// /// Шаблоны /// [Authorize(Roles = ParrRoles.Administrator.Role)] public class TemplateController : BaseApiController { private readonly IMapper _mapper; private readonly ITemplateRepository _templateRepository; private readonly IRobotConfigurationRepository _robotConfigurationRepository; private readonly IClientService _clientService; private readonly ILogger _logger; private readonly IShortcodesService _shortcodesService; private readonly IOrderRepository _orderRepository; private readonly SettingsFromDb _settingsFromDb; public TemplateController( IMapper mapper, ITemplateRepository templateRepository, IRobotConfigurationRepository robotConfigurationRepository, IClientService clientService, ILogger logger, IShortcodesService shortcodesService, IOrderRepository orderRepository, SettingsFromDb settingsFromDb ) { _mapper = mapper; _templateRepository = templateRepository; _robotConfigurationRepository = robotConfigurationRepository; _clientService = clientService; _logger = logger; _shortcodesService = shortcodesService; _orderRepository = orderRepository; _settingsFromDb = settingsFromDb; } /// /// Получить список всех шаблонов постранично /// /// /// [HttpGet(ApiRoutes.Template.GetAll)] public async Task GetAll([FromQuery] PaginationQuery paginationQuery, [FromQuery] TemplateQuery filter) { var paginationFilter = _mapper.Map(paginationQuery); IQueryable