diff --git a/src/Project.sln b/src/Project.sln
index 9ca995957837dec82b0f967591d4a59dc55ab48f..fd1c0cab4653b543e9482c36f00e8ecd06eb68bb 100644
--- a/src/Project.sln
+++ b/src/Project.sln
@@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.28803.156
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Project", "Project\Project.csproj", "{16C4EBA5-BA87-45EC-AE1A-E8569A897959}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project", "Project\Project.csproj", "{16C4EBA5-BA87-45EC-AE1A-E8569A897959}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Project.Tests", "Project.Tests\Project.Tests.csproj", "{EEE96892-A211-44EE-B2B8-11FAB31F2E26}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project.Tests", "Project.Tests\Project.Tests.csproj", "{EEE96892-A211-44EE-B2B8-11FAB31F2E26}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
diff --git a/src/Project/Controllers/ProjectController.cs b/src/Project/Controllers/ProjectController.cs
index aa92bccaca91faf284bcd3e843f5ca974c643759..d96ead57a8dbb8bd3671c68ac981439069d4e486 100644
--- a/src/Project/Controllers/ProjectController.cs
+++ b/src/Project/Controllers/ProjectController.cs
@@ -40,6 +40,9 @@ namespace Coscine.Api.Project.Controllers
private readonly CoscineLogger _coscineLogger;
private readonly VisibilityModel _visibilityModel;
private readonly int _maxAvailable = 100;
+ private readonly string _userUrlPrefix = "https://purl.org/coscine/users";
+ private readonly Uri _orgPrefixUrl = new Uri("http://www.w3.org/ns/org#");
+ private readonly RdfStoreConnector _rdfStoreConnector;
/// <summary>
/// ProjectController constructor
@@ -58,6 +61,7 @@ namespace Coscine.Api.Project.Controllers
_projectQuotaModel = new ProjectQuotaModel();
_coscineLogger = new CoscineLogger(logger);
_visibilityModel = new VisibilityModel();
+ _rdfStoreConnector = new RdfStoreConnector(Program.Configuration.GetString("coscine/local/virtuoso/additional/url"));
}
/// <summary>
@@ -532,7 +536,6 @@ namespace Coscine.Api.Project.Controllers
public IActionResult Store()
{
var user = _authenticator.GetUser();
- var isRWTHMember = IsRWTHMember(user);
var projectObject = ObjectFactory<ProjectObject>.DeserializeFromStream(Request.Body);
if (projectObject?.ParentId != new Guid()
@@ -541,7 +544,7 @@ namespace Coscine.Api.Project.Controllers
return Unauthorized("User is not allowed to create SubProjects.");
}
- var project = _projectModel.StoreFromObject(projectObject, user, isRWTHMember);
+ var project = _projectModel.StoreFromObject(projectObject, user, _rdfStoreConnector.GetQuotaDefault(user.Id.ToString()));
if (projectObject.ParentId != new Guid()
// for now, only an owner can add subprojects to projects
@@ -562,27 +565,6 @@ namespace Coscine.Api.Project.Controllers
return Json(_projectModel.CreateReturnObjectFromDatabaseObject(project));
}
- /// <summary>
- /// Checks if the given user is a member of the RWTH
- /// </summary>
- /// <param name="user">User object</param>
- /// <returns>True, if member of RWTH or false, if not a member of RWTH</returns>
- private bool IsRWTHMember(User user)
- {
- var externalIds = new ExternalIdModel().GetAllWhere((externalId) => externalId.UserId == user.Id);
- if (!externalIds.Any())
- {
- return false;
- }
- var externalIdList = new List<string>();
-
- foreach (var externalId in externalIds)
- {
- externalIdList.Add(externalId.ExternalId1);
- }
- return new RdfStoreConnector(Program.Configuration.GetStringAndWait("coscine/local/virtuoso/additional/url")).GetTriples(new Uri("https://ror.org/04xfq0f34"), null, null, 1, externalIdList).Any();
- }
-
private void LogAnalyticsViewHome(List<string> projectIds)
{
_coscineLogger.AnalyticsLog(
diff --git a/src/Project/Project.csproj b/src/Project/Project.csproj
index eb3a76e9e0bd09481272ef2aba2659a8b91f97c0..8a440b04658c57d59715783912810711d52878e4 100644
--- a/src/Project/Project.csproj
+++ b/src/Project/Project.csproj
@@ -19,9 +19,9 @@
<ItemGroup>
<PackageReference Include="Coscine.Action" Version="2.*-*" />
<PackageReference Include="Coscine.ApiCommons" Version="2.*-*" />
- <PackageReference Include="Coscine.Database" Version="2.*-*" />
+ <PackageReference Include="Coscine.Database" Version="2.3.0-topic-1425-fhpri0008" />
<PackageReference Include="Coscine.Logging" Version="2.*-*" />
- <PackageReference Include="Coscine.Metadata" Version="2.*-*" />
+ <PackageReference Include="Coscine.Metadata" Version="2.1.0-topic-1425-fhpri0002" />
<PackageReference Include="Coscine.ResourceLoader" Version="2.*-*" />
</ItemGroup>
</Project>
\ No newline at end of file