using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using DomainResults.Common; using DomainResults.Mvc; using DataProviders.Buckets; using WeatherForecast.Services; namespace WeatherForecast.Controllers; /// /// /// [AllowAnonymous] [Route("api/[controller]")] public class TemplateController : ControllerBase { private readonly IAuthorizationService _authorizationService; private readonly ITemplateService _templateService; /// /// /// /// /// public TemplateController( IAuthorizationService authorizationService, ITemplateService templateService ) { _authorizationService = authorizationService; _templateService = templateService; } /// /// Allows to upload private dkim certificate /// /// /// /// [HttpPost("{siteId}")] public IActionResult Post([FromRoute] Guid siteId, IFormFile file) { if (!(file.Length > 0)) return IDomainResult.Failed().ToActionResult(); using var ms = new MemoryStream(); file.CopyTo(ms); var result = _templateService.Post(new BucketFile(siteId, file.FileName, ms.ToArray(), file.ContentType)); return result.ToActionResult(); } /// /// Delete template /// /// /// /// [HttpDelete("{siteId}/{fileId}")] public IActionResult Delete([FromRoute] Guid siteId, [FromRoute] Guid fileId) { var result = _templateService.Delete(siteId, fileId); return result.ToActionResult(); } }