Skip to content
Snippets Groups Projects
Commit 02d713a2 authored by Petar Hristov's avatar Petar Hristov :speech_balloon:
Browse files

Merge branch 'Topic/1575-CheckArchivingStatus' into 'Product/1555-readOnlyResources'

Update: Check for archived status (coscine/issues#1575)

See merge request !34
parents cdf73ffb 29c0c3ae
No related branches found
No related tags found
3 merge requests!37Product/1555 read only resources,!36Sprint/2021 11,!34Update: Check for archived status (coscine/issues#1575)
using Coscine.WaterbutlerHelper; using Coscine.WaterbutlerHelper;
using Coscine.WaterbutlerHelper.ReturnObjects; using Coscine.WaterbutlerHelper.ReturnObjects;
using Coscine.ApiCommons; using Coscine.ApiCommons;
using Coscine.ApiCommons.Factories; using Coscine.ApiCommons.Factories;
...@@ -94,6 +94,10 @@ namespace Coscine.Api.Tree.Controllers ...@@ -94,6 +94,10 @@ namespace Coscine.Api.Tree.Controllers
var user = _authenticator.GetUser(); var user = _authenticator.GetUser();
var check = CheckResourceIdAndPath(resourceId, path, out Resource resource); var check = CheckResourceIdAndPath(resourceId, path, out Resource resource);
if (check != null)
{
return check;
}
if (resource.ApplicationProfile[^1] != '/') if (resource.ApplicationProfile[^1] != '/')
{ {
...@@ -102,12 +106,7 @@ namespace Coscine.Api.Tree.Controllers ...@@ -102,12 +106,7 @@ namespace Coscine.Api.Tree.Controllers
if (user == null || !_resourceModel.HasAccess(user, resource, UserRoles.Owner, UserRoles.Member)) if (user == null || !_resourceModel.HasAccess(user, resource, UserRoles.Owner, UserRoles.Member))
{ {
return Forbid("User has no Access to this resource."); return BadRequest("User has no Access to this resource.");
}
if (check != null)
{
return check;
} }
try try
...@@ -223,7 +222,12 @@ namespace Coscine.Api.Tree.Controllers ...@@ -223,7 +222,12 @@ namespace Coscine.Api.Tree.Controllers
if (user == null || !_resourceModel.HasAccess(user, resource, UserRoles.Owner, UserRoles.Member)) if (user == null || !_resourceModel.HasAccess(user, resource, UserRoles.Owner, UserRoles.Member))
{ {
return Forbid("User is no project member!"); return BadRequest("User is no project member!");
}
if (resource.Archived == "1")
{
return BadRequest("The resource is readonly!");
} }
if (resource.ApplicationProfile[^1] != '/') if (resource.ApplicationProfile[^1] != '/')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment