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-updateDependencies
  • Hotfix/0071-fixResourceCreate
  • Hotfix/1035-fixResourceApi
  • Hotfix/1360-databaseScaffolding
  • Hotfix/1383-topLevel
  • Hotfix/1383-topLevelAlternative
  • Hotfix/1433-defaultQuota
  • Hotfix/1796-projectDdos
  • Hotfix/2087-efNet6
  • Hotfix/64-releaseUDE
  • Hotfix/73-fixResourceCreateRDS
  • Issue/1321-pidEnquiryOverhaul
  • Issue/1788-extractionCronjob
  • Issue/1866-ExtendResourceTypeConfigurationTUDo
  • Issue/1867-addNewResourceTypes
  • Issue/1877-ExtendResourceTypeConfigurationNRWFHs
  • Issue/1878-addNewResourceTypes
  • Issue/1910-MigrationtoNET6.0
  • Issue/1913-ModificationsResourceMetadata
  • Issue/1951-quotaImplementation
  • Issue/1999-gitlabResourcesLib
  • Issue/2072-wormResourceType
  • Issue/2101-gitLabResTypeUi
  • Issue/2102-gitLabResTypeRCV
  • Issue/2183-kpiGeneratorResource
  • Issue/2221-projectDateCreated
  • Issue/2222-resourceDateCreated
  • Issue/2278-gitlabToS
  • Issue/2287-guestRole
  • Issue/2309-docs
  • Issue/2364-testingKpiParser
  • Issue/2449-GuidPidSlugToProjectSettings
  • Issue/3003-stsInstitute
  • Issues/0028-maxQuotaFix
  • Product/1100-fdsS3
  • Product/1149-dfnaai
  • Product/1154-resourceTypeDefinition
  • Product/1188-LoggingExtended
  • Product/1287-dotnet5Sharepoint
  • Product/1414-fhPrivileges
  • Product/1470-migrationForArchiving
  • Product/1573-ReadOnlyResources
  • Product/1629-onboardingOtherUniversities
  • Product/202-userInvitation
  • Product/407-net5migration
  • Product/704-basicReporting
  • Product/789-userContactEmail
  • Product/903-ApiTokens
  • Sprint/2020-20
  • Sprint/2020-22
  • Sprint/2021-01
  • Sprint/2021-03
  • Sprint/2021-04
  • Sprint/2021-05
  • Sprint/2021-08
  • Sprint/2021-10
  • Sprint/2021-11
  • Sprint/2021-15
  • Sprint/2021-19
  • Sprint/2022-01
  • Test/xxxx-pipelineTriggers
  • Topic/1051-basicReporting
  • Topic/1125-apiTokens
  • Topic/1159-rtdApi
  • Topic/1221-LogginExtendedNew
  • Topic/1221-LoggingExtended
  • Topic/1226-databaseLibraryMigration
  • Topic/1278-dfnAAI
  • Topic/1286-dotnet5Database
  • Topic/1292-FdsS3
  • Topic/1294-contactChangeFunctionality
  • Topic/1425-fhPrivileges
  • Topic/1453-userInvitation
  • Topic/1556-migrationForArchiving
  • Topic/1597-AddArchiveFlagInResourceObject
  • Topic/1711-extendResourceTypeConfiguration
  • Topic/1714-newResourceTypesUDE
  • dev
  • gitkeep
  • master
  • v1.0.0
  • v1.1.0
  • v1.10.0
  • v1.11.0
  • v1.12.0
  • v1.12.1
  • v1.13.0
  • v1.14.0
  • v1.15.0
  • v1.15.1
  • v1.16.0
  • v1.17.0
  • v1.18.0
  • v1.19.0
  • v1.2.0
  • v1.2.1
  • v1.2.2
  • v1.20.0
  • v1.21.0
  • v1.22.0
  • v1.22.1
  • v1.22.2
  • v1.23.0
  • v1.24.0
  • v1.25.0
  • v1.25.1
  • v1.26.0
  • v1.27.0
  • v1.27.1
  • v1.28.0
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.5.1
  • v1.6.0
  • v1.7.0
  • v1.8.0
  • v1.9.0
  • v2.0.0
  • v2.0.1
  • v2.1.0
  • v2.1.1
  • v2.10.0
  • v2.10.1
  • v2.11.0
  • v2.11.1
  • v2.12.0
  • v2.12.1
  • v2.13.0
  • v2.14.0
  • v2.15.0
  • v2.16.0
  • v2.16.1
  • v2.16.2
  • v2.17.0
  • v2.18.0
  • v2.19.0
  • v2.19.1
  • v2.2.0
  • v2.2.1
  • v2.20.0
  • v2.22.0
  • v2.3.0
  • v2.4.0
  • v2.4.1
  • v2.5.0
  • v2.6.0
  • v2.7.0
  • v2.7.1
  • v2.7.2
  • v2.7.3
  • v2.8.0
  • v2.9.0
  • v2.9.1
