using Microsoft.AspNetCore.Mvc; using System.Collections.Generic; using System.Threading.Tasks; using zero.Core.Api; using zero.Core.Entities; using zero.Core.Identity; using zero.Web.Models; namespace zero.Web.Controllers { [ZeroAuthorize(Permissions.Sections.Media, PermissionsValue.True)] public class MediaFolderController : BackofficeController { IMediaFolderApi Api; public MediaFolderController(IMediaFolderApi api) { Api = api; } public async Task> GetById([FromQuery] string id) => Edit(await Api.GetById(id)); public EditModel GetEmpty([FromServices] MediaFolder blueprint) => Edit(blueprint); public async Task> GetHierarchy([FromQuery] string id) => await Api.GetHierarchy(id); public async Task> GetAllAsTree([FromQuery] string parent = null, [FromQuery] string active = null) => await Api.GetAllAsTree(parent, active); [HttpPost] public async Task> Move([FromBody] ActionCopyModel model) => await Api.Move(model.Id, model.DestinationId); public async Task> Save([FromBody] MediaFolder model) => await Api.Save(model); public async Task> Delete([FromQuery] string id) => await Api.Delete(id); } }