Files
mixtape/zero.Api/Endpoints/Translations/TranslationsController.cs
T

45 lines
1.5 KiB
C#
Raw Normal View History

2021-12-01 14:26:54 +01:00
using Microsoft.AspNetCore.Mvc;
namespace zero.Api.Endpoints.Translations;
public class TranslationsController : ZeroApiEntityStoreController<Translation, ITranslationStore>
{
public TranslationsController(ITranslationStore store) : base(store)
{
}
[HttpGet("empty")]
[ZeroAuthorize(TranslationPermissions.Create)]
2021-12-15 21:44:06 +01:00
public virtual Task<ActionResult<Translation>> Empty(string flavor = null) => EmptyModel(flavor);
2021-12-01 14:26:54 +01:00
[HttpGet("{id}")]
[ZeroAuthorize(TranslationPermissions.Read)]
2021-12-15 21:44:06 +01:00
public virtual Task<ActionResult<Translation>> Get(string id, string changeVector = null) => GetModel(id, changeVector);
2021-12-01 14:26:54 +01:00
[HttpGet("")]
[ZeroAuthorize(TranslationPermissions.Read)]
public virtual Task<ActionResult<Paged>> Get([FromQuery] ListQuery<Translation> query)
{
query.SearchFor(x => x.Key, x => x.Value);
2021-12-21 15:51:26 +01:00
return GetModelsByIndex<TranslationBasic, zero_Api_Translations_Listing>(query);
2021-12-01 14:26:54 +01:00
}
[HttpPost("")]
[ZeroAuthorize(TranslationPermissions.Create)]
2021-12-15 21:44:06 +01:00
public virtual Task<ActionResult<Result>> Create(Translation saveModel) => CreateModel(saveModel);
2021-12-01 14:26:54 +01:00
[HttpPut("{id}")]
[ZeroAuthorize(TranslationPermissions.Update)]
2021-12-15 21:44:06 +01:00
public virtual Task<ActionResult<Result>> Update(string id, Translation updateModel, [FromQuery] string changeToken = null) => UpdateModel(id, updateModel, changeToken);
2021-12-01 14:26:54 +01:00
[HttpDelete("{id}")]
[ZeroAuthorize(TranslationPermissions.Delete)]
public virtual Task<ActionResult<Result>> Delete(string id) => DeleteModel(id);
}