154 results

Target

Select target project
  • coscine/backend/libraries/database
1 result
Select Git revision
  • Fix/xxxx-updateDependencies
  • Hotfix/0071-fixResourceCreate
  • Hotfix/1035-fixResourceApi
  • Hotfix/1360-databaseScaffolding
  • Hotfix/1383-topLevel
  • Hotfix/1383-topLevelAlternative
  • Hotfix/1433-defaultQuota
  • Hotfix/1796-projectDdos
  • Hotfix/2087-efNet6
  • Hotfix/64-releaseUDE
  • Hotfix/73-fixResourceCreateRDS
  • Issue/1321-pidEnquiryOverhaul
  • Issue/1788-extractionCronjob
  • Issue/1866-ExtendResourceTypeConfigurationTUDo
  • Issue/1867-addNewResourceTypes
  • Issue/1877-ExtendResourceTypeConfigurationNRWFHs
  • Issue/1878-addNewResourceTypes
  • Issue/1910-MigrationtoNET6.0
  • Issue/1913-ModificationsResourceMetadata
  • Issue/1951-quotaImplementation
  • Issue/1999-gitlabResourcesLib
  • Issue/2072-wormResourceType
  • Issue/2101-gitLabResTypeUi
  • Issue/2102-gitLabResTypeRCV
  • Issue/2183-kpiGeneratorResource
  • Issue/2221-projectDateCreated
  • Issue/2222-resourceDateCreated
  • Issue/2278-gitlabToS
  • Issue/2287-guestRole
  • Issue/2309-docs
  • Issue/2364-testingKpiParser
  • Issue/2449-GuidPidSlugToProjectSettings
  • Issue/3003-stsInstitute
  • Issues/0028-maxQuotaFix
  • Product/1100-fdsS3
  • Product/1149-dfnaai
  • Product/1154-resourceTypeDefinition
  • Product/1188-LoggingExtended
  • Product/1287-dotnet5Sharepoint
  • Product/1414-fhPrivileges
  • Product/1470-migrationForArchiving
  • Product/1573-ReadOnlyResources
  • Product/1629-onboardingOtherUniversities
  • Product/202-userInvitation
  • Product/407-net5migration
  • Product/704-basicReporting
  • Product/789-userContactEmail
  • Product/903-ApiTokens
  • Sprint/2020-20
  • Sprint/2020-22
  • Sprint/2021-01
  • Sprint/2021-03
  • Sprint/2021-04
  • Sprint/2021-05
  • Sprint/2021-08
  • Sprint/2021-10
  • Sprint/2021-11
  • Sprint/2021-15
  • Sprint/2021-19
  • Sprint/2022-01
  • Test/xxxx-pipelineTriggers
  • Topic/1051-basicReporting
  • Topic/1125-apiTokens
  • Topic/1159-rtdApi
  • Topic/1221-LogginExtendedNew
  • Topic/1221-LoggingExtended
  • Topic/1226-databaseLibraryMigration
  • Topic/1278-dfnAAI
  • Topic/1286-dotnet5Database
  • Topic/1292-FdsS3
  • Topic/1294-contactChangeFunctionality
  • Topic/1425-fhPrivileges
  • Topic/1453-userInvitation
  • Topic/1556-migrationForArchiving
  • Topic/1597-AddArchiveFlagInResourceObject
  • Topic/1711-extendResourceTypeConfiguration
  • Topic/1714-newResourceTypesUDE
  • dev
  • gitkeep
  • master
  • v1.0.0
  • v1.1.0
  • v1.10.0
  • v1.11.0
  • v1.12.0
  • v1.12.1
  • v1.13.0
  • v1.14.0
  • v1.15.0
  • v1.15.1
  • v1.16.0
  • v1.17.0
  • v1.18.0
  • v1.19.0
  • v1.2.0
  • v1.2.1
  • v1.2.2
  • v1.20.0
  • v1.21.0
  • v1.22.0
  • v1.22.1
  • v1.22.2
  • v1.23.0
  • v1.24.0
  • v1.25.0
  • v1.25.1
  • v1.26.0
  • v1.27.0
  • v1.27.1
  • v1.28.0
  • v1.3.0
  • v1.4.0
  • v1.5.0
  • v1.5.1
  • v1.6.0
  • v1.7.0
  • v1.8.0
  • v1.9.0
  • v2.0.0
  • v2.0.1
  • v2.1.0
  • v2.1.1
  • v2.10.0
  • v2.10.1
  • v2.11.0
  • v2.11.1
  • v2.12.0
  • v2.12.1
  • v2.13.0
  • v2.14.0
  • v2.15.0
  • v2.16.0
  • v2.16.1
  • v2.16.2
  • v2.17.0
  • v2.18.0
  • v2.19.0
  • v2.19.1
  • v2.2.0
  • v2.2.1
  • v2.20.0
  • v2.22.0
  • v2.3.0
  • v2.4.0
  • v2.4.1
  • v2.5.0
  • v2.6.0
  • v2.7.0
  • v2.7.1
  • v2.7.2
  • v2.7.3
  • v2.8.0
  • v2.9.0
  • v2.9.1
