LFlow/LFlow.Permission/Controller/PermissionController.cs

76 lines
2.1 KiB
C#

using LFlow.Base.Interfaces;
using LFlow.Base.Utils;
using LFlow.Permission.Model;
using LFlow.Permission.Service;
using Microsoft.AspNetCore.Mvc;
using Serilog;
namespace LFlow.Permission.Controller
{
/// <summary>
/// 权限控制
/// </summary>
public class PermissionController : BaseController
{
/// <summary>
/// 权限服务
/// </summary>
private IPermissionService service;
/// <summary>
/// 日志
/// </summary>
private ILogger logger;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="service"></param>
/// <param name="logger"></param>
public PermissionController(IPermissionService service, ILogger logger)
{
this.service = service;
this.logger = logger;
}
/// <summary>
/// 查询权限
/// </summary>
/// <param name="pageSize"></param>
/// <param name="pageIndex"></param>
/// <returns></returns>
[HttpGet]
public async Task<PagedApiResult<List<PermissionDto>>> GetAll(int pageSize, int pageIndex)
{
var total = 0;
var list = await service.GetPermissionListAsync(pageIndex, pageSize, ref total);
return new PagedApiResult<List<PermissionDto>>
{
Data = list,
TotalCount = total
};
}
/// <summary>
/// 添加程序权限
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<ApiResult<List<PermissionDto>>> GetProgPermissions()
{
var result = await service.GetPermissions();
return Success(result);
}
/// <summary>
/// Test method to throw an exception
/// </summary>
/// <returns>ApiResult with an error message</returns>
[HttpGet]
public Task<ApiResult<object>> TestException()
{
// var a = 0 / 1;
throw new Exception("Test exception");
// return Task.FromResult(Success((object)"Success"));
}
}
}