diff --git a/aspnetcore/src/ApiModels/Publication/Publication.cs b/aspnetcore/src/ApiModels/Publication/Publication.cs
index 672d4549..6c0aea9b 100644
--- a/aspnetcore/src/ApiModels/Publication/Publication.cs
+++ b/aspnetcore/src/ApiModels/Publication/Publication.cs
@@ -163,6 +163,18 @@ public class Publication
///
public JufoClass? JufoClass { get; set; }
+ ///
+ /// Publication forum (recorded)
+ ///
+ public string? JufoCodeRecorded { get; set; }
+
+ ///
+ /// Publication forum classification (recorded)
+ ///
+ /// http://uri.suomi.fi/codelist/research/julkaisufoorumiluokitus
+ ///
+ public JufoClass? jufoClassRecorded { get; set; }
+
///
/// DOI
///
diff --git a/aspnetcore/src/ApiModels/Query/GetPublicationsQueryParameters.cs b/aspnetcore/src/ApiModels/Query/GetPublicationsQueryParameters.cs
index d1707123..35372c5d 100644
--- a/aspnetcore/src/ApiModels/Query/GetPublicationsQueryParameters.cs
+++ b/aspnetcore/src/ApiModels/Query/GetPublicationsQueryParameters.cs
@@ -71,7 +71,7 @@ public class GetPublicationsQueryParameters
///
/// The field type:code is exactly equal to the text.
///
- /// Code: http://uri.suomi.fi/codelist/research/Julkaisutyyppiluokitus
+ /// Code: https://koodistot.suomi.fi/codescheme;registryCode=research;schemeCode=Julkaisutyyppiluokitus
///
///
public string? Type { get; set; }
@@ -121,11 +121,33 @@ public class GetPublicationsQueryParameters
public string? PublisherName { get; set; }
///
- /// The field jufocode contains text.
+ /// The field jufoCode contains text.
///
///
public string? JufoCode { get; set; }
+ ///
+ /// The field jufoCodeRecorded contains text. Recorded as part of national publication data collection.
+ ///
+ ///
+ public string? JufoCodeRecorded { get; set; }
+
+ ///
+ /// The field jufoClass is exactly equal to text.
+ ///
+ /// Code: https://koodistot.suomi.fi/codescheme;registryCode=research;schemeCode=Julkaisufoorumiluokitus
+ ///
+ ///
+ public string? JufoClass { get; set; }
+
+ ///
+ /// The field jufoClassRecorded is exactly equal to text. Recorded as part of national publication data collection.
+ ///
+ /// Code: https://koodistot.suomi.fi/codescheme;registryCode=research;schemeCode=Julkaisufoorumiluokitus
+ ///
+ ///
+ public string? JufoClassRecorded { get; set; }
+
///
/// The field doi is exactly equal to the text.
///
@@ -142,7 +164,7 @@ public class GetPublicationsQueryParameters
///
/// The field publisherOpenAccess:code is exactly equal to the text.
///
- /// Code: http://uri.suomi.fi/codelist/research/JulkaisuKanavaOA
+ /// Code: https://koodistot.suomi.fi/codescheme;registryCode=research;schemeCode=JulkaisuKanavaOA
///
///
public string? PublisherOpenAccess { get; set; }
@@ -156,7 +178,7 @@ public class GetPublicationsQueryParameters
///
/// The field status is exactly equal to the text.
///
- /// Code: http://uri.suomi.fi/codelist/research/julkaisuntila
+ /// Code: https://koodistot.suomi.fi/codescheme;registryCode=research;schemeCode=julkaisuntila
///
///
public string? Status { get; set; }
diff --git a/aspnetcore/src/DatabaseContext/ApiDbContext.cs b/aspnetcore/src/DatabaseContext/ApiDbContext.cs
index bd490142..978bc9e0 100644
--- a/aspnetcore/src/DatabaseContext/ApiDbContext.cs
+++ b/aspnetcore/src/DatabaseContext/ApiDbContext.cs
@@ -148,7 +148,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimResearchDatasetId, e.DimResearchDatasetId2 }).HasName("PK__br_datas__9FEA685AAFC3B578");
+ entity.HasKey(e => new { e.DimResearchDatasetId, e.DimResearchDatasetId2 }).HasName("PK__br_datas__9FEA685AB5E2C1AE");
entity.ToTable("br_dataset_dataset_relationship");
@@ -172,7 +172,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationid }).HasName("PK__br_fundi__3DB567F8F31EB343");
+ entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationid }).HasName("PK__br_fundi__3DB567F8D8D7C529");
entity.ToTable("br_funding_consortium_participation");
@@ -199,7 +199,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimUserProfileId, e.DimExternalServiceId, e.DimPermittedFieldGroup }).HasName("PK__br_grant__F51F7BCB2C7B526A");
+ entity.HasKey(e => new { e.DimUserProfileId, e.DimExternalServiceId, e.DimPermittedFieldGroup }).HasName("PK__br_grant__F51F7BCB6382AE3A");
entity.ToTable("br_granted_permissions");
@@ -281,7 +281,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimWordClusterId, e.DimFundingDecisionId }).HasName("PK__br_word___7D640B5A85D9D741");
+ entity.HasKey(e => new { e.DimWordClusterId, e.DimFundingDecisionId }).HasName("PK__br_word___7D640B5A67A580FB");
entity.ToTable("br_word_cluster_dim_funding_decision");
@@ -313,7 +313,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimMinedWordsId, e.DimWordClusterId }).HasName("PK__br_words__0602FA3716F54103");
+ entity.HasKey(e => new { e.DimMinedWordsId, e.DimWordClusterId }).HasName("PK__br_words__0602FA37D4ACC5C8");
entity.ToTable("br_words_define_a_cluster");
@@ -345,7 +345,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_affi__3213E83FEEFE4B1A");
+ entity.HasKey(e => e.Id).HasName("PK__dim_affi__3213E83F06A4D1E9");
entity.ToTable("dim_affiliation");
@@ -421,7 +421,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_call__3213E83F044E57BF");
+ entity.HasKey(e => e.Id).HasName("PK__dim_call__3213E83FC03B7861");
entity.ToTable("dim_call_decisions", tb => tb.HasComment("Rahoituspäätöspaneeli"));
@@ -562,7 +562,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("belongs to / a part of "),
j =>
{
- j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB92BD0549");
+ j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB2F20C88E");
j.ToTable("br_call_programme_dim_call_programme");
j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id");
j.IndexerProperty("DimCallProgrammeId2").HasColumnName("dim_call_programme_id2");
@@ -581,7 +581,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_call_pr785575"),
j =>
{
- j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB92BD0549");
+ j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB2F20C88E");
j.ToTable("br_call_programme_dim_call_programme");
j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id");
j.IndexerProperty("DimCallProgrammeId2").HasColumnName("dim_call_programme_id2");
@@ -600,7 +600,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("has disciplines"),
j =>
{
- j.HasKey("DimCallProgrammeId", "DimReferencedataId").HasName("PK__br_dim_r__0A5B885DB465582A");
+ j.HasKey("DimCallProgrammeId", "DimReferencedataId").HasName("PK__br_dim_r__0A5B885DD5A55F67");
j.ToTable("br_dim_referencedata_dim_call_programme");
j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id");
j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id");
@@ -609,7 +609,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_comp__3213E83F772641C5");
+ entity.HasKey(e => e.Id).HasName("PK__dim_comp__3213E83F8D6B4242");
entity.ToTable("dim_competence");
@@ -662,7 +662,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_date__3213E83F80D03F0C");
+ entity.HasKey(e => e.Id).HasName("PK__dim_date__3213E83F7FCE2152");
entity.ToTable("dim_date");
@@ -686,7 +686,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_educ__3213E83FB1E9147C");
+ entity.HasKey(e => e.Id).HasName("PK__dim_educ__3213E83FCBB0C37E");
entity.ToTable("dim_education");
@@ -768,7 +768,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_emai__3213E83FAADA17CF");
+ entity.HasKey(e => e.Id).HasName("PK__dim_emai__3213E83F1F4B6F39");
entity.ToTable("dim_email_addrress");
@@ -804,7 +804,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_esfr__3213E83FBBA05788");
+ entity.HasKey(e => e.Id).HasName("PK__dim_esfr__3213E83F47FAB298");
entity.ToTable("dim_esfri");
@@ -847,7 +847,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_esfri_d559740"),
j =>
{
- j.HasKey("DimEsfriId", "DimInfrastructureId").HasName("PK__br_esfri__A4A0FE101515BA33");
+ j.HasKey("DimEsfriId", "DimInfrastructureId").HasName("PK__br_esfri__A4A0FE10DD9772D1");
j.ToTable("br_esfri_dim_infrastructure");
j.IndexerProperty("DimEsfriId").HasColumnName("dim_esfri_id");
j.IndexerProperty("DimInfrastructureId").HasColumnName("dim_infrastructure_id");
@@ -856,7 +856,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_even__3213E83F28A7BB02");
+ entity.HasKey(e => e.Id).HasName("PK__dim_even__3213E83F0F3DAD87");
entity.ToTable("dim_event");
@@ -913,7 +913,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_exte__3213E83F7DCC4300");
+ entity.HasKey(e => e.Id).HasName("PK__dim_exte__3213E83F5C147521");
entity.ToTable("dim_external_service");
@@ -947,7 +947,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_fiel__3213E83F0DCC2E36");
+ entity.HasKey(e => e.Id).HasName("PK__dim_fiel__3213E83FECCCD9E0");
entity.ToTable("dim_field_display_settings");
@@ -986,7 +986,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_field_d783303"),
j =>
{
- j.HasKey("DimFieldDisplaySettingsId", "DimRegisteredDataSourceId").HasName("PK__br_field__6148A77209C05080");
+ j.HasKey("DimFieldDisplaySettingsId", "DimRegisteredDataSourceId").HasName("PK__br_field__6148A7726777D902");
j.ToTable("br_field_display_settings_dim_registered_data_source");
j.IndexerProperty("DimFieldDisplaySettingsId").HasColumnName("dim_field_display_settings_id");
j.IndexerProperty("DimRegisteredDataSourceId").HasColumnName("dim_registered_data_source_id");
@@ -995,7 +995,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_fund__3213E83F74B633DB");
+ entity.HasKey(e => e.Id).HasName("PK__dim_fund__3213E83F76620647");
entity.ToTable("dim_funding_decision");
@@ -1121,7 +1121,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_related689923"),
j =>
{
- j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__9096649168B0738D");
+ j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__909664918B76C476");
j.ToTable("br_related_funding_decision");
j.IndexerProperty("DimFundingDecisionFromId").HasColumnName("dim_funding_decision_from_id");
j.IndexerProperty("DimFundingDecisionToId").HasColumnName("dim_funding_decision_to_id");
@@ -1140,7 +1140,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_related232364"),
j =>
{
- j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__9096649168B0738D");
+ j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__909664918B76C476");
j.ToTable("br_related_funding_decision");
j.IndexerProperty("DimFundingDecisionFromId").HasColumnName("dim_funding_decision_from_id");
j.IndexerProperty("DimFundingDecisionToId").HasColumnName("dim_funding_decision_to_id");
@@ -1149,7 +1149,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_geo__3213E83F6775F5F9");
+ entity.HasKey(e => e.Id).HasName("PK__dim_geo__3213E83F055E84C8");
entity.ToTable("dim_geo");
@@ -1203,7 +1203,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_iden__3213E83F611AE8F4");
+ entity.HasKey(e => e.Id).HasName("PK__dim_iden__3213E83F0442DAAD");
entity.ToTable("dim_identifierless_data");
@@ -1245,7 +1245,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_infr__3213E83F134FF0CC");
+ entity.HasKey(e => e.Id).HasName("PK__dim_infr__3213E83F432AB60A");
entity.ToTable("dim_infrastructure");
@@ -1319,7 +1319,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_keyw__3213E83F828D6675");
+ entity.HasKey(e => e.Id).HasName("PK__dim_keyw__3213E83F60A9F1D0");
entity.ToTable("dim_keyword");
@@ -1386,7 +1386,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_keyword224605"),
j =>
{
- j.HasKey("DimKeywordId", "DimFundingDecisionId").HasName("PK__br_keywo__8C7B929B7BA30AB2");
+ j.HasKey("DimKeywordId", "DimFundingDecisionId").HasName("PK__br_keywo__8C7B929B3190CD77");
j.ToTable("br_keyword_dim_funding_decision");
j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id");
j.IndexerProperty("DimFundingDecisionId").HasColumnName("dim_funding_decision_id");
@@ -1405,7 +1405,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_keyword944303"),
j =>
{
- j.HasKey("DimKeywordId", "DimPublicationId").HasName("PK__br_keywo__C6E31F1A27736A4E");
+ j.HasKey("DimKeywordId", "DimPublicationId").HasName("PK__br_keywo__C6E31F1A6C5DC5A4");
j.ToTable("br_keyword_dim_publication");
j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id");
j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id");
@@ -1414,7 +1414,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_know__3213E83FACA422D2");
+ entity.HasKey(e => e.Id).HasName("PK__dim_know__3213E83F2F885DFE");
entity.ToTable("dim_known_person");
@@ -1443,7 +1443,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_loca__3213E83F36A297BC");
+ entity.HasKey(e => e.Id).HasName("PK__dim_loca__3213E83F9860469B");
entity.ToTable("dim_locally_reported_pub_info");
@@ -1491,7 +1491,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_meri__3213E83F27B0527F");
+ entity.HasKey(e => e.Id).HasName("PK__dim_meri__3213E83F43BFB92B");
entity.ToTable("dim_meril");
@@ -1534,7 +1534,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_meril_d209645"),
j =>
{
- j.HasKey("DimMerilId", "DimInfrastructureId").HasName("PK__br_meril__A30C54DAA59A6FDB");
+ j.HasKey("DimMerilId", "DimInfrastructureId").HasName("PK__br_meril__A30C54DAC68B4425");
j.ToTable("br_meril_dim_infrastructure");
j.IndexerProperty("DimMerilId").HasColumnName("dim_meril_id");
j.IndexerProperty("DimInfrastructureId").HasColumnName("dim_infrastructure_id");
@@ -1543,7 +1543,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_mine__3213E83F72A260B7");
+ entity.HasKey(e => e.Id).HasName("PK__dim_mine__3213E83F11433418");
entity.ToTable("dim_mined_words");
@@ -1567,7 +1567,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_name__3213E83F2CEE89CA");
+ entity.HasKey(e => e.Id).HasName("PK__dim_name__3213E83F18FD3B49");
entity.ToTable("dim_name");
@@ -1612,7 +1612,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_news__3213E83F201EFEBA");
+ entity.HasKey(e => e.Id).HasName("PK__dim_news__3213E83FFBBF2D4C");
entity.ToTable("dim_news_feed");
@@ -1639,7 +1639,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.Id, e.DimNewsFeedid }).HasName("PK__dim_news__B87E67031ABA5222");
+ entity.HasKey(e => new { e.Id, e.DimNewsFeedid }).HasName("PK__dim_news__B87E6703FEA4C619");
entity.ToTable("dim_news_item");
@@ -1708,7 +1708,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_orga__3213E83F8096E721");
+ entity.HasKey(e => e.Id).HasName("PK__dim_orga__3213E83FF8B3CB16");
entity.ToTable("dim_organization");
@@ -1804,7 +1804,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_organiz621686"),
j =>
{
- j.HasKey("DimOrganizationid", "DimCallProgrammeid").HasName("PK__br_organ__10F219BC67F57D2D");
+ j.HasKey("DimOrganizationid", "DimCallProgrammeid").HasName("PK__br_organ__10F219BCF98798D3");
j.ToTable("br_organizations_fund_call_programmes");
j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid");
j.IndexerProperty("DimCallProgrammeid").HasColumnName("dim_call_programmeid");
@@ -1823,7 +1823,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_predece849307"),
j =>
{
- j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F4AF4252D6");
+ j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F4B01F95BC");
j.ToTable("br_predecessor_organization");
j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid");
j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2");
@@ -1842,7 +1842,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_success452227"),
j =>
{
- j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F443C2898E");
+ j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F4E61F8F49");
j.ToTable("br_successor organization");
j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid");
j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2");
@@ -1861,7 +1861,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_predece505451"),
j =>
{
- j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F4AF4252D6");
+ j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F4B01F95BC");
j.ToTable("br_predecessor_organization");
j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid");
j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2");
@@ -1880,7 +1880,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_success902531"),
j =>
{
- j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F443C2898E");
+ j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F4E61F8F49");
j.ToTable("br_successor organization");
j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid");
j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2");
@@ -1889,7 +1889,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_pid__3213E83F4FFE0E46");
+ entity.HasKey(e => e.Id).HasName("PK__dim_pid__3213E83F4F654D17");
entity.ToTable("dim_pid");
@@ -1998,7 +1998,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83F9FC42F3B");
+ entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83FC1756098");
entity.ToTable("dim_profile_only_dataset");
@@ -2058,7 +2058,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83FABC80557");
+ entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83F823F3A22");
entity.ToTable("dim_profile_only_funding_decision");
@@ -2154,7 +2154,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83F2AED11BF");
+ entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83FADFF689E");
entity.ToTable("dim_profile_only_publication");
@@ -2305,7 +2305,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83FB0D3A831");
+ entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83F6C9F0350");
entity.ToTable("dim_profile_only_research_activity");
@@ -2385,7 +2385,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_publ__3213E83F2B61CDC4");
+ entity.HasKey(e => e.Id).HasName("PK__dim_publ__3213E83F11E193C7");
entity.ToTable("dim_publication");
@@ -2408,6 +2408,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasColumnType("datetime")
.HasColumnName("created");
entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id");
+ entity.Property(e => e.DimPublicationChannelIdFrozen).HasColumnName("dim_publication_channel_id_frozen");
entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id");
entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id");
entity.Property(e => e.Doi)
@@ -2439,6 +2440,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasMaxLength(4000)
.HasColumnName("journal_name");
entity.Property(e => e.JufoClass).HasColumnName("jufo_class");
+ entity.Property(e => e.JufoClassCodeFrozen).HasColumnName("jufo_class_code_frozen");
entity.Property(e => e.JuuliAddress)
.HasMaxLength(4000)
.HasColumnName("juuli_address");
@@ -2507,11 +2509,16 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasForeignKey(d => d.ArticleTypeCode)
.HasConstraintName("article_type_code");
- entity.HasOne(d => d.DimPublicationChannel).WithMany(p => p.DimPublications)
+ entity.HasOne(d => d.DimPublicationChannel).WithMany(p => p.DimPublicationDimPublicationChannels)
.HasForeignKey(d => d.DimPublicationChannelId)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("publication_channel");
+ entity.HasOne(d => d.DimPublicationChannelIdFrozenNavigation).WithMany(p => p.DimPublicationDimPublicationChannelIdFrozenNavigations)
+ .HasForeignKey(d => d.DimPublicationChannelIdFrozen)
+ .OnDelete(DeleteBehavior.ClientSetNull)
+ .HasConstraintName("publication_channel_frozen");
+
entity.HasOne(d => d.DimPublicationNavigation).WithMany(p => p.InverseDimPublicationNavigation)
.HasForeignKey(d => d.DimPublicationId)
.HasConstraintName("parent_publication");
@@ -2526,6 +2533,11 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("jufo_class");
+ entity.HasOne(d => d.JufoClassCodeFrozenNavigation).WithMany(p => p.DimPublicationJufoClassCodeFrozenNavigations)
+ .HasForeignKey(d => d.JufoClassCodeFrozen)
+ .OnDelete(DeleteBehavior.ClientSetNull)
+ .HasConstraintName("jufo_class_frozen");
+
entity.HasOne(d => d.LanguageCodeNavigation).WithMany(p => p.DimPublicationLanguageCodeNavigations)
.HasForeignKey(d => d.LanguageCode)
.OnDelete(DeleteBehavior.ClientSetNull)
@@ -2586,7 +2598,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_artpubl464312"),
j =>
{
- j.HasKey("DimPublicationId", "DimReferencedataid").HasName("PK__br_artpu__879F18F3CD4C9940");
+ j.HasKey("DimPublicationId", "DimReferencedataid").HasName("PK__br_artpu__879F18F344EC60D6");
j.ToTable("br_artpublication_typecategory");
j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id");
j.IndexerProperty("DimReferencedataid").HasColumnName("dim_referencedataid");
@@ -2595,7 +2607,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_publ__3213E83FE1772FAE");
+ entity.HasKey(e => e.Id).HasName("PK__dim_publ__3213E83F5AC8404B");
entity.ToTable("dim_publication_channel");
@@ -2625,7 +2637,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_purp__3213E83F3C117309");
+ entity.HasKey(e => e.Id).HasName("PK__dim_purp__3213E83FA746F35A");
entity.ToTable("dim_purpose");
@@ -2667,7 +2679,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_refe__3213E83F28BB2F78");
+ entity.HasKey(e => e.Id).HasName("PK__dim_refe__3213E83F01FC17FA");
entity.ToTable("dim_referencedata");
@@ -2725,7 +2737,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKfact_dim_r130466"),
j =>
{
- j.HasKey("DimReferencedataId", "DimPublicationId").HasName("PK__fact_dim__62A1BBCB167FD089");
+ j.HasKey("DimReferencedataId", "DimPublicationId").HasName("PK__fact_dim__62A1BBCB38ED3F08");
j.ToTable("fact_dim_referencedata_field_of_art");
j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id");
j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id");
@@ -2734,7 +2746,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_regi__3213E83F67476DF0");
+ entity.HasKey(e => e.Id).HasName("PK__dim_regi__3213E83F64F6AB47");
entity.ToTable("dim_registered_data_source");
@@ -2764,7 +2776,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F0CCD737E");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83FC9D359FC");
entity.ToTable("dim_research_activity");
@@ -2847,7 +2859,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimResearchActivityId, e.DimKeywordId }).HasName("PK__dim_rese__F7B536BC021F2D14");
+ entity.HasKey(e => new { e.DimResearchActivityId, e.DimKeywordId }).HasName("PK__dim_rese__F7B536BCA2B5BA4E");
entity.ToTable("dim_research_activity_dim_keyword");
@@ -2862,7 +2874,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83FB816BDE1");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F0398A530");
entity.ToTable("dim_research_community");
@@ -2908,7 +2920,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F8E442686");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F8F43447A");
entity.ToTable("dim_research_data_catalog");
@@ -2947,7 +2959,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F90695612");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83FFF02318D");
entity.ToTable("dim_research_dataset");
@@ -3037,7 +3049,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("dataset-keywords"),
j =>
{
- j.HasKey("DimResearchDatasetId", "DimKeywordId").HasName("PK__br_resea__4D226DF2A3AC622F");
+ j.HasKey("DimResearchDatasetId", "DimKeywordId").HasName("PK__br_resea__4D226DF23AE90BD5");
j.ToTable("br_research_dataset_dim_keyword");
j.IndexerProperty("DimResearchDatasetId").HasColumnName("dim_research_dataset_id");
j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id");
@@ -3056,7 +3068,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("FKbr_languag34243"),
j =>
{
- j.HasKey("DimResearchDatasetId", "DimReferencedataId").HasName("PK__br_langu__576647BFF5EC8F58");
+ j.HasKey("DimResearchDatasetId", "DimReferencedataId").HasName("PK__br_langu__576647BFE99BAEAA");
j.ToTable("br_language_codes_for_datasets");
j.IndexerProperty("DimResearchDatasetId").HasColumnName("dim_research_dataset_id");
j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id");
@@ -3065,7 +3077,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F5C8AD69B");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F18FD8710");
entity.ToTable("dim_research_project");
@@ -3150,7 +3162,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F1435D79A");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83FC3E877FE");
entity.ToTable("dim_researcher_description");
@@ -3187,7 +3199,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F0A6F661B");
+ entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F0865663F");
entity.ToTable("dim_researcher_to_research_community");
@@ -3246,7 +3258,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_sect__3213E83F28F1F16F");
+ entity.HasKey(e => e.Id).HasName("PK__dim_sect__3213E83FD2395792");
entity.ToTable("dim_sector");
@@ -3279,7 +3291,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_serv__3213E83F97259487");
+ entity.HasKey(e => e.Id).HasName("PK__dim_serv__3213E83FB36A1DE2");
entity.ToTable("dim_service");
@@ -3341,7 +3353,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_serv__3213E83F721E2804");
+ entity.HasKey(e => e.Id).HasName("PK__dim_serv__3213E83FFD80CF07");
entity.ToTable("dim_service_point");
@@ -3418,7 +3430,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_tele__3213E83FF9226B60");
+ entity.HasKey(e => e.Id).HasName("PK__dim_tele__3213E83FD7142528");
entity.ToTable("dim_telephone_number");
@@ -3454,11 +3466,11 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_type__3213E83F48DCA6C5");
+ entity.HasKey(e => e.Id).HasName("PK__dim_type__3213E83F9157129F");
entity.ToTable("dim_type_of_funding");
- entity.HasIndex(e => e.TypeId, "UQ__dim_type__2C00059914D85771").IsUnique();
+ entity.HasIndex(e => e.TypeId, "UQ__dim_type__2C000599A0FEB9ED").IsUnique();
entity.Property(e => e.Id).HasColumnName("id");
entity.Property(e => e.Created)
@@ -3495,7 +3507,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_user__3213E83FFD3436E7");
+ entity.HasKey(e => e.Id).HasName("PK__dim_user__3213E83F25B5D78A");
entity.ToTable("dim_user_choices");
@@ -3529,7 +3541,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_user__3213E83F22C2C42D");
+ entity.HasKey(e => e.Id).HasName("PK__dim_user__3213E83FE7143FF9");
entity.ToTable("dim_user_profile");
@@ -3669,7 +3681,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => e.Id).HasName("PK__dim_word__3213E83F20E9BF27");
+ entity.HasKey(e => e.Id).HasName("PK__dim_word__3213E83F52D7957F");
entity.ToTable("dim_word_cluster");
@@ -3692,7 +3704,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationId, e.DimDateId, e.DimNameId, e.DimPublicationId, e.DimGeoId, e.DimInfrastructureId, e.DimNewsFeedId, e.DimResearchDatasetId, e.DimResearchDataCatalogId, e.DimIdentifierlessDataId, e.DimResearchActivityId, e.DimResearchCommunityId, e.DimReferencedataActorRoleId, e.DimResearchProjectId }).HasName("PK__fact_con__7D4857052B440C05");
+ entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationId, e.DimDateId, e.DimNameId, e.DimPublicationId, e.DimGeoId, e.DimInfrastructureId, e.DimNewsFeedId, e.DimResearchDatasetId, e.DimResearchDataCatalogId, e.DimIdentifierlessDataId, e.DimResearchActivityId, e.DimResearchCommunityId, e.DimReferencedataActorRoleId, e.DimResearchProjectId }).HasName("PK__fact_con__7D4857056EF5A938");
entity.ToTable("fact_contribution");
@@ -3802,7 +3814,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimReferencedataId, e.DimResearchDatasetId, e.DimKnownPersonId, e.DimPublicationId, e.DimResearchActivityId, e.DimFundingDecisionId, e.DimInfrastructureId }).HasName("PK__fact_dim__3CB15DD385E216DB");
+ entity.HasKey(e => new { e.DimReferencedataId, e.DimResearchDatasetId, e.DimKnownPersonId, e.DimPublicationId, e.DimResearchActivityId, e.DimFundingDecisionId, e.DimInfrastructureId }).HasName("PK__fact_dim__3CB15DD34F793838");
entity.ToTable("fact_dim_referencedata_field_of_science");
@@ -4037,7 +4049,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimKeywordId, e.DimServiceId, e.DimServicePointId, e.DimInfrastructureId }).HasName("PK__fact_inf__3C29B680B73BD4FA");
+ entity.HasKey(e => new { e.DimKeywordId, e.DimServiceId, e.DimServicePointId, e.DimInfrastructureId }).HasName("PK__fact_inf__3C29B6806599E9CD");
entity.ToTable("fact_infra_keywords");
@@ -4081,7 +4093,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity(entity =>
{
- entity.HasKey(e => new { e.DimOrganizationId, e.DimGeoId, e.DimInfrastructureId, e.DimServiceId, e.DimServicePointId, e.DimDateIdStart, e.DimDateIdEnd }).HasName("PK__fact_upk__850A8E30C04C858F");
+ entity.HasKey(e => new { e.DimOrganizationId, e.DimGeoId, e.DimInfrastructureId, e.DimServiceId, e.DimServicePointId, e.DimDateIdStart, e.DimDateIdEnd }).HasName("PK__fact_upk__850A8E300E64352E");
entity.ToTable("fact_upkeep");
diff --git a/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs b/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs
index 8024f1cd..6ab443bd 100644
--- a/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs
+++ b/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs
@@ -123,6 +123,10 @@ public partial class DimPublication
public int? DimPublicationId { get; set; }
+ public int JufoClassCodeFrozen { get; set; }
+
+ public int DimPublicationChannelIdFrozen { get; set; }
+
public virtual DimReferencedatum? ArticleTypeCodeNavigation { get; set; }
public virtual ICollection DimLocallyReportedPubInfos { get; set; } = new List();
@@ -131,6 +135,8 @@ public partial class DimPublication
public virtual DimPublicationChannel DimPublicationChannel { get; set; } = null!;
+ public virtual DimPublicationChannel DimPublicationChannelIdFrozenNavigation { get; set; } = null!;
+
public virtual DimPublication? DimPublicationNavigation { get; set; }
public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!;
@@ -143,6 +149,8 @@ public partial class DimPublication
public virtual ICollection InverseDimPublicationNavigation { get; set; } = new List();
+ public virtual DimReferencedatum JufoClassCodeFrozenNavigation { get; set; } = null!;
+
public virtual DimReferencedatum JufoClassNavigation { get; set; } = null!;
public virtual DimReferencedatum LanguageCodeNavigation { get; set; } = null!;
diff --git a/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs b/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs
index 9f3417f3..3a89035e 100644
--- a/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs
+++ b/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs
@@ -23,7 +23,9 @@ public partial class DimPublicationChannel
public virtual ICollection DimPids { get; set; } = new List();
- public virtual ICollection DimPublications { get; set; } = new List();
+ public virtual ICollection DimPublicationDimPublicationChannelIdFrozenNavigations { get; set; } = new List();
+
+ public virtual ICollection DimPublicationDimPublicationChannels { get; set; } = new List();
public virtual ICollection DimResearchActivities { get; set; } = new List();
}
diff --git a/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs b/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs
index f06b28b5..123a73f3 100644
--- a/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs
+++ b/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs
@@ -69,6 +69,8 @@ public partial class DimReferencedatum
public virtual ICollection DimPublicationArticleTypeCodeNavigations { get; set; } = new List();
+ public virtual ICollection DimPublicationJufoClassCodeFrozenNavigations { get; set; } = new List();
+
public virtual ICollection DimPublicationJufoClassNavigations { get; set; } = new List();
public virtual ICollection DimPublicationLanguageCodeNavigations { get; set; } = new List();
diff --git a/aspnetcore/src/ElasticService/ElasticSearchQueryGenerators/PublicationQueryGenerator.cs b/aspnetcore/src/ElasticService/ElasticSearchQueryGenerators/PublicationQueryGenerator.cs
index 1f7b9a8b..1d9e996e 100644
--- a/aspnetcore/src/ElasticService/ElasticSearchQueryGenerators/PublicationQueryGenerator.cs
+++ b/aspnetcore/src/ElasticService/ElasticSearchQueryGenerators/PublicationQueryGenerator.cs
@@ -258,15 +258,6 @@ private static IEnumerable, QueryCont
.Value(parameters.TypeCode)
));
}
-
- // Searching with publisher open access code requires exact match.
- if (!string.IsNullOrWhiteSpace(parameters.PublisherOpenAccess))
- {
- filters.Add(t => t.Term(term => term
- .Field(f => f.PublisherOpenAccess!.Code)
- .Value(parameters.PublisherOpenAccess)
- ));
- }
if (parameters.Issn is not null)
{
@@ -289,6 +280,13 @@ private static IEnumerable, QueryCont
t.Term(s => s.Field(f => f.JufoCode)
.Value(parameters.JufoCode)));
}
+
+ if (parameters.JufoCodeRecorded is not null)
+ {
+ filters.Add(t =>
+ t.Term(s => s.Field(f => f.JufoCodeRecorded)
+ .Value(parameters.JufoCodeRecorded)));
+ }
if (parameters.Doi is not null)
{
@@ -297,6 +295,33 @@ private static IEnumerable, QueryCont
.Value(parameters.Doi)));
}
+ // Searching with jufo class requires exact match.
+ if (!string.IsNullOrWhiteSpace(parameters.JufoClass))
+ {
+ filters.Add(t => t.Term(term => term
+ .Field(f => f.JufoClass!.Code)
+ .Value(parameters.JufoClass)
+ ));
+ }
+
+ // Searching with jufo class recorded requires exact match.
+ if (!string.IsNullOrWhiteSpace(parameters.JufoClassRecorded))
+ {
+ filters.Add(t => t.Term(term => term
+ .Field(f => f.JufoClassRecorded!.Code)
+ .Value(parameters.JufoClassRecorded)
+ ));
+ }
+
+ // Searching with publisher open access code requires exact match.
+ if (!string.IsNullOrWhiteSpace(parameters.PublisherOpenAccess))
+ {
+ filters.Add(t => t.Term(term => term
+ .Field(f => f.PublisherOpenAccess!.Code)
+ .Value(parameters.PublisherOpenAccess)
+ ));
+ }
+
// Searching with status requires exact match.
if (!string.IsNullOrWhiteSpace(parameters.Status))
{
diff --git a/aspnetcore/src/ElasticService/SearchParameters/PublicationSearchParameters.cs b/aspnetcore/src/ElasticService/SearchParameters/PublicationSearchParameters.cs
index 9d5dc8c7..d5b98ce9 100644
--- a/aspnetcore/src/ElasticService/SearchParameters/PublicationSearchParameters.cs
+++ b/aspnetcore/src/ElasticService/SearchParameters/PublicationSearchParameters.cs
@@ -40,6 +40,12 @@ public class PublicationSearchParameters
public string? JufoCode { get; set; }
+ public string? JufoCodeRecorded { get; set; }
+
+ public string? JufoClass { get; set; }
+
+ public string? JufoClassRecorded { get; set; }
+
public string? Doi { get; set; }
public string? Keywords { get; set; }
diff --git a/aspnetcore/src/Indexer/Indexer.csproj b/aspnetcore/src/Indexer/Indexer.csproj
index ab3953a1..8657115d 100644
--- a/aspnetcore/src/Indexer/Indexer.csproj
+++ b/aspnetcore/src/Indexer/Indexer.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/aspnetcore/src/Repositories/Maps/PublicationProfile.cs b/aspnetcore/src/Repositories/Maps/PublicationProfile.cs
index 7826bbc4..4145b02d 100644
--- a/aspnetcore/src/Repositories/Maps/PublicationProfile.cs
+++ b/aspnetcore/src/Repositories/Maps/PublicationProfile.cs
@@ -53,6 +53,8 @@ public PublicationProfile()
.ForMember(dst => dst.PublisherLocation, opt => opt.MapFrom(src => src.PublisherLocation))
.ForMember(dst => dst.JufoCode, opt => opt.MapFrom(src => src.DimPublicationChannel.JufoCode))
.ForMember(dst => dst.JufoClass, opt => opt.MapFrom(src => src.JufoClassNavigation))
+ .ForMember(dst => dst.JufoCodeRecorded, opt => opt.MapFrom(src => src.DimPublicationChannelIdFrozenNavigation.JufoCode))
+ .ForMember(dst => dst.JufoClassRecorded, opt => opt.MapFrom(src => src.JufoClassCodeFrozenNavigation))
.ForMember(dst => dst.Doi, opt => opt.MapFrom(src => src.Doi))
.ForMember(dst => dst.DoiHandle, opt => opt.MapFrom(src => src.DoiHandle))
.ForMember(dst => dst.FieldsOfScience, opt => opt.MapFrom(src => src.FactDimReferencedataFieldOfSciences.Select(f => f.DimReferencedata)))
diff --git a/aspnetcore/src/Service.Models/Publication/Publication.cs b/aspnetcore/src/Service.Models/Publication/Publication.cs
index 890c1414..b27ba5d3 100644
--- a/aspnetcore/src/Service.Models/Publication/Publication.cs
+++ b/aspnetcore/src/Service.Models/Publication/Publication.cs
@@ -137,6 +137,16 @@ public class Publication
///
public ReferenceData? JufoClass { get; set; }
+ ///
+ /// Julkaisufoorumi (jäädytetty)
+ ///
+ public string? JufoCodeRecorded { get; set; }
+
+ ///
+ /// Julkaisufoorumitaso (jäädytetty)
+ ///
+ public ReferenceData? JufoClassRecorded { get; set; }
+
///
/// Linkit
///
diff --git a/aspnetcore/test/Indexer.Tests/Maps/PublicationProfileTest.cs b/aspnetcore/test/Indexer.Tests/Maps/PublicationProfileTest.cs
index 5fb7b979..b6aa86d2 100644
--- a/aspnetcore/test/Indexer.Tests/Maps/PublicationProfileTest.cs
+++ b/aspnetcore/test/Indexer.Tests/Maps/PublicationProfileTest.cs
@@ -261,6 +261,19 @@ private static DimPublication GetEntity()
ChannelNameAnylang = "channelNameAnylang",
PublisherNameText = "publisherNameText",
},
+ JufoClassCodeFrozenNavigation = new DimReferencedatum
+ {
+ CodeValue = "jufoClassCodeFrozen",
+ NameFi = "jufoClassCodeFrozenNameFi",
+ NameEn = "jufoClassCodeFrozenNameEn",
+ NameSv = "jufoClassCodeFrozenNameSv"
+ },
+ DimPublicationChannelIdFrozenNavigation = new()
+ {
+ JufoCode = "jufoCodeFrozen",
+ ChannelNameAnylang = "channelNameAnylang2",
+ PublisherNameText = "publisherNameText2",
+ },
PublisherOpenAccessCodeNavigation = new DimReferencedatum
{
CodeValue = "publisherOpenAccessCode",
@@ -495,6 +508,14 @@ private Publication GetModel()
NameEn = "jufoClassNameEn",
NameSv = "jufoClassNameSv"
},
+ JufoCodeRecorded = "jufoCodeFrozen",
+ JufoClassRecorded = new ReferenceData
+ {
+ Code = "jufoClassCodeFrozen",
+ NameFi = "jufoClassCodeFrozenNameFi",
+ NameEn = "jufoClassCodeFrozenNameEn",
+ NameSv = "jufoClassCodeFrozenNameSv"
+ },
Doi = "doi",
DoiHandle = "doiHandle",
Keywords = new List