Enhancement #380: Update "Create Bucket" API to Enforce Feature
This commit is contained in:
parent
aad79953f5
commit
915ad7bdb5
@ -261,6 +261,10 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
{
|
{
|
||||||
return Conflict(response);
|
return Conflict(response);
|
||||||
}
|
}
|
||||||
|
else if (response.StatusCode == 401)
|
||||||
|
{
|
||||||
|
return Unauthorized(response);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return BadRequest(response);
|
return BadRequest(response);
|
||||||
|
@ -2540,6 +2540,15 @@ namespace Marco.Pms.Services.Helpers
|
|||||||
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
var LoggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
if (bucketDto != null)
|
if (bucketDto != null)
|
||||||
{
|
{
|
||||||
|
var assignedRoleIds = await _context.EmployeeRoleMappings.Where(r => r.EmployeeId == LoggedInEmployee.Id).Select(r => r.RoleId).ToListAsync();
|
||||||
|
var permissionIds = await _context.RolePermissionMappings.Where(rp => assignedRoleIds.Contains(rp.ApplicationRoleId)).Select(rp => rp.FeaturePermissionId).Distinct().ToListAsync();
|
||||||
|
var demo = !permissionIds.Contains(directoryUser);
|
||||||
|
if (!permissionIds.Contains(directoryAdmin) && !permissionIds.Contains(directoryManager) && !permissionIds.Contains(directoryUser))
|
||||||
|
{
|
||||||
|
_logger.LogError("Employee {EmployeeId} attemped to create a bucket, but do not have permission", LoggedInEmployee.Id);
|
||||||
|
return ApiResponse<object>.ErrorResponse("You don't have permission", "You don't have permission", 401);
|
||||||
|
}
|
||||||
|
|
||||||
var existingBucket = await _context.Buckets.FirstOrDefaultAsync(b => b.Name == bucketDto.Name);
|
var existingBucket = await _context.Buckets.FirstOrDefaultAsync(b => b.Name == bucketDto.Name);
|
||||||
if (existingBucket != null)
|
if (existingBucket != null)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user