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)
|
||||
.Where(av => av.ParentAttachmentId == parentAttachmentId && av.TenantId == tenantId);
|
||||
|
||||
var totalPages = await versionMappingsQuery.CountAsync();
|
||||
var totalCount = totalPages / pageSize;
|
||||
var totalCount = await versionMappingsQuery.CountAsync();
|
||||
var totalPages = totalCount / pageSize;
|
||||
|
||||
var versionMappings = await versionMappingsQuery
|
||||
.OrderByDescending(da => da.ChildAttachment!.UploadedAt)
|
||||
|
@ -1,4 +1,5 @@
|
||||
using Marco.Pms.Model.Dtos.Project;
|
||||
using Marco.Pms.Model.Dtos.Util;
|
||||
using Marco.Pms.Model.Employees;
|
||||
using Marco.Pms.Model.Utilities;
|
||||
using Marco.Pms.Services.Service.ServiceInterfaces;
|
||||
@ -454,5 +455,28 @@ namespace MarcoBMS.Services.Controllers
|
||||
|
||||
#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 () =>
|
||||
{
|
||||
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 () =>
|
||||
{
|
||||
@ -1492,7 +1494,16 @@ namespace Marco.Pms.Services.Service
|
||||
}
|
||||
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
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
using Marco.Pms.Model.Dtos.Project;
|
||||
using Marco.Pms.Model.Dtos.Util;
|
||||
using Marco.Pms.Model.Employees;
|
||||
using Marco.Pms.Model.Projects;
|
||||
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<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