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 @@
<RootNamespace>Coscine.Database</RootNamespace>
<AssemblyName>Coscine.Database</AssemblyName>
<TargetFrameworks>net5.0;net461</TargetFrameworks>
<Version>2.6.0</Version>
<Version>2.7.0</Version>
</PropertyGroup>
<PropertyGroup>
<Authors>RWTH Aachen University</Authors>
......
......@@ -27,7 +27,10 @@ namespace Coscine.Database.Models
{
var dictionary = new Dictionary<string, string>();
var resourceType = GetById(id);
dictionary.Add("accessKey", resourceType.AccessKey);
dictionary.Add("secretKey", resourceType.SecretKey);
dictionary.Add("bucketname", resourceType.BucketName);
dictionary.Add("endpoint", resourceType.Endpoint);
dictionary.Add("size", $"{resourceType.Size}");
return dictionary;
}
......
......@@ -101,7 +101,7 @@ namespace Coscine.Database.Models
from jrt in joinedRt.DefaultIfEmpty()
where jp.Deleted == false &&
jrt.DisplayName == "rds"
IsLikeRds(jrt.DisplayName)
group r by jpi.OrganizationUrl into g
select new OrganizationResourceListObject(g.Key, g.ToList())).ToList();
});
......@@ -109,7 +109,7 @@ namespace Coscine.Database.Models
private void SetResourceTypeObject(Resource resource, JObject resourceTypeOption)
{
if (resource.Type.DisplayName == "rds")
if (IsLikeRds(resource.Type.DisplayName))
{
RDSResourceTypeObject rdsResourceTypeObject = resourceTypeOption.ToObject<RDSResourceTypeObject>();
RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
......@@ -195,7 +195,7 @@ namespace Coscine.Database.Models
Update(resource);
}
}
else if (resource.Type.DisplayName == "rdss3")
else if (IsLikeRdsS3(resource.Type.DisplayName))
{
var rdsS3ResourceTypeObject = resourceTypeOption.ToObject<RdsS3ResourceTypeObject>();
var rdsS3ResourceTypeModel = new RdsS3ResourceTypeModel();
......@@ -238,7 +238,7 @@ namespace Coscine.Database.Models
{
return new GitlabResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
}
else if (resourceType.DisplayName == "rds")
else if (IsLikeRds(resourceType.DisplayName))
{
return new RDSResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
}
......@@ -250,7 +250,7 @@ namespace Coscine.Database.Models
{
return new LinkedResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
}
else if (resourceType.DisplayName == "rdss3")
else if (IsLikeRdsS3(resourceType.DisplayName))
{
return new RdsS3ResourceTypeModel().GetResourceTypeOptions(resourceTypeOptionId);
}
......@@ -341,7 +341,7 @@ namespace Coscine.Database.Models
public void DeleteResourceTypeObject(Resource resource)
{
SetType(resource);
if (resource.Type.DisplayName == "rds" && resource.ResourceTypeOptionId != null)
if (IsLikeRds(resource.Type.DisplayName) && resource.ResourceTypeOptionId != null)
{
RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
rdsResourceTypeModel.Delete(rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value));
......@@ -356,7 +356,12 @@ namespace Coscine.Database.Models
GitlabResourceTypeModel gitlabResourceTypeModel = new GitlabResourceTypeModel();
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();
rdsS3ResourceTypeModel.Delete(rdsS3ResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value));
......@@ -387,7 +392,7 @@ namespace Coscine.Database.Models
}
ResourceTypeOptionObject resourceTypeOptionObject = null;
if (resource.Type.DisplayName == "rds" && resource.ResourceTypeOptionId != null)
if (IsLikeRds(resource.Type.DisplayName) && resource.ResourceTypeOptionId != null)
{
RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
var rdsResourceType = rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value);
......@@ -412,7 +417,7 @@ namespace Coscine.Database.Models
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 rdsS3ResourceType = rdsS3ResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value);
......@@ -444,7 +449,7 @@ namespace Coscine.Database.Models
resource.ApplicationProfile,
JToken.Parse(resource.FixedValues ?? "{}"),
(resource.Creator != null) ? resource.Creator : null,
(resource.Archived == "1") ? true : false
resource.Archived == "1"
);
}
......@@ -502,7 +507,7 @@ namespace Coscine.Database.Models
}
else if (property.PropertyType == typeof(IEnumerable<DisciplineObject>)
&& property.GetValue(resourceObject) != null
&& ((IEnumerable<DisciplineObject>)property.GetValue(resourceObject)).Count() > 0)
&& ((IEnumerable<DisciplineObject>)property.GetValue(resourceObject)).Any())
{
counted++;
}
......@@ -530,5 +535,15 @@ namespace Coscine.Database.Models
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
entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
entity.Property(e => e.AccessKey)
.IsRequired()
.HasMaxLength(200);
entity.Property(e => e.BucketName)
.IsRequired()
.HasMaxLength(63);
entity.Property(e => e.Endpoint)
.IsRequired()
.HasMaxLength(200);
entity.Property(e => e.SecretKey)
.IsRequired()
.HasMaxLength(200);
});
modelBuilder.Entity<Resource>(entity =>
......
......@@ -12,5 +12,8 @@ namespace Coscine.Database.DataModel
public Guid Id { get; set; }
public string BucketName { get; set; }
public int? Size { get; set; }
public string AccessKey { get; set; }
public string SecretKey { get; set; }
public string Endpoint { get; set; }
}
}