ow
This commit is contained in:
1 parent
31fbe199c1
commit
1c0c83af5f
469 files changed
+62544
-5
No files matched your search
@@ -0,0 +1,252 @@
|
||||
using CloudBuilder.Core.DatabaseAccessor;
|
||||
using CloudBuilder.Core.Policy;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Transactions;
|
||||
using CloudBuilder.Core.Service;
|
||||
using CloudBuilder.Security.Service;
|
||||
using CloudBuilder.Core.DatabaseAccessor.Entity;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using CloudBuilder.Core.Policy;
|
||||
using CloudBuilder.Core.DependencyInjection.Request;
|
||||
using CloudBuilder.Security.Data;
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Security.Entity;
|
||||
using CloudBuilder.Security.SearchCriteria;
|
||||
using CloudBuilder.Security;
|
||||
using System;
|
||||
|
||||
namespace CloudBuilder.Web.Entry.Controllers.Security
|
||||
{
|
||||
[Authorize(AuthorizePolicy.PERMISSION)]
|
||||
[ApiController]
|
||||
[Route("[controller]/[action]")]
|
||||
public class SecurityLockController : ControllerBase
|
||||
{
|
||||
private readonly IApplicationService service;
|
||||
private readonly ISecurityLockService securityLockService;
|
||||
|
||||
public SecurityLockController(IApplicationService service, ISecurityLockService securityLockService)
|
||||
{
|
||||
this.service = service;
|
||||
this.securityLockService= securityLockService;
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "SecurityLock", operate: "Find")]
|
||||
[HttpPost]
|
||||
public dynamic FindByKey(SecurityLockEntityKey key)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var result = securityLockService.FindByKey(key);
|
||||
return result;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "SecurityLock", operate: "Insert")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public dynamic Insert(SecurityLockEntity data)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var result = securityLockService.Insert(data);
|
||||
return result;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "SecurityLock", operate: "Update")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public dynamic Update(SecurityLockEntity data)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var result = securityLockService.Update(data);
|
||||
return result;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "SecurityLock", operate: "Delete")]
|
||||
[HttpPost]
|
||||
public dynamic Delete(SecurityLockEntityKey key){
|
||||
try
|
||||
{
|
||||
securityLockService.Delete(key);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class IsLockedCompositionData
|
||||
{
|
||||
public string entityName { get; set; }
|
||||
public string key { get; set; }
|
||||
|
||||
}
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public dynamic IsLocked(IsLockedCompositionData compositionData)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var result = securityLockService.IsLocked(compositionData.entityName,compositionData.key);
|
||||
return result;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class LockCompositionData
|
||||
{
|
||||
public string entityName { get; set; }
|
||||
public string key { get; set; }
|
||||
public string username { get; set; }
|
||||
|
||||
}
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public dynamic Lock(LockCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
securityLockService.Lock(compositionData.entityName,compositionData.key,compositionData.username);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class ForceLockCompositionData
|
||||
{
|
||||
public string entityName { get; set; }
|
||||
public string key { get; set; }
|
||||
public string username { get; set; }
|
||||
|
||||
}
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public dynamic ForceLock(ForceLockCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
securityLockService.ForceLock(compositionData.entityName,compositionData.key,compositionData.username);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class ConsumeLockCompositionData
|
||||
{
|
||||
public string entityName { get; set; }
|
||||
public string key { get; set; }
|
||||
public string username { get; set; }
|
||||
|
||||
}
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public dynamic ConsumeLock(ConsumeLockCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
securityLockService.ConsumeLock(compositionData.entityName,compositionData.key,compositionData.username);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class ClearLockCompositionData
|
||||
{
|
||||
public string entityName { get; set; }
|
||||
public string key { get; set; }
|
||||
|
||||
}
|
||||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
public dynamic ClearLock(ClearLockCompositionData compositionData){
|
||||
try
|
||||
{
|
||||
securityLockService.ClearLock(compositionData.entityName,compositionData.key);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user