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

Merge branch 'Product/584-editProjectPage' into 'Sprint/2020-01'

Sprint/2020-01

See merge request coscine/api/project!63
parents 16ade158 9ddc6f02
No related branches found
No related tags found
2 merge requests!65Sprint/2020-01,!63Sprint/2020-01
...@@ -48,6 +48,14 @@ namespace Coscine.Api.Project.Controllers ...@@ -48,6 +48,14 @@ namespace Coscine.Api.Project.Controllers
var project = _projectModel.GetById(Guid.Parse(id)); var project = _projectModel.GetById(Guid.Parse(id));
if (_projectModel.HasAccess(user, project, UserRoles.Member, UserRoles.Owner)) 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)); return Ok(_projectModel.CreateReturnObjectFromDatabaseObject(project));
} }
else else
......
...@@ -102,6 +102,11 @@ namespace Coscine.Api.Project.Models ...@@ -102,6 +102,11 @@ namespace Coscine.Api.Project.Models
return projectRole; 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) public bool HasAccess(User user, Database.Model.Project project, params string[] allowedAccess)
{ {
ProjectRoleModel projectRoleModel = new ProjectRoleModel(); ProjectRoleModel projectRoleModel = new ProjectRoleModel();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment