Created the structure for project-level-permissions APIs
This commit is contained in:
parent
830a9526dd
commit
391d79af3e
@ -423,8 +423,8 @@ namespace Marco.Pms.Services.Controllers
|
|||||||
.ThenInclude(da => da!.UpdatedBy)
|
.ThenInclude(da => da!.UpdatedBy)
|
||||||
.Where(av => av.ParentAttachmentId == parentAttachmentId && av.TenantId == tenantId);
|
.Where(av => av.ParentAttachmentId == parentAttachmentId && av.TenantId == tenantId);
|
||||||
|
|
||||||
var totalPages = await versionMappingsQuery.CountAsync();
|
var totalCount = await versionMappingsQuery.CountAsync();
|
||||||
var totalCount = totalPages / pageSize;
|
var totalPages = totalCount / pageSize;
|
||||||
|
|
||||||
var versionMappings = await versionMappingsQuery
|
var versionMappings = await versionMappingsQuery
|
||||||
.OrderByDescending(da => da.ChildAttachment!.UploadedAt)
|
.OrderByDescending(da => da.ChildAttachment!.UploadedAt)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Marco.Pms.Model.Dtos.Project;
|
using Marco.Pms.Model.Dtos.Project;
|
||||||
|
using Marco.Pms.Model.Dtos.Util;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
using Marco.Pms.Services.Service.ServiceInterfaces;
|
using Marco.Pms.Services.Service.ServiceInterfaces;
|
||||||
@ -454,5 +455,28 @@ namespace MarcoBMS.Services.Controllers
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
[HttpPost("assign/project-level-permission")]
|
||||||
|
|
||||||
|
public async Task<IActionResult> ManageProjectLevelPermission([FromBody] ProjctLevelPermissionDto model)
|
||||||
|
{
|
||||||
|
Employee loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var response = await _projectServices.ManageProjectLevelPermissionAsync(model, tenantId, loggedInEmployee);
|
||||||
|
return StatusCode(response.StatusCode, response);
|
||||||
|
}
|
||||||
|
[HttpGet("get/project-level-permission/employee/{employeeId}/prject/{projectId}")]
|
||||||
|
public async Task<IActionResult> GetAssignedProjectLevelPermission(Guid employeeId, Guid projectId)
|
||||||
|
{
|
||||||
|
Employee loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var response = await _projectServices.GetAssignedProjectLevelPermissionAsync(employeeId, projectId, tenantId, loggedInEmployee);
|
||||||
|
return StatusCode(response.StatusCode, response);
|
||||||
|
}
|
||||||
|
[HttpGet("get/proejct-level/modules")]
|
||||||
|
public async Task<IActionResult> AssignProjectLevelModules()
|
||||||
|
{
|
||||||
|
Employee loggedInEmployee = await _userHelper.GetCurrentEmployeeAsync();
|
||||||
|
var response = await _projectServices.AssignProjectLevelModulesAsync(tenantId, loggedInEmployee);
|
||||||
|
return StatusCode(response.StatusCode, response);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
};
|
@ -1473,7 +1473,9 @@ namespace Marco.Pms.Services.Service
|
|||||||
var employeeTask = Task.Run(async () =>
|
var employeeTask = Task.Run(async () =>
|
||||||
{
|
{
|
||||||
await using var context = await _dbContextFactory.CreateDbContextAsync();
|
await using var context = await _dbContextFactory.CreateDbContextAsync();
|
||||||
return await context.ProjectAllocations.FirstOrDefaultAsync(e => e.Id == model.EmployeeId && e.TenantId == tenantId && e.IsActive);
|
return await context.ProjectAllocations.Include(pa => pa.Employee)
|
||||||
|
.Where(pa => pa.EmployeeId == model.EmployeeId && pa.ProjectId == model.ProjectId && pa.TenantId == tenantId && pa.IsActive)
|
||||||
|
.Select(pa => pa.Employee).FirstOrDefaultAsync();
|
||||||
});
|
});
|
||||||
var projectTask = Task.Run(async () =>
|
var projectTask = Task.Run(async () =>
|
||||||
{
|
{
|
||||||
@ -1492,7 +1494,16 @@ namespace Marco.Pms.Services.Service
|
|||||||
}
|
}
|
||||||
public async Task<ApiResponse<object>> AssignProjectLevelModulesAsync(Guid tenantId, Employee loggedInEmployee)
|
public async Task<ApiResponse<object>> AssignProjectLevelModulesAsync(Guid tenantId, Employee loggedInEmployee)
|
||||||
{
|
{
|
||||||
return ApiResponse<object>.SuccessResponse("");
|
var moduleList = new Guid[]
|
||||||
|
{
|
||||||
|
Guid.Parse("53176ebf-c75d-42e5-839f-4508ffac3def"),
|
||||||
|
Guid.Parse("9d4b5489-2079-40b9-bd77-6e1bf90bc19f"),
|
||||||
|
Guid.Parse("81ab8a87-8ccd-4015-a917-0627cee6a100"),
|
||||||
|
Guid.Parse("52c9cf54-1eb2-44d2-81bb-524cf29c0a94"),
|
||||||
|
Guid.Parse("a8cf4331-8f04-4961-8360-a3f7c3cc7462")
|
||||||
|
};
|
||||||
|
var featurePermissions = await _context.FeaturePermissions.Include(fp => fp.Feature).Where(fp => moduleList.Contains(fp.Id) && fp.IsEnabled).ToListAsync();
|
||||||
|
return ApiResponse<object>.SuccessResponse(featurePermissions);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Marco.Pms.Model.Dtos.Project;
|
using Marco.Pms.Model.Dtos.Project;
|
||||||
|
using Marco.Pms.Model.Dtos.Util;
|
||||||
using Marco.Pms.Model.Employees;
|
using Marco.Pms.Model.Employees;
|
||||||
using Marco.Pms.Model.Projects;
|
using Marco.Pms.Model.Projects;
|
||||||
using Marco.Pms.Model.Utilities;
|
using Marco.Pms.Model.Utilities;
|
||||||
@ -34,5 +35,10 @@ namespace Marco.Pms.Services.Service.ServiceInterfaces
|
|||||||
Task<List<ProjectAllocation>> GetTeamByProject(Guid TenantId, Guid ProjectId, bool IncludeInactive);
|
Task<List<ProjectAllocation>> GetTeamByProject(Guid TenantId, Guid ProjectId, bool IncludeInactive);
|
||||||
Task<List<Guid>> GetMyProjectIdsAsync(Guid tenantId, Employee LoggedInEmployee);
|
Task<List<Guid>> GetMyProjectIdsAsync(Guid tenantId, Employee LoggedInEmployee);
|
||||||
|
|
||||||
|
|
||||||
|
Task<ApiResponse<object>> ManageProjectLevelPermissionAsync(ProjctLevelPermissionDto model, Guid tenantId, Employee loggedInEmployee);
|
||||||
|
Task<ApiResponse<object>> GetAssignedProjectLevelPermissionAsync(Guid employeeId, Guid projectId, Guid tenantId, Employee loggedInEmployee);
|
||||||
|
Task<ApiResponse<object>> AssignProjectLevelModulesAsync(Guid tenantId, Employee loggedInEmployee);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user