using System.Net; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Persistence.Models; using Persistence.Repositories; namespace Persistence.API.Controllers; /// /// Работа с системами /// [ApiController] [Authorize] [Route("api/[controller]")] public class DataSourceSystemController : ControllerBase { private readonly IDataSourceSystemRepository dataSourceSystemRepository; public DataSourceSystemController(IDataSourceSystemRepository dataSourceSystemRepository) { this.dataSourceSystemRepository = dataSourceSystemRepository; } /// /// Получить системы /// /// /// [HttpGet] public async Task> Get(CancellationToken token) { var result = await dataSourceSystemRepository.Get(token); return Ok(result); } /// /// Добавить систему /// /// /// /// [HttpPost] [ProducesResponseType(typeof(int), (int)HttpStatusCode.Created)] public async Task Add(DataSourceSystemDto dataSourceSystemDto, CancellationToken token) { await dataSourceSystemRepository.Add(dataSourceSystemDto, token); return CreatedAtAction(nameof(Add), true); } }