Files
mixtape/zero.Api/Endpoints/Applications/ApplicationsController.cs
T

39 lines
1.4 KiB
C#
Raw Normal View History

2021-12-01 13:03:06 +01:00
using Microsoft.AspNetCore.Mvc;
namespace zero.Api.Endpoints.Applications;
[ZeroSystemApi]
public class ApplicationsController : ZeroApiEntityStoreController<Application, IApplicationStore>
{
2021-12-13 16:11:52 +01:00
public ApplicationsController(IApplicationStore store) : base(store) { }
2021-12-01 13:03:06 +01:00
[HttpGet("empty")]
[ZeroAuthorize(ApplicationPermissions.Create)]
2022-01-28 14:48:11 +01:00
public virtual Task<ActionResult<Application>> Empty(string flavor = null) => EmptyModel(flavor);
2021-12-01 13:03:06 +01:00
[HttpGet("{id}")]
[ZeroAuthorize(ApplicationPermissions.Read)]
2022-01-28 14:48:11 +01:00
public virtual Task<ActionResult<Application>> Get(string id, string changeVector = null) => GetModel(id, changeVector);
2021-12-01 13:03:06 +01:00
[HttpGet("")]
[ZeroAuthorize(ApplicationPermissions.Read)]
public virtual Task<ActionResult<Paged>> Get([FromQuery] ListQuery<Application> query) => GetModels<ApplicationBasic>(query);
[HttpPost("")]
[ZeroAuthorize(ApplicationPermissions.Create)]
2022-01-28 14:48:11 +01:00
public virtual Task<ActionResult<Result>> Create(Application saveModel) => CreateModel(saveModel);
2021-12-01 13:03:06 +01:00
[HttpPut("{id}")]
[ZeroAuthorize(ApplicationPermissions.Update)]
2022-01-28 14:48:11 +01:00
public virtual Task<ActionResult<Result>> Update(string id, Application updateModel, [FromQuery] string changeToken = null) => UpdateModel(id, updateModel, changeToken);
2021-12-01 13:03:06 +01:00
[HttpDelete("{id}")]
[ZeroAuthorize(ApplicationPermissions.Delete)]
public virtual Task<ActionResult<Result>> Delete(string id) => DeleteModel(id);
}