Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • Fix/xxxx-activateGitlab
  • Fix/xxxx-resourceVisibility
  • Hotfix/0071-fixResourceCreate
  • Hotfix/1259-pathParameterFix
  • Hotfix/1261-blockNoMetadata
  • Hotfix/1357-ymlFile
  • Hotfix/1370-swaggerDescription
  • Hotfix/1584-fixResourceLoader
  • Hotfix/1668-versionResourceConfigDepVersion
  • Hotfix/1709-fixDownloadViaRCV2
  • Hotfix/1805-listingBreaks
  • Hotfix/1945-weirdUploadBehavior
  • Hotfix/2087-efNet6
  • Hotfix/2141-fileUploadErrors
  • Hotfix/2254-fixContentLenghtCalculation
  • Hotfix/2371-fixGitLabinRCV
  • Hotfix/2452-linkedDeletion
  • Hotfix/2459-EncodingPath
  • Hotfix/64-releaseUDE
  • Issue/1792-newMetadataStructure
  • Issue/1866-ExtendResourceTypeConfigurationTUDo
  • Issue/1877-ExtendResourceTypeConfigurationNRWFHs
  • Issue/1910-MigrationtoNET6.0
  • Issue/1912-uriMadness
  • Issue/1940ResouceKeysForNRWAndTUDO
  • Issue/1951-quotaImplementation
  • Issue/2061-activateResourceTypeRdss3nrw
  • Issue/2072-wormResourceType
  • Issue/2102-gitLabResTypeRCV
  • Issue/2158-emailServicedesk
  • Issue/2162-fixFolderResponse
  • Issue/2287-guestRole
  • Issue/2309-docs
  • Issue/2349-gitlabHttps
  • Issue/2462-removeTraces
  • Issue/2464-invalidateMeta
  • Product/1100-fdsS3
  • Product/1154-resourceTypeDefinition
  • Product/1188-LoggingExtended
  • Product/1287-dotnet5Sharepoint
  • Product/1301-cleanupblobApi
  • Product/1440-largerFiles
  • Product/1555-readOnlyResources
  • Product/1629-onboardingOtherUniversities
  • Product/903-ApiTokens
  • Product/937-docuBlobApi
  • Sprint/2020-20
  • Sprint/2020-21
  • Sprint/2020-22
  • Sprint/2021-01
  • Sprint/2021-03
  • Sprint/2021-04
  • Sprint/2021-05
  • Sprint/2021-07
  • Sprint/2021-08
  • Sprint/2021-10
  • Sprint/2021-11
  • Sprint/2021-13
  • Sprint/2021-15
  • Sprint/2021-18
  • Sprint/2021-23
  • Sprint/2022-01
  • Topic/1108-docuBlobApi
  • Topic/1123-tokenValidation
  • Topic/1159-rtdApi
  • Topic/1221-LogginExtendedNew
  • Topic/1292-FdsS3
  • Topic/1303-cleanupblobApi
  • Topic/1335-dotnet5Apis
  • Topic/1339-fixGitLabToken
  • Topic/1451-uploadUrl
  • Topic/1452-largerFiles
  • Topic/1575-CheckArchivingStatus
  • Topic/1711-extendResourceTypeConfiguration
  • dev
  • gitkeep
  • master
  • v1.1.0
  • v1.1.1
  • v1.1.2
  • v1.2.0
  • v1.3.0
  • v1.3.1
  • v2.0.0
  • v2.0.1
  • v2.1.0
  • v2.2.0
  • v2.3.0
  • v2.3.1
  • v2.3.2
  • v2.3.3
  • v2.4.0
  • v2.4.1
  • v2.4.2
  • v2.4.3
  • v2.4.4
  • v2.5.0
  • v2.5.1
  • v2.5.2
  • v2.6.0
  • v2.6.1
  • v2.6.2
  • v2.6.3
  • v2.6.4
  • v2.7.0
  • v2.7.1
  • v2.7.2
  • v2.7.3
  • v2.8.0
  • v2.8.1
  • v2.8.2
  • v3.0.0
  • v3.0.1
  • v3.0.2
  • v3.0.3
  • v3.0.4
  • v3.0.5
  • v3.0.6
  • v3.1.0
  • v3.1.1
  • v3.1.2
  • v3.2.0
  • v3.2.1
  • v3.2.2
  • v3.2.3
  • v3.3.0
  • v3.3.1
  • v3.3.2
  • v3.3.3
  • v3.3.4
