using LMS.Repository.Models.Promission; using LMS.Repository.RequestModel.Permission; using LMS.service; using LMS.service.Service.PermissionService; using LMS.Tools.Extensions; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using static LMS.Common.Enums.ResponseCodeEnum; namespace Lai_server.Controllers { [Route("lms/[controller]/[action]")] [ApiController] public class PermissionController : ControllerBase { private readonly PermissionService _permissionService; public PermissionController(PermissionService permissionService) { _permissionService = permissionService; } #region 权限类型 /// /// 创建权限类型 /// /// /// [HttpPost] [Authorize] public async Task>> AddPermissionType([FromBody] PermissionTypeModel permissionType) { if (!ModelState.IsValid) { return APIResponseModel.CreateErrorResponseModel(ResponseCode.ParameterError); } long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0); return await _permissionService.AddPermissionType(permissionType, userId); } /// /// 新增权限类型 /// /// /// [HttpPost("{permissionId}")] [Authorize] public async Task>> ModifyPermissionType(string permissionId, [FromBody] PermissionTypeModel permissionType) { if (!ModelState.IsValid) { return APIResponseModel.CreateErrorResponseModel(ResponseCode.ParameterError); } long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0); return await _permissionService.ModifyPermissionType(permissionId, permissionType, userId); } /// /// 删除权限类型 /// /// /// /// [HttpDelete("{id}/{relation}")] [Authorize] public async Task>> DeletePermissionType(string id, bool relation) { if (!ModelState.IsValid) { return APIResponseModel.CreateErrorResponseModel(ResponseCode.ParameterError); } long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0); return await _permissionService.DeletePermissionType(id, relation, userId); } #endregion #region 权限 /// /// 添加对应的权限 /// /// /// [HttpPost] [Authorize] public async Task>> AddPermission([FromBody] PermissionModel model) { if (!ModelState.IsValid) { return APIResponseModel.CreateErrorResponseModel(ResponseCode.ParameterError); } long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0); return await _permissionService.AddPermission(model, userId); } ///// ///// 修改权限 ///// ///// ///// [HttpPost("{id}")] [Authorize] public async Task>> ModfiyPermission(string id, [FromBody] PermissionModel request) { if (!ModelState.IsValid) { return APIResponseModel.CreateErrorResponseModel(ResponseCode.ParameterError); } long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0); return await _permissionService.ModfiyPermission(id, request, userId); } /// /// 删除权限 /// /// /// [HttpDelete("{id}")] [Authorize] public async Task>> DeletePermission(string Id) { if (!ModelState.IsValid) { return APIResponseModel.CreateErrorResponseModel(ResponseCode.ParameterError); } long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0); return await _permissionService.DeletePermission(Id, userId); } #endregion } }