50 lines
1.7 KiB
C#

using ZR.Admin.WebApi.Filters;
using ZR.ServiceCore.Model.Dto;
using ZR.ServiceCore.Services.IService;
namespace ZR.Admin.WebApi.Controllers.System;
[Verify]
[Route("system/field")]
public class SysFieldController : BaseController
{
private readonly ISysFieldService _sysFieldService;
private readonly ISysRoleFieldService _sysRoleFieldService;
public SysFieldController(ISysFieldService sysFieldService, ISysRoleFieldService sysRoleFieldService)
{
_sysFieldService = sysFieldService;
_sysRoleFieldService = sysRoleFieldService;
}
[HttpGet("getModelList")]
public IActionResult GetModelList()
{
var serviceCoreModels = AppDomain.CurrentDomain
.GetAssemblies()
.First(it => it.FullName.Contains("ZR.ServiceCore"))
.ExportedTypes
.Where(p => p.FullName.StartsWith("ZR.ServiceCore.Model"))
.Select(it => new
{
it.FullName,
// Properties = it.GetProperties()
})
.ToList();
return SUCCESS(serviceCoreModels);
}
[HttpGet("getFields")]
public async Task<IActionResult> GetFields([FromQuery] string fullName, long roleId)
=> SUCCESS(await _sysFieldService.GetFields(fullName, roleId));
[HttpPost("initFields")]
public async Task<IActionResult> InitFields()
=> SUCCESS(await _sysFieldService.InitFields());
[HttpPut("addOrUpdateSysRoleField/{roleId}")]
public async Task<IActionResult> AddOrUpdateSysRoleField([FromBody] List<SysFieldDto> sysFieldDtos,
[FromRoute] long roleId)
=> SUCCESS(await _sysRoleFieldService.InsertOrUpdateSysRoleField(sysFieldDtos, roleId));
}