154 results
Show changes
Commits on Source (3)
$DB_DATA_SOURCE = consul kv get "coscine/global/db_data_source"
$DB_USER_ID = consul kv get "coscine/global/db_user_id"
$DB_PASSWORD = consul kv get "coscine/global/db_password"
$DB_NAME = consul kv get "coscine/global/db_name"
dotnet new tool-manifest --force
dotnet tool install dotnet-ef
dotnet tool update dotnet-ef
dotnet ef dbcontext scaffold "Data Source=$DB_DATA_SOURCE;Integrated Security=False;User ID=$DB_USER_ID;Password=$DB_PASSWORD;Database=$DB_NAME" Microsoft.EntityFrameworkCore.SqlServer -o DataModel -c "Model" -f --no-onconfiguring --project "src\Scaffolding"
# Remove the hardcoded Connection String inside \DataModel\Model.cs
Set-Content -Path ".\src\Scaffolding\DataModel\Model.txt" -Value (Get-Content -Path ".\src\Scaffolding\DataModel\Model.cs" | where { $_ | Select-String -Pattern '#warning' -NotMatch } | where { $_ | Select-String -Pattern 'Data Source=' -NotMatch } ) -Force
Set-Content -Path ".\src\Scaffolding\DataModel\Model.cs" -Value (Get-Content -Path ".\src\Scaffolding\DataModel\Model.txt") -Force
Remove-Item ".\src\Scaffolding\DataModel\Model.txt"
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<RootNamespace>Coscine.Database</RootNamespace> <RootNamespace>Coscine.Database</RootNamespace>
<AssemblyName>Coscine.Database</AssemblyName> <AssemblyName>Coscine.Database</AssemblyName>
<TargetFrameworks>net5.0;net461</TargetFrameworks> <TargetFrameworks>net5.0;net461</TargetFrameworks>
<Version>2.6.0</Version> <Version>2.7.0</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<Authors>RWTH Aachen University</Authors> <Authors>RWTH Aachen University</Authors>
......
...@@ -27,7 +27,10 @@ namespace Coscine.Database.Models ...@@ -27,7 +27,10 @@ namespace Coscine.Database.Models
{ {
var dictionary = new Dictionary<string, string>(); var dictionary = new Dictionary<string, string>();
var resourceType = GetById(id); var resourceType = GetById(id);
dictionary.Add("accessKey", resourceType.AccessKey);
dictionary.Add("secretKey", resourceType.SecretKey);
dictionary.Add("bucketname", resourceType.BucketName); dictionary.Add("bucketname", resourceType.BucketName);
dictionary.Add("endpoint", resourceType.Endpoint);
dictionary.Add("size", $"{resourceType.Size}"); dictionary.Add("size", $"{resourceType.Size}");
return dictionary; return dictionary;
} }
......
...@@ -101,7 +101,7 @@ namespace Coscine.Database.Models ...@@ -101,7 +101,7 @@ namespace Coscine.Database.Models
from jrt in joinedRt.DefaultIfEmpty() from jrt in joinedRt.DefaultIfEmpty()
where jp.Deleted == false && where jp.Deleted == false &&
jrt.DisplayName == "rds" IsLikeRds(jrt.DisplayName)
group r by jpi.OrganizationUrl into g group r by jpi.OrganizationUrl into g
select new OrganizationResourceListObject(g.Key, g.ToList())).ToList(); select new OrganizationResourceListObject(g.Key, g.ToList())).ToList();
}); });
...@@ -109,7 +109,7 @@ namespace Coscine.Database.Models ...@@ -109,7 +109,7 @@ namespace Coscine.Database.Models
private void SetResourceTypeObject(Resource resource, JObject resourceTypeOption) private void SetResourceTypeObject(Resource resource, JObject resourceTypeOption)
{ {
if (resource.Type.DisplayName == "rds") if (IsLikeRds(resource.Type.DisplayName))
{ {
RDSResourceTypeObject rdsResourceTypeObject = resourceTypeOption.ToObject<RDSResourceTypeObject>(); RDSResourceTypeObject rdsResourceTypeObject = resourceTypeOption.ToObject<RDSResourceTypeObject>();
RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel(); RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
...@@ -195,7 +195,7 @@ namespace Coscine.Database.Models ...@@ -195,7 +195,7 @@ namespace Coscine.Database.Models
Update(resource); Update(resource);
} }
} }
else if (resource.Type.DisplayName == "rdss3") else if (IsLikeRdsS3(resource.Type.DisplayName))
{ {
var rdsS3ResourceTypeObject = resourceTypeOption.ToObject<RdsS3ResourceTypeObject>(); var rdsS3ResourceTypeObject = resourceTypeOption.ToObject<RdsS3ResourceTypeObject>();
var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel(); var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel();
...@@ -238,7 +238,7 @@ namespace Coscine.Database.Models ...@@ -238,7 +238,7 @@ namespace Coscine.Database.Models
{ {
return new GitlabResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId); return new GitlabResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
} }
else if (resourceType.DisplayName == "rds") else if (IsLikeRds(resourceType.DisplayName))
{ {
return new RDSResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId); return new RDSResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
} }
...@@ -250,7 +250,7 @@ namespace Coscine.Database.Models ...@@ -250,7 +250,7 @@ namespace Coscine.Database.Models
{ {
return new LinkedResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId); return new LinkedResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
} }
else if (resourceType.DisplayName == "rdss3") else if (IsLikeRdsS3(resourceType.DisplayName))
{ {
return new RdsS3ResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId); return new RdsS3ResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
} }
...@@ -341,7 +341,7 @@ namespace Coscine.Database.Models ...@@ -341,7 +341,7 @@ namespace Coscine.Database.Models
public void DeleteResourceTypeObject(Resource resource) public void DeleteResourceTypeObject(Resource resource)
{ {
SetType(resource); SetType(resource);
if (resource.Type.DisplayName == "rds" && resource.ResourceTypeOptionId != null) if (IsLikeRds(resource.Type.DisplayName) && resource.ResourceTypeOptionId != null)
{ {
RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel(); RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
rdsResourceTypeModel.Delete(rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value)); rdsResourceTypeModel.Delete(rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value));
...@@ -356,7 +356,12 @@ namespace Coscine.Database.Models ...@@ -356,7 +356,12 @@ namespace Coscine.Database.Models
GitlabResourceTypeModel gitlabResourceTypeModel = new GitlabResourceTypeModel(); GitlabResourceTypeModel gitlabResourceTypeModel = new GitlabResourceTypeModel();
gitlabResourceTypeModel.Delete(gitlabResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value)); gitlabResourceTypeModel.Delete(gitlabResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value));
} }
else if (resource.Type.DisplayName == "rdss3" && resource.ResourceTypeOptionId != null) else if (resource.Type.DisplayName == "linked" && resource.ResourceTypeOptionId != null)
{
LinkedResourceTypeModel linkedResourceTypeModel = new LinkedResourceTypeModel();
linkedResourceTypeModel.Delete(linkedResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value));
}
else if (IsLikeRdsS3(resource.Type.DisplayName) && resource.ResourceTypeOptionId != null)
{ {
var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel(); var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel();
rdsS3ResourceTypeModel.Delete(rdsS3ResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value)); rdsS3ResourceTypeModel.Delete(rdsS3ResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value));
...@@ -387,7 +392,7 @@ namespace Coscine.Database.Models ...@@ -387,7 +392,7 @@ namespace Coscine.Database.Models
} }
ResourceTypeOptionObject resourceTypeOptionObject = null; ResourceTypeOptionObject resourceTypeOptionObject = null;
if (resource.Type.DisplayName == "rds" && resource.ResourceTypeOptionId != null) if (IsLikeRds(resource.Type.DisplayName) && resource.ResourceTypeOptionId != null)
{ {
RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel(); RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
var rdsResourceType = rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value); var rdsResourceType = rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value);
...@@ -412,7 +417,7 @@ namespace Coscine.Database.Models ...@@ -412,7 +417,7 @@ namespace Coscine.Database.Models
resourceTypeOptionObject = new LinkedResourceTypeObject(linkedResourceType.Id); resourceTypeOptionObject = new LinkedResourceTypeObject(linkedResourceType.Id);
} }
else if (resource.Type.DisplayName == "rdss3" && resource.ResourceTypeOptionId != null) else if (IsLikeRdsS3(resource.Type.DisplayName) && resource.ResourceTypeOptionId != null)
{ {
var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel(); var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel();
var rdsS3ResourceType = rdsS3ResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value); var rdsS3ResourceType = rdsS3ResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value);
...@@ -444,7 +449,7 @@ namespace Coscine.Database.Models ...@@ -444,7 +449,7 @@ namespace Coscine.Database.Models
resource.ApplicationProfile, resource.ApplicationProfile,
JToken.Parse(resource.FixedValues ?? "{}"), JToken.Parse(resource.FixedValues ?? "{}"),
(resource.Creator != null) ? resource.Creator : null, (resource.Creator != null) ? resource.Creator : null,
(resource.Archived == "1") ? true : false resource.Archived == "1"
); );
} }
...@@ -502,7 +507,7 @@ namespace Coscine.Database.Models ...@@ -502,7 +507,7 @@ namespace Coscine.Database.Models
} }
else if (property.PropertyType == typeof(IEnumerable<DisciplineObject>) else if (property.PropertyType == typeof(IEnumerable<DisciplineObject>)
&& property.GetValue(resourceObject) != null && property.GetValue(resourceObject) != null
&& ((IEnumerable<DisciplineObject>)property.GetValue(resourceObject)).Count() > 0) && ((IEnumerable<DisciplineObject>)property.GetValue(resourceObject)).Any())
{ {
counted++; counted++;
} }
...@@ -530,5 +535,15 @@ namespace Coscine.Database.Models ...@@ -530,5 +535,15 @@ namespace Coscine.Database.Models
return $"{counted}/{maxCount}"; return $"{counted}/{maxCount}";
} }
private bool IsLikeRds(string compare)
{
return compare == "rds" || compare == "rdsude";
}
private bool IsLikeRdsS3(string compare)
{
return compare == "rdss3" || compare == "rdss3ude";
}
} }
} }
...@@ -551,9 +551,21 @@ namespace Coscine.Database.DataModel ...@@ -551,9 +551,21 @@ namespace Coscine.Database.DataModel
entity.Property(e => e.Id).HasDefaultValueSql("(newid())"); entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
entity.Property(e => e.AccessKey)
.IsRequired()
.HasMaxLength(200);
entity.Property(e => e.BucketName) entity.Property(e => e.BucketName)
.IsRequired() .IsRequired()
.HasMaxLength(63); .HasMaxLength(63);
entity.Property(e => e.Endpoint)
.IsRequired()
.HasMaxLength(200);
entity.Property(e => e.SecretKey)
.IsRequired()
.HasMaxLength(200);
}); });
modelBuilder.Entity<Resource>(entity => modelBuilder.Entity<Resource>(entity =>
......
...@@ -12,5 +12,8 @@ namespace Coscine.Database.DataModel ...@@ -12,5 +12,8 @@ namespace Coscine.Database.DataModel
public Guid Id { get; set; } public Guid Id { get; set; }
public string BucketName { get; set; } public string BucketName { get; set; }
public int? Size { get; set; } public int? Size { get; set; }
public string AccessKey { get; set; }
public string SecretKey { get; set; }
public string Endpoint { get; set; }
} }
} }