part of the extensibility works now

This commit is contained in:
2020-05-22 21:19:49 +02:00
parent 410bfcc95c
commit 897b801cd4
19 changed files with 310 additions and 221 deletions
@@ -1,73 +0,0 @@
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using zero.Core.Api;
using zero.Core.Entities;
using zero.Core.Identity;
using zero.Web.Filters;
using zero.Web.Models;
namespace zero.Web.Controllers
{
[ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Read)]
[BackofficeGenericController]
public class ApplicationsController<T> : BackofficeController where T : IApplication
{
IApplicationsApi<T> Api;
public ApplicationsController(IApplicationsApi<T> api)
{
Api = api;
}
/// <summary>
/// Get translation by id
/// </summary>
public IActionResult GetEmpty([FromServices] T app) => JsonEdit(app);
/// <summary>
/// Get translation by id
/// </summary>
public async Task<IActionResult> GetById([FromQuery] string id) => JsonEdit(await Api.GetById(id));
/// <summary>
/// Get all translations
/// </summary>
public async Task<IActionResult> GetAll([FromQuery] ListQuery<T> query = null)
{
if (query == null)
{
return Json(await Api.GetAll());
}
return Json(await Api.GetByQuery(query));
}
/// <summary>
/// Get all available features to select
/// </summary>
public IActionResult GetAllFeatures() => Json(Options.Features.GetAllItems());
/// <summary>
/// Save translation
/// </summary>
[ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Write)]
public async Task<IActionResult> Save([FromBody] EditModel<T> model)
{
return Ok();
//Application entity = await Mapper.Map(model, await Api.GetById(null));
//return await As<IApplication, ApplicationEditModel>(await Api.Save(entity));
}
/// <summary>
/// Deletes a translation
/// </summary>
[ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Write)]
public async Task<IActionResult> Delete([FromQuery] string id) => JsonEdit(await Api.Delete(id));
}
}
+50 -78
View File
@@ -1,93 +1,65 @@
//using Microsoft.AspNetCore.Mvc;
//using System.Threading.Tasks;
//using zero.Core.Api;
//using zero.Core.Entities;
//using zero.Core.Identity;
//using zero.Core.Options;
//using zero.Web.Models;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using zero.Core.Api;
using zero.Core.Entities;
using zero.Core.Identity;
//namespace zero.Web.Controllers
//{
// [ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Read)]
// public class ApplicationsController : BackofficeController
// {
// IApplicationsApi<Application> Api;
namespace zero.Web.Controllers
{
[ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Read)]
public class ApplicationsController<T> : BackofficeController where T : IApplication
{
IApplicationsApi<T> Api;
// public ApplicationsController(IApplicationsApi<Application> api)
// {
// Api = api;
// }
public ApplicationsController(IApplicationsApi<T> api)
{
Api = api;
}
// /// <summary>
// /// Get translation by id
// /// </summary>
// public IActionResult GetEmpty([FromServices] IApplication app)
// {
// return JsonEdit(app);
// }
/// <summary>
/// Get translation by id
/// </summary>
public IActionResult GetEmpty([FromServices] T app) => JsonEdit(app);
// /// <summary>
// /// Get translation by id
// /// </summary>
// public async Task<IActionResult> GetById([FromQuery] string id)
// {
// return JsonEdit(await Api.GetById(id));
// }
/// <summary>
/// Get translation by id
/// </summary>
public async Task<IActionResult> GetById([FromQuery] string id) => JsonEdit(await Api.GetById(id));
// /// <summary>
// /// Get all translations
// /// </summary>
// public async Task<IActionResult> GetAll([FromQuery] ListQuery<Application> query = null)
// {
// if (query == null)
// {
// return Json(await Api.GetAll());
// }
/// <summary>
/// Get all translations
/// </summary>
public async Task<IActionResult> GetAll([FromQuery] ListQuery<T> query = null)
{
if (query == null)
{
return Json(await Api.GetAll());
}
// return Json(await Api.GetByQuery(query));
// }
return Json(await Api.GetByQuery(query));
}
// /// <summary>
// /// Get all available features to select
// /// </summary>
// public IActionResult GetAllFeatures()
// {
// return Json(Options.Features.GetAllItems());
// }
/// <summary>
/// Get all available features to select
/// </summary>
public IActionResult GetAllFeatures() => Json(Options.Features.GetAllItems());
// /// <summary>
// /// Save translation
// /// </summary>
// [ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Write)]
// public async Task<IActionResult> Save([FromBody] EditModel<IApplication> model)
// {
// return Ok();
// //Application entity = await Mapper.Map(model, await Api.GetById(null));
// //return await As<IApplication, ApplicationEditModel>(await Api.Save(entity));
// }
/// <summary>
/// Save translation
/// </summary>
[ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Write)]
public async Task<IActionResult> Save([FromBody] T model) => Json(await Api.Save(model));
// /// <summary>
// /// Deletes a translation
// /// </summary>
// [ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Write)]
// public async Task<IActionResult> Delete([FromQuery] string id)
// {
// return JsonEdit(await Api.Delete(id));
// }
// /// <summary>
// /// Save translation
// /// </summary>
// //public async Task<IActionResult> Switch([FromQuery] string id)
// //{
// // return await As<Application, ApplicationEditModel>(await Api.Save(entity));
// //}
// }
//}
/// <summary>
/// Deletes a translation
/// </summary>
[ZeroAuthorize(Permissions.Settings.Applications, PermissionsValue.Write)]
public async Task<IActionResult> Delete([FromQuery] string id) => Json(await Api.Delete(id));
}
}
+3 -1
View File
@@ -13,6 +13,7 @@ using zero.Web.Models;
namespace zero.Web.Controllers
{
[ZeroAuthorize, CanEdit, AddToken]
[BackofficeGenericController]
public abstract class BackofficeController : Controller
{
IMapper _mapper;
@@ -42,7 +43,8 @@ namespace zero.Web.Controllers
{
return Json(new EditModel<T>()
{
Entity = data
Entity = data,
CanEdit = true
});
}