using Infrastructure; using Microsoft.AspNetCore.Mvc; using OpenAuth.App.Permission; using OpenAuth.App.Permission.Request; using OpenAuth.Repository; using OpenAuth.Repository.Domain; namespace OpenAuth.WebApi.Controllers.Permission { /// /// 数据权限控制器 /// [ApiController] [Route("api/[controller][action]")] public class BaseDataAuthController : ControllerBase { private readonly BaseDataAuthorizeApp _baseDataAuthorizeApp; /// /// 构造方法 /// /// 数据权限操作接口 public BaseDataAuthController(BaseDataAuthorizeApp baseDataAuthorizeApp) { _baseDataAuthorizeApp = baseDataAuthorizeApp; } #region 获取数据 /// /// 获取数据权限对应关系数据列表 /// /// 用户或角色主键 /// 1.普通权限 2.自定义表单权限 /// [HttpGet("permission/data/page")] public async Task>>> GetPageList([FromQuery] BaseDataAuthListReq req) { return await _baseDataAuthorizeApp.GetPageList(req); } /// /// 获取数据权限数据 /// /// 主键 /// [HttpGet("permission/data/{id}")] public async Task> GetEntity(string id) { var data = await _baseDataAuthorizeApp.GetEntity(id); return new Response() { Result = data, Message = "success" }; } #endregion #region 提交数据 /// /// 新增数据权限 /// /// 实体数据 /// [HttpPost("permission/data")] public async Task> AddForm(BaseDataAuthReq entity) { // todo 保存的时候,序列化公式 await _baseDataAuthorizeApp.SaveEntity(string.Empty, entity); return new Response() { Result = "新增成功!", Message = "success" }; } /// /// 更新数据权限 /// /// 主键 /// 实体数据 /// [HttpPost("permission/data/{id}")] public async Task> UpdateForm(string id, BaseDataAuthReq entity) { await _baseDataAuthorizeApp.SaveEntity(id, entity); return new Response() { Result = "更新成功!", Message = "success" }; } /// /// 删除数据权限 /// /// 主键 /// [HttpPost("permission/data/{id}")] public async Task> DeleteForm(string id) { await _baseDataAuthorizeApp.DeleteEntity(id); return new Response() { Result = "删除成功!", Message = "success" }; } [HttpGet] public async Task GetWhereSql(string code) { return await _baseDataAuthorizeApp.GetWhereSql(code); } [HttpGet] public async Task> GetEntityByCode(string code) { return await _baseDataAuthorizeApp.GetEntityByCode(code); } #endregion } }