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
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 @@
<AssemblyName>Coscine.Api.Blob</AssemblyName>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<TargetFramework>net6.0</TargetFramework>
<Version>3.1.2</Version>
<Version>3.2.0</Version>
</PropertyGroup>
<PropertyGroup>
<Authors>RWTH Aachen University</Authors>
......
using Coscine.Api.Blob.Util;
using Coscine.ApiCommons;
using Coscine.Configuration;
using Coscine.Database.DataModel;
......@@ -36,6 +35,7 @@ namespace Coscine.Api.Blob.Controllers
private readonly CoscineLogger _coscineLogger;
private readonly AnalyticsLogObject _analyticsLogObject;
private readonly RdfStoreConnector _rdfStoreConnector;
private readonly CoscineLDPHelper _coscineLDPHelper;
private readonly string _prefix;
/// <summary>
......@@ -54,17 +54,7 @@ namespace Coscine.Api.Blob.Controllers
_coscineLogger = new CoscineLogger(logger);
_analyticsLogObject = new AnalyticsLogObject();
_prefix = _configuration.GetStringAndWait("coscine/global/epic/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)}");
_coscineLDPHelper = new CoscineLDPHelper(_rdfStoreConnector, _prefix);
}
/// <summary>
......@@ -225,7 +215,7 @@ namespace Coscine.Api.Blob.Controllers
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))
{
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;
}
}
}