start new controllers
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace zero.Backoffice.Modules;
|
||||
|
||||
/// <summary>
|
||||
/// | GET /zero/api/countries/empty
|
||||
/// | GET /zero/api/countries/{id}
|
||||
/// | GET /zero/api/countries/{id}/revisions
|
||||
/// | GET /zero/api/countries[type,query,filter,...]
|
||||
/// | POST /zero/api/countries
|
||||
/// | PUT /zero/api/countries/{id}
|
||||
/// | DELETE /zero/api/countries/{id}
|
||||
/// </summary>
|
||||
public class CountriesController : ZeroBackofficeApiController
|
||||
{
|
||||
protected ICountriesCollection Collection { get; set; }
|
||||
|
||||
public CountriesController(ICountriesCollection collection)
|
||||
{
|
||||
Collection = collection;
|
||||
}
|
||||
|
||||
|
||||
[HttpGet("empty")]
|
||||
public virtual async Task<Country> New()
|
||||
{
|
||||
return await Collection.Empty();
|
||||
}
|
||||
|
||||
[HttpGet("{id}")]
|
||||
public virtual async Task<Country> Get(string id, string changeVector = null)
|
||||
{
|
||||
return await Collection.Load(id, changeVector);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public virtual async Task<Paged<Country>> Get(ListBackofficeQuery<Country> query)
|
||||
{
|
||||
return await Collection.Load<zero_Backoffice_Countries_Listing>(query.Page, query.PageSize, q => q.OrderByDescending(x => x.CreatedDate));
|
||||
}
|
||||
|
||||
//[HttpGet("{id}/revisions")]
|
||||
//public virtual async Task<List<Revision<Country>>> GetRevisions(string id)
|
||||
//{
|
||||
// return await Collection.GetRevisions(id);
|
||||
//}
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public virtual async Task<EntityResult<Country>> Create(Country country)
|
||||
{
|
||||
return await Collection.Create(country);
|
||||
}
|
||||
|
||||
[HttpPut("{id}")]
|
||||
public virtual async Task<EntityResult<Country>> Update(string id, Country country)
|
||||
{
|
||||
return await Collection.Update(country);
|
||||
}
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
public virtual async Task<EntityResult<Country>> Delete(string id)
|
||||
{
|
||||
return await Collection.Delete(id);
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Raven.Client.Documents;
|
||||
using Raven.Client.Documents.Linq;
|
||||
|
||||
namespace zero.Backoffice.Modules;
|
||||
|
||||
[ZeroAuthorize(Permissions.Settings.Countries, PermissionsValue.Read)]
|
||||
public class CountriesController : ZeroBackofficeCollectionController<Country, ICountriesCollection>
|
||||
{
|
||||
public CountriesController(ICountriesCollection collection) : base(collection)
|
||||
{
|
||||
PreviewTransform = (item, model) => model.Icon = "flag-" + item.Code.ToLowerInvariant();
|
||||
}
|
||||
|
||||
public override Task<ListResult<Country>> GetByQuery([FromQuery] ListBackofficeQuery<Country> query)
|
||||
{
|
||||
query.OrderQuery = q => q.OrderByDescending(x => x.IsPreferred).ThenBy(x => x.Name);
|
||||
return Collection.Load<zero_Backoffice_Countries_Listing>(query);
|
||||
}
|
||||
}
|
||||
@@ -31,7 +31,7 @@ namespace zero.Web.Controllers
|
||||
}
|
||||
|
||||
|
||||
public override async Task<ListResult<Language>> GetByQuery([FromQuery] ListBackofficeQuery<Language> query)
|
||||
public override async Task<Paged<Language>> GetByQuery([FromQuery] ListBackofficeQuery<Language> query)
|
||||
{
|
||||
query.OrderQuery = q => q.OrderByDescending(x => x.CreatedDate);
|
||||
return await Collection.Load<zero_Languages>(query);
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace zero.Web.Controllers
|
||||
PreviewTransform = (item, model) => model.Icon = "fth-mail";
|
||||
}
|
||||
|
||||
public override async Task<ListResult<MailTemplate>> GetByQuery([FromQuery] ListBackofficeQuery<MailTemplate> query)
|
||||
public override async Task<Paged<MailTemplate>> GetByQuery([FromQuery] ListBackofficeQuery<MailTemplate> query)
|
||||
{
|
||||
query.SearchFor(entity => entity.Name, entity => entity.Key, entity => entity.Subject);
|
||||
return await Collection.Load<zero_MailTemplates>(query);
|
||||
|
||||
@@ -18,7 +18,7 @@ public class BackofficeSearchService : IBackofficeSearchService
|
||||
}
|
||||
|
||||
|
||||
public async Task<ListResult<SearchResult>> Query(string searchTerm)
|
||||
public async Task<Paged<SearchResult>> Query(string searchTerm)
|
||||
{
|
||||
string[] searchParts = searchTerm.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries).Select(x =>
|
||||
{
|
||||
@@ -57,7 +57,7 @@ public class BackofficeSearchService : IBackofficeSearchService
|
||||
items.Add(searchResult);
|
||||
}
|
||||
|
||||
return new ListResult<SearchResult>(items, stats.TotalResults, 1, 20);
|
||||
return new Paged<SearchResult>(items, stats.TotalResults, 1, 20);
|
||||
}
|
||||
|
||||
|
||||
@@ -69,5 +69,5 @@ public class BackofficeSearchService : IBackofficeSearchService
|
||||
|
||||
public interface IBackofficeSearchService
|
||||
{
|
||||
Task<ListResult<SearchResult>> Query(string searchTerm);
|
||||
Task<Paged<SearchResult>> Query(string searchTerm);
|
||||
}
|
||||
@@ -12,5 +12,5 @@ public class SearchController : BackofficeController
|
||||
SearchService = searchService;
|
||||
}
|
||||
|
||||
public async Task<ListResult<SearchResult>> Query([FromQuery] string query) => await SearchService.Query(query);
|
||||
public async Task<Paged<SearchResult>> Query([FromQuery] string query) => await SearchService.Query(query);
|
||||
}
|
||||
@@ -14,7 +14,7 @@ namespace zero.Web.Controllers
|
||||
{
|
||||
public TranslationsController(ITranslationsCollection collection) : base(collection) { }
|
||||
|
||||
public override async Task<ListResult<Translation>> GetByQuery([FromQuery] ListBackofficeQuery<Translation> query)
|
||||
public override async Task<Paged<Translation>> GetByQuery([FromQuery] ListBackofficeQuery<Translation> query)
|
||||
{
|
||||
query.SearchFor(entity => entity.Key, entity => entity.Value);
|
||||
query.OrderQuery = q => q.OrderByDescending(x => x.CreatedDate);
|
||||
|
||||
Reference in New Issue
Block a user