Skip to content
Snippets Groups Projects
Commit 9fa2d150 authored by Petar Hristov's avatar Petar Hristov :speech_balloon:
Browse files

Merge branch 'dev' into 'master'

Release: Sprint/2022 20 :robot:

See merge request !181
parents 0936e977 31c31ac4
No related branches found
No related tags found
1 merge request!181Release: Sprint/2022 20 :robot:
using Coscine.Database.DataModel;
using Microsoft.EntityFrameworkCore;
using System;
using System.Linq.Expressions;
namespace Coscine.Database.Models
{
public class MetadataExtractionModel : DatabaseModel<MetadataExtraction>
{
public override Expression<Func<MetadataExtraction, Guid>> GetIdFromObject()
{
return (metadataExtractionEntry) => metadataExtractionEntry.Id;
}
public override DbSet<MetadataExtraction> GetITableFromDatabase(CoscineDB db)
{
return db.MetadataExtractions;
}
public override void SetObjectId(MetadataExtraction databaseObject, Guid id)
{
databaseObject.Id = id;
}
}
}
...@@ -6,6 +6,7 @@ using System.Web; ...@@ -6,6 +6,7 @@ using System.Web;
namespace Coscine.Database.Models namespace Coscine.Database.Models
{ {
[Obsolete("This should not be used")]
public class MetadataModel : DatabaseModel<Resource> public class MetadataModel : DatabaseModel<Resource>
{ {
...@@ -24,6 +25,7 @@ namespace Coscine.Database.Models ...@@ -24,6 +25,7 @@ namespace Coscine.Database.Models
throw new NotImplementedException(); throw new NotImplementedException();
} }
[Obsolete("This should not be used")]
public Resource StoreFromObject(ResourceObject resourceObject) public Resource StoreFromObject(ResourceObject resourceObject)
{ {
Resource resource = new Resource() Resource resource = new Resource()
...@@ -42,6 +44,7 @@ namespace Coscine.Database.Models ...@@ -42,6 +44,7 @@ namespace Coscine.Database.Models
return resource; return resource;
} }
[Obsolete("This should not be used")]
public string GenerateId(string resourceId, string filename) public string GenerateId(string resourceId, string filename)
{ {
// Double UrlEncode since converting it to Uri executes one UrlDecode and Virtuoso // Double UrlEncode since converting it to Uri executes one UrlDecode and Virtuoso
...@@ -50,6 +53,7 @@ namespace Coscine.Database.Models ...@@ -50,6 +53,7 @@ namespace Coscine.Database.Models
return $"https://purl.org/coscine/md/{resourceId}/{encodedFileName}/"; return $"https://purl.org/coscine/md/{resourceId}/{encodedFileName}/";
} }
[Obsolete("This should not be used")]
public Uri CreateUri(string graphName) public Uri CreateUri(string graphName)
{ {
return new Uri(graphName); return new Uri(graphName);
......
using System;
using System.Collections.Generic;
// Code scaffolded by EF Core assumes nullable reference types (NRTs) are not used or disabled.
// If you have enabled NRTs for your project, then un-comment the following line:
// #nullable disable
namespace Coscine.Database.DataModel
{
public partial class MetadataExtraction
{
public Guid Id { get; set; }
public Guid ResourceId { get; set; }
public bool Activated { get; set; }
public virtual Resource Resource { get; set; }
}
}
...@@ -35,6 +35,7 @@ namespace Coscine.Database.DataModel ...@@ -35,6 +35,7 @@ namespace Coscine.Database.DataModel
public virtual DbSet<License> Licenses { get; set; } public virtual DbSet<License> Licenses { get; set; }
public virtual DbSet<LinkedResourceType> LinkedResourceTypes { get; set; } public virtual DbSet<LinkedResourceType> LinkedResourceTypes { get; set; }
public virtual DbSet<Log> Logs { get; set; } public virtual DbSet<Log> Logs { get; set; }
public virtual DbSet<MetadataExtraction> MetadataExtractions { get; set; }
public virtual DbSet<Project> Projects { get; set; } public virtual DbSet<Project> Projects { get; set; }
public virtual DbSet<ProjectDiscipline> ProjectDisciplines { get; set; } public virtual DbSet<ProjectDiscipline> ProjectDisciplines { get; set; }
public virtual DbSet<ProjectInstitute> ProjectInstitutes { get; set; } public virtual DbSet<ProjectInstitute> ProjectInstitutes { get; set; }
...@@ -367,6 +368,18 @@ namespace Coscine.Database.DataModel ...@@ -367,6 +368,18 @@ namespace Coscine.Database.DataModel
.HasMaxLength(500); .HasMaxLength(500);
}); });
modelBuilder.Entity<MetadataExtraction>(entity =>
{
entity.ToTable("MetadataExtraction");
entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
entity.HasOne(d => d.Resource)
.WithMany(p => p.MetadataExtractions)
.HasForeignKey(d => d.ResourceId)
.HasConstraintName("FK_MetadataExtraction_ResourceId_Resources_Id");
});
modelBuilder.Entity<Project>(entity => modelBuilder.Entity<Project>(entity =>
{ {
entity.Property(e => e.Id).HasDefaultValueSql("(newid())"); entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
......
...@@ -11,6 +11,7 @@ namespace Coscine.Database.DataModel ...@@ -11,6 +11,7 @@ namespace Coscine.Database.DataModel
{ {
public Resource() public Resource()
{ {
MetadataExtractions = new HashSet<MetadataExtraction>();
ProjectResources = new HashSet<ProjectResource>(); ProjectResources = new HashSet<ProjectResource>();
ResourceDisciplines = new HashSet<ResourceDiscipline>(); ResourceDisciplines = new HashSet<ResourceDiscipline>();
} }
...@@ -35,6 +36,7 @@ namespace Coscine.Database.DataModel ...@@ -35,6 +36,7 @@ namespace Coscine.Database.DataModel
public virtual License License { get; set; } public virtual License License { get; set; }
public virtual ResourceType Type { get; set; } public virtual ResourceType Type { get; set; }
public virtual Visibility Visibility { get; set; } public virtual Visibility Visibility { get; set; }
public virtual ICollection<MetadataExtraction> MetadataExtractions { get; set; }
public virtual ICollection<ProjectResource> ProjectResources { get; set; } public virtual ICollection<ProjectResource> ProjectResources { get; set; }
public virtual ICollection<ResourceDiscipline> ResourceDisciplines { get; set; } public virtual ICollection<ResourceDiscipline> ResourceDisciplines { get; set; }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment