using Microsoft.AspNetCore.Mvc; namespace zero.Api.Endpoints.Media; public class MediaController : ZeroApiTreeEntityStoreController { public MediaController(IMediaStore store) : base(store) { } [HttpGet("empty")] [ZeroAuthorize(MediaPermissions.Create)] public virtual async Task> Empty(MediaType type, string flavor = null) => await EmptyModel(flavor, x => x.Type = type); [HttpGet("{id}")] [ZeroAuthorize(MediaPermissions.Read)] public virtual async Task> Get(string id, string changeVector = null) { zero.Media.Media model = await Store.Load(id, changeVector); if (model == null) { return NotFound(); } HttpContext.Items[ApiConstants.ChangeVector] = Store.GetChangeVector(model); if (model.Type == MediaType.Folder) { return Mapper.Map(model); } return Mapper.Map(model); } //[HttpGet("")] //[ZeroAuthorize(MediaPermissions.Read)] //public virtual Task> Get([FromQuery] ListQuery query) //{ // query.OrderQuery = q => q.OrderByDescending(x => x.IsPreferred).ThenBy(x => x.Name); // return GetModels(query); //} //[HttpPost("")] //[ZeroAuthorize(MediaPermissions.Create)] //public virtual Task> Create(MediaSave saveModel) => CreateModel(saveModel); //[HttpPut("{id}")] //[ZeroAuthorize(MediaPermissions.Update)] //public virtual Task> Update(string id, MediaSave updateModel, [FromQuery] string changeToken = null) => UpdateModel(id, updateModel, changeToken); //[HttpDelete("{id}")] //[ZeroAuthorize(MediaPermissions.Delete)] //public virtual Task> Delete(string id) => DeleteModel(id); }