Files
mixtape/zero.Core/Database/Indexes/Pages_WithUrl.cs
T
2020-11-14 12:34:26 +01:00

38 lines
838 B
C#

using Raven.Client.Documents.Indexes;
using System.Linq;
using zero.Core.Entities;
using zero.Core.Routing;
namespace zero.Core.Database.Indexes
{
public class Pages_WithUrl : AbstractIndexCreationTask<IPage, Pages_WithUrl.Result>
{
public class Result
{
public string Id { get; set; }
public string ParentId { get; set; }
public string Name { get; set; }
public string Url { get; set; }
}
public Pages_WithUrl()
{
Map = items => items.Select(item => new Result()
{
Id = item.Id,
Name = item.Name,
ParentId = item.ParentId,
Url = LoadDocument<IRoute>("routes." + item.Hash).Url
});
Index(x => x.Id, FieldIndexing.Exact);
Index(x => x.ParentId, FieldIndexing.Exact);
StoreAllFields(FieldStorage.Yes);
}
}
}