using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using isnd.Helpers;
using isnd.Entities;
using System.ComponentModel.DataAnnotations;
using isnd.Attributes;
using System.Security.Claims;
using isn.abst;

namespace isnd.Controllers
{
    public partial class PackagesController
    {
        [HttpDelete("~" + Constants.ApiVersion + ApiConfig.Package + "/{id}/{lower?}/{type?}")]
        public async Task<IActionResult> ApiDelete(
           [FromRoute][SafeName][Required] string id, 
           [FromRoute][SafeName][Required] string lower,
           [FromRoute] string type)
        {
            var uid = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var report = await packageManager.UserAskForPackageDeletionAsync(uid, id, lower, type);
            return Ok(report);
        }
    }
}
