using Cloud.Models; using Cloud.Requests; using Cloud.Services.Broker; using Cloud.Services.Broker.Support; using Cloud.Services.Domain; using Microsoft.AspNetCore.Mvc; namespace Cloud.Controllers { [ApiController] [Route("api/farm/{farmId}/greenhouse")] public class GreenhouseController : ControllerBase { private readonly IGreenhouseService _greenhouseService; public GreenhouseController(IGreenhouseService greenhouseService) { _greenhouseService = greenhouseService; } /// /// Возвращает текущую информацию о всех теплицах пользователя /// /// /// [HttpGet] public async Task>> GetAll(int farmId) { try { var greenhouses = _greenhouseService.GetAll(farmId); if (greenhouses == null) return NotFound("Greenhouses is not found"); return Ok(greenhouses); } catch (Exception ex) { return BadRequest(ex.Message); } } /// /// Возвращает текущую информацию о конкретной теплице /// /// /// /// [HttpGet("{greenhouseId}")] public async Task> Get(int farmId, int greenhouseId) { try { var greenhouses = _greenhouseService.GetGreenhouseInfo(greenhouseId, farmId); return Ok(greenhouses); } catch (Exception ex) { return BadRequest(ex.Message); } } /// /// Возвращает сохраненные данные для автоматизации теплицы /// /// /// /// [HttpGet("{greenhouseId}/settings")] public async Task> GetGreenhouse(int farmId, int greenhouseId) { throw new NotImplementedException(); } /// /// Сохраняет в базе данных API данные для автоматизации теплицы /// /// /// /// [HttpPost] public async Task> SaveToDatabase(int farmId, GreenhouseRequest greenhouse) { throw new NotImplementedException(); } /// /// Обновляет в базе данных API данные для автоматизации теплицы /// /// ID фермы /// ID теплицы /// Данные для обновления /// Обновленный объект Greenhouse [HttpPut("{greenhouseId}/settings")] public async Task> Update(int farmId, int greenhouseId, GreenhouseRequest greenhouse) { throw new NotImplementedException(); } /// /// Удаляет из базы данных API запись настроек автоматизации теплицы /// /// /// /// [HttpDelete("{greenhouseId}")] public async Task Delete(int farmId, int greenhouseId) { throw new NotImplementedException(); } } }