Files
mixtape/zero.Backoffice/Controllers/ZeroBackofficeController.cs
T

39 lines
886 B
C#
Raw Normal View History

2021-11-23 15:43:21 +01:00
using Microsoft.AspNetCore.Mvc;
namespace zero.Backoffice.Controllers;
[ZeroAuthorize]
[DisableBrowserCache]
public abstract class ZeroBackofficeController : ControllerBase
{
/// <summary>
/// Create an edit model with associated metadata and permissions from a model
/// </summary>
protected EditModel<T> GetEditModel<T>(T model)
{
return GetEditModel<T, EditModel<T>>(new EditModel<T>() { Entity = model });
}
/// <summary>
/// Create an edit model with associated metadata and permissions from a model
/// </summary>
protected TWrapper GetEditModel<T, TWrapper>(TWrapper editModel) where TWrapper : EditModel<T>, new()
{
editModel.Meta = new()
{
Token = null,
IsShared = false
};
editModel.Permissions = new()
{
CanCreate = true,
CanEdit = true,
CanDelete = true
};
return editModel;
}
}