permission สรรหา

This commit is contained in:
Bright 2024-08-20 11:04:07 +07:00
parent 0b753795b8
commit dd5466de21
6 changed files with 220 additions and 5 deletions

View file

@ -5,6 +5,8 @@ using BMA.EHR.Recurit.Exam.Service.Response;
using BMA.EHR.Recurit.Exam.Service.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Swashbuckle.AspNetCore.Annotations;
namespace BMA.EHR.Recurit.Exam.Service.Controllers
@ -22,15 +24,17 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
private readonly PeriodExamService _periodExamService;
private readonly MinIOService _minioService;
private readonly PermissionRepository _permission;
#endregion
#region " Constructor and Destructor "
public PeriodExamController(PeriodExamService periodExamService, MinIOService minioService)
public PeriodExamController(PeriodExamService periodExamService, MinIOService minioService, PermissionRepository permission)
{
_periodExamService = periodExamService;
_minioService = minioService;
_permission = permission;
}
#endregion
@ -156,6 +160,15 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
try
{
var action = "CREATE";
var system = "SYS_EXAM_SELECT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
var items = await _periodExamService.CreateAsync(item);
return Success(items);
@ -183,6 +196,15 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
try
{
var action = "UPDATE";
var system = "SYS_EXAM_SELECT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
await _periodExamService.UpdateAsync(examId, item);
return Success();
@ -249,6 +271,15 @@ namespace BMA.EHR.Recurit.Exam.Service.Controllers
{
try
{
var action = "DELETE";
var system = "SYS_EXAM_SELECT";
var getPermission = await _permission.GetPermissionAPIAsync(action, system);
var jsonData = JsonConvert.DeserializeObject<JObject>(getPermission);
if (jsonData["status"]?.ToString() != "200")
{
return Error(jsonData["message"]?.ToString(), StatusCodes.Status403Forbidden);
}
var attrPrivilege = jsonData["result"]?.ToString();
await _periodExamService.DeleteAsync(examId);
return Success();