using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; using zero.Core; using zero.Core.Api; using zero.Core.Entities; using zero.Core.Identity; using zero.Web.Mapper; using zero.Web.Models; namespace zero.Web.Controllers { [ZeroAuthorize(Permissions.Sections.Lists, PermissionsValue.True)] public class ListsController : BackofficeController { private IListsApi Api { get; set; } public ListsController(IZeroConfiguration config, IListsApi api, IMapper mapper, IToken token) : base(config, mapper, token) { Api = api; } /// /// Get list collection by alias /// public IActionResult GetCollectionByAlias([FromQuery] string alias) { return Json(Api.GetCollectionByAlias(alias)); } /// /// Get all list collections /// public IActionResult GetCollections() { return Json(Api.GetCollections()); } /// /// Get list items in a collection /// public async Task GetAll([FromQuery] string alias, [FromQuery] ListQuery query = null) { return Json(await Api.GetByQuery(alias, query)); } } }