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
+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));
}
}