130 results

Target

Select target project
  • coscine/backend/apis/blobapi
1 result
Select Git revision
  • Fix/xxxx-activateGitlab
  • Fix/xxxx-resourceVisibility
  • Hotfix/0071-fixResourceCreate
  • Hotfix/1259-pathParameterFix
  • Hotfix/1261-blockNoMetadata
  • Hotfix/1357-ymlFile
  • Hotfix/1370-swaggerDescription
  • Hotfix/1584-fixResourceLoader
  • Hotfix/1668-versionResourceConfigDepVersion
  • Hotfix/1709-fixDownloadViaRCV2
  • Hotfix/1805-listingBreaks
  • Hotfix/1945-weirdUploadBehavior
  • Hotfix/2087-efNet6
  • Hotfix/2141-fileUploadErrors
  • Hotfix/2254-fixContentLenghtCalculation
  • Hotfix/2371-fixGitLabinRCV
  • Hotfix/2452-linkedDeletion
  • Hotfix/2459-EncodingPath
  • Hotfix/64-releaseUDE
  • Issue/1792-newMetadataStructure
  • Issue/1866-ExtendResourceTypeConfigurationTUDo
  • Issue/1877-ExtendResourceTypeConfigurationNRWFHs
  • Issue/1910-MigrationtoNET6.0
  • Issue/1912-uriMadness
  • Issue/1940ResouceKeysForNRWAndTUDO
  • Issue/1951-quotaImplementation
  • Issue/2061-activateResourceTypeRdss3nrw
  • Issue/2072-wormResourceType
  • Issue/2102-gitLabResTypeRCV
  • Issue/2158-emailServicedesk
  • Issue/2162-fixFolderResponse
  • Issue/2287-guestRole
  • Issue/2309-docs
  • Issue/2349-gitlabHttps
  • Issue/2462-removeTraces
  • Issue/2464-invalidateMeta
  • Product/1100-fdsS3
  • Product/1154-resourceTypeDefinition
  • Product/1188-LoggingExtended
  • Product/1287-dotnet5Sharepoint
  • Product/1301-cleanupblobApi
  • Product/1440-largerFiles
  • Product/1555-readOnlyResources
  • Product/1629-onboardingOtherUniversities
  • Product/903-ApiTokens
  • Product/937-docuBlobApi
  • Sprint/2020-20
  • Sprint/2020-21
  • Sprint/2020-22
  • Sprint/2021-01
  • Sprint/2021-03
  • Sprint/2021-04
  • Sprint/2021-05
  • Sprint/2021-07
  • Sprint/2021-08
  • Sprint/2021-10
  • Sprint/2021-11
  • Sprint/2021-13
  • Sprint/2021-15
  • Sprint/2021-18
  • Sprint/2021-23
  • Sprint/2022-01
  • Topic/1108-docuBlobApi
  • Topic/1123-tokenValidation
  • Topic/1159-rtdApi
  • Topic/1221-LogginExtendedNew
  • Topic/1292-FdsS3
  • Topic/1303-cleanupblobApi
  • Topic/1335-dotnet5Apis
  • Topic/1339-fixGitLabToken
  • Topic/1451-uploadUrl
  • Topic/1452-largerFiles
  • Topic/1575-CheckArchivingStatus
  • Topic/1711-extendResourceTypeConfiguration
  • dev
  • gitkeep
  • master
  • v1.1.0
  • v1.1.1
  • v1.1.2
  • v1.2.0
  • v1.3.0
  • v1.3.1
  • v2.0.0
  • v2.0.1
  • v2.1.0
  • v2.2.0
  • v2.3.0
  • v2.3.1
  • v2.3.2
  • v2.3.3
  • v2.4.0
  • v2.4.1
  • v2.4.2
  • v2.4.3
  • v2.4.4
  • v2.5.0
  • v2.5.1
  • v2.5.2
  • v2.6.0
  • v2.6.1
  • v2.6.2
  • v2.6.3
  • v2.6.4
  • v2.7.0
  • v2.7.1
  • v2.7.2
  • v2.7.3
  • v2.8.0
  • v2.8.1
  • v2.8.2
  • v3.0.0
  • v3.0.1
  • v3.0.2
  • v3.0.3
  • v3.0.4
  • v3.0.5
  • v3.0.6
  • v3.1.0
  • v3.1.1
  • v3.1.2
  • v3.2.0
  • v3.2.1
  • v3.2.2
  • v3.2.3
  • v3.3.0
  • v3.3.1
  • v3.3.2
  • v3.3.3
  • v3.3.4
