using AsbCloudApp.Data; using AsbCloudApp.Services; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Threading; using System.Threading.Tasks; namespace AsbCloudWebApi.Controllers { [Route("api/admin/driller")] [ApiController] [Authorize] public class AdminDrillerController : ControllerBase { private readonly IDrillerService drillerService; public AdminDrillerController(IDrillerService drillerService) { this.drillerService = drillerService; } /// ///Добавить бурильщика /// /// Объект, описывающий бурильщика /// /// Идентификатор добавленого бурильщика [HttpPost] public async Task> InsertAsync([FromBody] DrillerDto value, CancellationToken token = default) { var result = await drillerService.InsertAsync(value, token).ConfigureAwait(false); return Ok(result); } /// /// Получить весь список бурильщиков /// /// /// Список бурильщиков [HttpGet] public async Task> GetAllAsync(CancellationToken token = default) { var result = await drillerService.GetAllAsync(token); return Ok(result); } /// /// Получить бурильщика по идентификатору /// /// Идентификатор /// /// Объект, описывающий бурильщика [HttpGet("{DrillerId}")] public async Task GetAsync(int DrillerId, CancellationToken token = default) { var driller = await drillerService.GetAsync(DrillerId, token) .ConfigureAwait(false); return Ok(driller); } /// /// Обновить данные о бурильщике /// /// Идентификатор /// Объект с измененными данными /// /// Количество измененых записей [HttpPut("{DrillerId}")] public async Task UpdateAsync(int DrillerId, DrillerDto dto, CancellationToken token = default) { var result = await drillerService.UpdateAsync(DrillerId, dto, token) .ConfigureAwait(false); return Ok(result); } /// /// Удалить бурильщика /// /// Идентификатор бурильщика /// /// Количество удаленных записей [HttpDelete("{DrillerId}")] public async Task> DeleteAsync(int DrillerId, CancellationToken token = default) { var result = await drillerService.DeleteAsync(DrillerId, token) .ConfigureAwait(false); return Ok(result); } } }