using Microsoft.AspNetCore.Mvc; using Raven.Client.Documents.Linq; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using zero.Core.Collections; using zero.Core.Database.Indexes; using zero.Core.Entities; using zero.Core.Identity; namespace zero.Web.Controllers { [ZeroAuthorize(Permissions.Settings.Languages, PermissionsValue.Read)] public class LanguagesController : BackofficeCollectionController { public LanguagesController(ILanguagesCollection collection) : base(collection) { PreviewTransform = (item, model) => model.Icon = "fth-globe"; } public IList GetAllCultures() { return Collection.GetAllCultures(); } public IList GetSupportedCultures() { return Collection.GetAllCultures(Options.SupportedLanguages); } public override async Task> GetByQuery([FromQuery] ListBackofficeQuery query) { query.OrderQuery = q => q.OrderByDescending(x => x.CreatedDate); return await Collection.GetByQuery(query); } } }