130 results
Show changes
Commits on Source (4)
# Blob API # Blob API
This API handles the connection to the data stored in Coscine. This API handles the connection to the research data stored in Coscine.
Metadata has to have been provided, before storing of research data can proceed.
Check out the [docs](https://coscine.rwth-aachen.de/coscine/api/Coscine.Api.Blob/swagger).
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<AssemblyName>Coscine.Api.Blob</AssemblyName> <AssemblyName>Coscine.Api.Blob</AssemblyName>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>
<Version>3.1.2</Version> <Version>3.2.0</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<Authors>RWTH Aachen University</Authors> <Authors>RWTH Aachen University</Authors>
......
using Coscine.Api.Blob.Util;
using Coscine.ApiCommons; using Coscine.ApiCommons;
using Coscine.Configuration; using Coscine.Configuration;
using Coscine.Database.DataModel; using Coscine.Database.DataModel;
...@@ -36,6 +35,7 @@ namespace Coscine.Api.Blob.Controllers ...@@ -36,6 +35,7 @@ namespace Coscine.Api.Blob.Controllers
private readonly CoscineLogger _coscineLogger; private readonly CoscineLogger _coscineLogger;
private readonly AnalyticsLogObject _analyticsLogObject; private readonly AnalyticsLogObject _analyticsLogObject;
private readonly RdfStoreConnector _rdfStoreConnector; private readonly RdfStoreConnector _rdfStoreConnector;
private readonly CoscineLDPHelper _coscineLDPHelper;
private readonly string _prefix; private readonly string _prefix;
/// <summary> /// <summary>
...@@ -54,17 +54,7 @@ namespace Coscine.Api.Blob.Controllers ...@@ -54,17 +54,7 @@ namespace Coscine.Api.Blob.Controllers
_coscineLogger = new CoscineLogger(logger); _coscineLogger = new CoscineLogger(logger);
_analyticsLogObject = new AnalyticsLogObject(); _analyticsLogObject = new AnalyticsLogObject();
_prefix = _configuration.GetStringAndWait("coscine/global/epic/prefix"); _prefix = _configuration.GetStringAndWait("coscine/global/epic/prefix");
} _coscineLDPHelper = new CoscineLDPHelper(_rdfStoreConnector, _prefix);
/// <summary>
/// Generates Id
/// </summary>
/// <param name="resourceId">Id of the resource</param>
/// <param name="path"> Path to file</param>
/// <returns> Uri </returns>
public Uri GenerateId(string resourceId, string path)
{
return new CustomUri($"https://hdl.handle.net/{_prefix}/{resourceId}@path={Uri.EscapeDataString(path)}");
} }
/// <summary> /// <summary>
...@@ -225,7 +215,7 @@ namespace Coscine.Api.Blob.Controllers ...@@ -225,7 +215,7 @@ namespace Coscine.Api.Blob.Controllers
return BadRequest("Only one file can be uploaded per request."); return BadRequest("Only one file can be uploaded per request.");
} }
var id = GenerateId(resourceId, $"/{path}"); var id = _coscineLDPHelper.GetId(resourceId, $"/{path}", true);
if (!_rdfStoreConnector.HasGraph(id)) if (!_rdfStoreConnector.HasGraph(id))
{ {
return StatusCode((int)HttpStatusCode.Forbidden, return StatusCode((int)HttpStatusCode.Forbidden,
......
using System;
namespace Coscine.Api.Blob.Util
{
/// <summary>
/// Adapts the returned ToString of a Uri
/// </summary>
public class CustomUri : Uri
{
/// <summary>
/// Constructs a Custom Uri
/// </summary>
/// <param name="uri"></param>
public CustomUri(string uri) : base(uri)
{
}
/// <summary>
/// Overwrites the ToString for returning the AbsoluteUri (for dotNetRDF)
/// </summary>
/// <returns></returns>
public override string ToString()
{
return AbsoluteUri;
}
}
}