From 4d4eec548fc864ebcda2f1dd65929ceef5ccd1dc Mon Sep 17 00:00:00 2001 From: Sandra Westerhoff <21272-sandra.westerhoff@users.noreply.git.rwth-aachen.de> Date: Tue, 15 Jun 2021 14:20:00 +0000 Subject: [PATCH] Update: Check for archived status (coscine/issues#1575) --- src/Blob/Controllers/BlobController.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/Blob/Controllers/BlobController.cs b/src/Blob/Controllers/BlobController.cs index ef88a79..55e0989 100644 --- a/src/Blob/Controllers/BlobController.cs +++ b/src/Blob/Controllers/BlobController.cs @@ -1,4 +1,4 @@ -using Coscine.ApiCommons; +using Coscine.ApiCommons; using Coscine.Configuration; using Coscine.Database.DataModel; using Coscine.Database.Models; @@ -106,7 +106,7 @@ namespace Coscine.Api.Blob.Controllers if (user == null || !_resourceModel.HasAccess(user, resource, UserRoles.Owner, UserRoles.Member)) { - return Forbid("User does not have permission to the resource."); + return BadRequest("User does not have permission to the resource."); } if ((resource.Type.DisplayName.ToLower() == "rds" || resource.Type.DisplayName.ToLower() == "rdss3") && resource.ResourceTypeOptionId.HasValue) @@ -210,6 +210,11 @@ namespace Coscine.Api.Blob.Controllers return checkUser; } + if (resource.Archived == "1") + { + return BadRequest("The resource is readonly!"); + } + if (files.Count != 1) { return BadRequest($"Only one file can be uploaded per request."); @@ -277,6 +282,12 @@ namespace Coscine.Api.Blob.Controllers { return checkUser; } + + if (resource.Archived == "1") + { + return BadRequest("The resource is readonly!"); + } + try { var resourceTypeOptions = _resourceModel.GetResourceTypeOptions(resource.Id); -- GitLab