Skip to content
Snippets Groups Projects
Commit ecd6e588 authored by Marcel Nellesen's avatar Marcel Nellesen
Browse files

Merge branch 'Topic/607-editProjectPage' into 'Product/584-editProjectPage'

Update: Return the parent Id if accessible

See merge request coscine/api/project!59
parents 1393a2b3 5bf927e3
No related branches found
No related tags found
2 merge requests!63Sprint/2020-01,!59Update: Return the parent Id if accessible
......@@ -48,6 +48,14 @@ namespace Coscine.Api.Project.Controllers
var project = _projectModel.GetById(Guid.Parse(id));
if (_projectModel.HasAccess(user, project, UserRoles.Member, UserRoles.Owner))
{
SubProjectModel subProjectModel = new SubProjectModel();
var subProjectRel = subProjectModel.GetAllWhere((subProject) => subProject.SubProjectId == project.Id);
var parentProjectRelation = subProjectRel.FirstOrDefault();
if (parentProjectRelation != null && _projectModel.HasAccess(user, parentProjectRelation.ProjectId, UserRoles.Member, UserRoles.Owner))
{
return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project, parentProjectRelation.ProjectId));
}
return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project));
}
else
......
......
......@@ -102,6 +102,11 @@ namespace Coscine.Api.Project.Models
return projectRole;
}
public bool HasAccess(User user, Guid projectId, params string[] allowedAccess)
{
return HasAccess(user, GetById(projectId), allowedAccess);
}
public bool HasAccess(User user, Database.Model.Project project, params string[] allowedAccess)
{
ProjectRoleModel projectRoleModel = new ProjectRoleModel();
......
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment