using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using RMuseum.Models.Auth.Memory; using RMuseum.Services; using System; using System.Net; using System.Threading.Tasks; namespace RMuseum.Controllers { [Produces("application/json")] [Route("api/donations")] public class DonationAccountingController : Controller { /// /// one time import /// /// [HttpPost("onetimeimport")] [Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.Donations)] [ProducesResponseType((int)HttpStatusCode.OK)] [ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))] [ProducesResponseType((int)HttpStatusCode.Unauthorized)] public async Task Import() { try { var res = await _donationService.InitializeRecords(); if (!string.IsNullOrEmpty(res.ExceptionString)) return BadRequest(res.ExceptionString); return Ok(); } catch (Exception exp) { return BadRequest(exp.ToString()); } } /// /// donation service /// private readonly IDonationService _donationService; public DonationAccountingController(IDonationService donationService) { _donationService = donationService; } } }