diff --git a/aspnetcore/src/ApiModels/VirtaJtp/DuplikaatitAPI.cs b/aspnetcore/src/ApiModels/VirtaJtp/DuplikaatitAPI.cs
new file mode 100644
index 00000000..48ced3aa
--- /dev/null
+++ b/aspnetcore/src/ApiModels/VirtaJtp/DuplikaatitAPI.cs
@@ -0,0 +1,69 @@
+namespace ResearchFi.VirtaJtp.Duplikaatit
+{
+ ///
+ /// Duplikaatit
+ ///
+ public partial class DuplikaatitAPI
+ {
+ ///
+ /// DuplikaattiId
+ ///
+ public long DuplikaattiId { get; set; }
+ ///
+ /// Organisaatiotunnus
+ ///
+ public string Organisaatiotunnus { get; set; } = null!;
+ ///
+ /// Organisaationimi
+ ///
+ public string? Organisaationimi { get; set; }
+ ///
+ /// Julkaisun tunnus
+ ///
+ public string Julkaisuntunnus { get; set; } = null!;
+ ///
+ /// Kuvaus
+ ///
+ public string? Kuvaus { get; set; }
+ ///
+ /// Julkaisun org tunnus
+ ///
+ public string Julkaisunorgtunnus { get; set; } = null!;
+ ///
+ /// Duplikaattijulkaisun org tunnus
+ ///
+ public string Duplikaattijulkaisunorgtunnus { get; set; } = null!;
+ ///
+ /// Julkaisun nimi
+ ///
+ public string? Julkaisunnimi { get; set; }
+ ///
+ /// Duplikaattijulkaisun nimi
+ ///
+ public string? Duplikaattijulkaisunnimi { get; set; }
+ ///
+ /// Julkaisutyyppikoodi
+ ///
+ public string? Julkaisutyyppikoodi { get; set; }
+ ///
+ /// Tila
+ ///
+ public int? Tila { get; set; }
+ ///
+ /// TarkistusId
+ ///
+ public long TarkistusId { get; set; }
+ ///
+ /// Luontipäivämäärä
+ ///
+ public DateTime? Luontipaivamaara { get; set; }
+ ///
+ /// Ilmoitusvuosi
+ ///
+ public int? Ilmoitusvuosi { get; set; }
+ ///
+ /// Julkaisuvuosi
+ ///
+ public int? Julkaisuvuosi { get; set; }
+ }
+}
diff --git a/aspnetcore/src/ApiModels/VirtaJtp/TilanneraporttiAPI.cs b/aspnetcore/src/ApiModels/VirtaJtp/TilanneraporttiAPI.cs
new file mode 100644
index 00000000..b7502092
--- /dev/null
+++ b/aspnetcore/src/ApiModels/VirtaJtp/TilanneraporttiAPI.cs
@@ -0,0 +1,153 @@
+namespace ResearchFi.VirtaJtp.Tilanneraportti
+{
+ ///
+ /// Tilanneraportti
+ ///
+ public partial class TilanneraporttiAPI
+ {
+ ///
+ /// TilanneraporttiId
+ ///
+ public long TilanneraporttiId { get; set; }
+
+ ///
+ /// Organisaationimi
+ ///
+ public string? Organisaationimi { get; set; }
+
+ ///
+ /// Organisaatiotunnus
+ ///
+ public string? OrganisaatioTunnus { get; set; }
+
+ ///
+ /// Julkaisuvuosi
+ ///
+ public int JulkaisuVuosi { get; set; }
+
+ ///
+ /// Ilmoitusvuosi
+ ///
+ public int? IlmoitusVuosi { get; set; }
+
+ ///
+ /// Julkaisun nimi
+ ///
+ public string? JulkaisunNimi { get; set; }
+
+ ///
+ /// Julkaisun tyyppi
+ ///
+ public string? JulkaisuTyyppi { get; set; }
+
+ ///
+ /// Julkaisun tila
+ ///
+ public int? JulkaisunTila { get; set; }
+
+ ///
+ /// Julkaisun tunnus
+ ///
+ public string JulkaisunTunnus { get; set; } = null!;
+
+ ///
+ /// Organisaation julkaisutunnus
+ ///
+ public string OrganisaationJulkaisuTunnus { get; set; } = null!;
+
+ ///
+ /// Luontipäivämäärä
+ ///
+ public string? Luontipaivamaara { get; set; }
+
+ ///
+ /// Päivityspäivämäärä
+ ///
+ public string? Paivityspaivamaara { get; set; }
+
+ ///
+ /// Jufotunnus
+ ///
+ public string? JufoTunnus { get; set; }
+
+ ///
+ /// Jufoluokkakoodi
+ ///
+ public string? JufoLuokkaKoodi { get; set; }
+
+ ///
+ /// Avoin saatavuus julkaisumaksu
+ ///
+ public string? AvoinSaatavuusJulkaisumaksu { get; set; }
+
+ ///
+ /// Avoin saatavuus julkaisumaksu vuosi
+ ///
+ public int? AvoinSaatavuusJulkaisumaksuVuosi { get; set; }
+
+ ///
+ /// Julkaisukanava Oa
+ ///
+ public string? JulkaisuKanavaOa { get; set; }
+
+ ///
+ /// Avoin saatavuus kytkin
+ ///
+ public string? AvoinSaatavuusKytkin { get; set; }
+
+ ///
+ /// Lisenssikoodi
+ ///
+ public string? LisenssiKoodi { get; set; }
+
+ ///
+ /// Muotokoodi
+ ///
+ public string? MuotoKoodi { get; set; }
+
+ ///
+ /// Yleisökoodi
+ ///
+ public string? YleisoKoodi { get; set; }
+
+ ///
+ /// Emojulkaisun tyyppikoodi
+ ///
+ public string? EmojulkaisuntyyppiKoodi { get; set; }
+
+ ///
+ /// Artikkelityyppikoodi
+ ///
+ public string? ArtikkelityyppiKoodi { get; set; }
+
+ ///
+ /// Vertaisarvioitukytkin
+ ///
+ public string? VertaisarvioituKytkin { get; set; }
+
+ ///
+ /// Raporttikytkin
+ ///
+ public string? RaporttiKytkin { get; set; }
+
+ ///
+ /// Opinnäytekoodi
+ ///
+ public string? OpinnayteKoodi { get; set; }
+
+ ///
+ /// Taidetyyppikoodi
+ ///
+ public string? TaidetyyppiKoodi { get; set; }
+
+ ///
+ /// Avsovellustyyppikoodi
+ ///
+ public string? AvsovellusTyyppiKoodi { get; set; }
+
+ ///
+ /// Rinnakkaistallennettu kytkin
+ ///
+ public string? RinnakkaistallennettuKytkin { get; set; }
+ }
+}
diff --git a/aspnetcore/src/ApiModels/VirtaJtp/VirheraporttiAPI.cs b/aspnetcore/src/ApiModels/VirtaJtp/VirheraporttiAPI.cs
new file mode 100644
index 00000000..aaf8af1a
--- /dev/null
+++ b/aspnetcore/src/ApiModels/VirtaJtp/VirheraporttiAPI.cs
@@ -0,0 +1,78 @@
+namespace ResearchFi.VirtaJtp.Virheraportti
+{
+ ///
+ /// Virheraportti
+ ///
+ public partial class VirheraporttiAPI
+ {
+ ///
+ /// VirheraporttiId
+ ///
+ public long VirheraporttiId { get; set; }
+
+ ///
+ /// Organisaatiotunnus
+ ///
+ public string OrganisaatioTunnus { get; set; } = null!;
+
+ ///
+ /// Nimi
+ ///
+ public string? Nimi { get; set; }
+
+ ///
+ /// Kuvaus
+ ///
+ public string? Kuvaus { get; set; }
+
+ ///
+ /// Julkaisun org tunnus
+ ///
+ public string? JulkaisunOrgTunnus { get; set; }
+
+ ///
+ /// Julkaisun nimi
+ ///
+ public string? JulkaisunNimi { get; set; }
+
+ ///
+ /// Julkaisutyyppikoodi
+ ///
+ public string? Julkaisutyyppikoodi { get; set; }
+
+ ///
+ /// Tila
+ ///
+ public int? Tila { get; set; }
+
+ ///
+ /// TarkistusId
+ ///
+ public long TarkistusId { get; set; }
+
+ ///
+ /// Koodi
+ ///
+ public string? Koodi { get; set; }
+
+ ///
+ /// Virheviesti
+ ///
+ public string? Virheviesti { get; set; }
+
+ ///
+ /// Luontipäivämäärä
+ ///
+ public DateTime? Luontipaivamaara { get; set; }
+
+ ///
+ /// Ilmoitusvuosi
+ ///
+ public int? IlmoitusVuosi { get; set; }
+
+ ///
+ /// Julkaisuvuosi
+ ///
+ public int? JulkaisuVuosi { get; set; }
+ }
+}
diff --git a/aspnetcore/src/ApiModels/VirtaJtp/YhteisjulkaisutRistiriitaisetAPI.cs b/aspnetcore/src/ApiModels/VirtaJtp/YhteisjulkaisutRistiriitaisetAPI.cs
new file mode 100644
index 00000000..11e93a63
--- /dev/null
+++ b/aspnetcore/src/ApiModels/VirtaJtp/YhteisjulkaisutRistiriitaisetAPI.cs
@@ -0,0 +1,83 @@
+namespace ResearchFi.VirtaJtp.YhteisjulkaisutRistiriitaiset
+{
+ ///
+ /// YhteisjulkaisutRistiriitaiset
+ ///
+ public partial class YhteisjulkaisutRistiriitaisetApi
+ {
+ ///
+ /// RrId
+ ///
+ public long RrId { get; set; }
+
+ ///
+ /// Yhteisjulkaisun tunnus
+ ///
+ public string YhteisjulkaisunTunnus { get; set; } = null!;
+
+ ///
+ /// Julkaisun tunnus
+ ///
+ public string JulkaisunTunnus { get; set; } = null!;
+
+ ///
+ /// Organisaation nimi
+ ///
+ public string? Organisaationimi { get; set; }
+
+ ///
+ /// Organisaatiotunnus
+ ///
+ public string OrganisaatioTunnus { get; set; } = null!;
+
+ ///
+ /// Julkaisuvuosi
+ ///
+ public int? JulkaisuVuosi { get; set; }
+
+ ///
+ /// Ilmoitusvuosi
+ ///
+ public int? IlmoitusVuosi { get; set; }
+
+ ///
+ /// Julkaisun nimi
+ ///
+ public string JulkaisunNimi { get; set; } = null!;
+
+ ///
+ /// Ristiriitainen tieto
+ ///
+ public string? RistiriitainenTieto { get; set; } // In API "Julkaisutyyppi" in the DB is mapped to "RistiriitainenTieto"
+
+ ///
+ /// Julkaisun org tunnus
+ ///
+ public string? JulkaisunOrgTunnus { get; set; }
+
+ ///
+ /// Liittyvä julkaisun org tunnus
+ ///
+ public string? LiittyvaJulkaisunOrgTunnus { get; set; }
+
+ ///
+ /// Luontipäivämäärä
+ ///
+ public string? Luontipaivamaara { get; set; }
+
+ ///
+ /// Koodi
+ ///
+ public string? Koodi { get; set; }
+
+ ///
+ /// Kuvaus
+ ///
+ public string? Kuvaus { get; set; }
+
+ ///
+ /// Tila
+ ///
+ public int? Tila { get; set; }
+ }
+}
diff --git a/aspnetcore/src/Interface/Controllers/DuplikaatitController.cs b/aspnetcore/src/Interface/Controllers/DuplikaatitController.cs
deleted file mode 100644
index 66b9f7cc..00000000
--- a/aspnetcore/src/Interface/Controllers/DuplikaatitController.cs
+++ /dev/null
@@ -1,60 +0,0 @@
-using CSC.PublicApi.Interface;
-using Microsoft.AspNetCore.Mvc;
-using CSC.PublicApi.Interface.Models;
-using CSC.PublicApi.Interface.Services;
-using Microsoft.AspNetCore.Authorization;
-using ResearchFi.Query;
-//using Organization = ResearchFi.Organization.Organization;
-using Serilog;
-using Microsoft.EntityFrameworkCore;
-using System.Collections;
-
-namespace CSC.PublicApi.Interface.Controllers;
-
-[ApiController]
-[Route("[controller]")]
-
-public class DuplikaatitController : ControllerBase
-{ private const string ApiVersion = "1.0";
- private readonly VirtaJtpDbContext _virtaJtpDbContext;
- private readonly ILogger _logger;
-
- public DuplikaatitController(ILogger logger,VirtaJtpDbContext virtaJtpDbContext)
- {
- _logger = logger;
- _virtaJtpDbContext = virtaJtpDbContext;
- }
-
- [HttpGet(Name = "GetDuplikaatit")]
- [Authorize(Policy = ApiPolicies.Publication.Read)]
- [MapToApiVersion(ApiVersion)]
- [Produces(ApiConstants.ContentTypeJson)]
- [Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
- [ApiExplorerSettings(IgnoreApi = true)]
- public async IAsyncEnumerable Get([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
- {
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var duplikaatits = _virtaJtpDbContext.Duplikaatits
- .OrderBy(b => b.DuplikaattiId)
- .AsNoTracking();
- //.Where(b => b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize)
-
- if (virtaQueryParameters.organisaatiotunnus != null)
- {
- duplikaatits = duplikaatits.Where(b =>
- // b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize &&
- b.Organisaatiotunnus == virtaQueryParameters.organisaatiotunnus);
- }
- duplikaatits = duplikaatits.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
-
- await foreach (var duplikaatti in duplikaatits.AsAsyncEnumerable())
- {
- yield return duplikaatti;
- }
-
- }
-}
diff --git a/aspnetcore/src/Interface/Controllers/TilanneraporttiController.cs b/aspnetcore/src/Interface/Controllers/TilanneraporttiController.cs
deleted file mode 100644
index 9699d5c2..00000000
--- a/aspnetcore/src/Interface/Controllers/TilanneraporttiController.cs
+++ /dev/null
@@ -1,59 +0,0 @@
-using CSC.PublicApi.Interface;
-using Microsoft.AspNetCore.Mvc;
-using CSC.PublicApi.Interface.Models;
-using CSC.PublicApi.Interface.Services;
-using Microsoft.AspNetCore.Authorization;
-using ResearchFi.Query;
-//using Organization = ResearchFi.Organization.Organization;
-using Serilog;
-using Microsoft.EntityFrameworkCore;
-using System.Collections;
-
-namespace CSC.PublicApi.Interface.Controllers;
-
-[ApiController]
-[Route("[controller]")]
-public class TilanneraporttiController : ControllerBase
-{ private const string ApiVersion = "1.0";
- private readonly VirtaJtpDbContext _virtaJtpDbContext;
- private readonly ILogger _logger;
-
- // private string organisaatiotunnus = "10089";
-
- public TilanneraporttiController(ILogger logger,VirtaJtpDbContext virtaJtpDbContext)
- {
- _logger = logger;
- _virtaJtpDbContext = virtaJtpDbContext;
- }
-
- [HttpGet(Name = "GetTilanneraportti")]
- [Authorize(Policy = ApiPolicies.Publication.Read)]
- [MapToApiVersion(ApiVersion)]
- [Produces(ApiConstants.ContentTypeJson)]
- [Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
- [ApiExplorerSettings(IgnoreApi = true)]
- public async IAsyncEnumerable Get([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
- {
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var tilanneraporttis = _virtaJtpDbContext.Tilanneraporttis
- .OrderBy(a => a.TilanneraporttiId)
- .AsNoTracking();
-
- if (virtaQueryParameters.organisaatiotunnus != null)
- {
- tilanneraporttis = tilanneraporttis.Where(b =>
- // b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize &&
- b.OrganisaatioTunnus == virtaQueryParameters.organisaatiotunnus);
- }
- tilanneraporttis = tilanneraporttis.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
- await foreach (var tilanneraportti in tilanneraporttis.AsAsyncEnumerable())
- {
- yield return tilanneraportti;
- }
-
- }
-}
diff --git a/aspnetcore/src/Interface/Controllers/VirheraporttiController.cs b/aspnetcore/src/Interface/Controllers/VirheraporttiController.cs
deleted file mode 100644
index 276750ff..00000000
--- a/aspnetcore/src/Interface/Controllers/VirheraporttiController.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-using CSC.PublicApi.Interface;
-using Microsoft.AspNetCore.Mvc;
-using CSC.PublicApi.Interface.Models;
-using CSC.PublicApi.Interface.Services;
-using Microsoft.AspNetCore.Authorization;
-using ResearchFi.Query;
-//using Organization = ResearchFi.Organization.Organization;
-using Serilog;
-using Microsoft.EntityFrameworkCore;
-using System.Collections;
-
-namespace CSC.PublicApi.Interface.Controllers;
-
-[ApiController]
-[Route("[controller]")]
-public class VirheraporttiController : ControllerBase
-{ private const string ApiVersion = "1.0";
- private readonly VirtaJtpDbContext _virtaJtpDbContext;
- private readonly ILogger _logger;
-
- public VirheraporttiController(ILogger logger,VirtaJtpDbContext virtaJtpDbContext)
- {
- _logger = logger;
- _virtaJtpDbContext = virtaJtpDbContext;
- }
-
- [HttpGet(Name = "GetVirheraportti")]
- [Authorize(Policy = ApiPolicies.Publication.Read)]
- [MapToApiVersion(ApiVersion)]
- [Produces(ApiConstants.ContentTypeJson)]
- [Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
- [ApiExplorerSettings(IgnoreApi = true)]
- public async IAsyncEnumerable Get([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
- {
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var virheraporttis = _virtaJtpDbContext.Virheraporttis
- .OrderBy(b => b.VirheraporttiId)
- .AsNoTracking();
-
- if (virtaQueryParameters.organisaatiotunnus != null)
- {
- virheraporttis = virheraporttis.Where(b =>
- // b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize &&
- b.OrganisaatioTunnus == virtaQueryParameters.organisaatiotunnus);
- }
- virheraporttis = virheraporttis.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
-
- await foreach (var virheraportti in virheraporttis.AsAsyncEnumerable())
- {
- yield return virheraportti;
- }
-
- }
-}
diff --git a/aspnetcore/src/Interface/Controllers/VirtaJulkaisutietopalveluController.cs b/aspnetcore/src/Interface/Controllers/VirtaJulkaisutietopalveluController.cs
index d50c93da..d0f1a8a5 100644
--- a/aspnetcore/src/Interface/Controllers/VirtaJulkaisutietopalveluController.cs
+++ b/aspnetcore/src/Interface/Controllers/VirtaJulkaisutietopalveluController.cs
@@ -1,25 +1,25 @@
-using CSC.PublicApi.Interface;
using Microsoft.AspNetCore.Mvc;
using CSC.PublicApi.Interface.Models;
-using CSC.PublicApi.Interface.Services;
using Microsoft.AspNetCore.Authorization;
using ResearchFi.Query;
-//using Organization = ResearchFi.Organization.Organization;
-using Serilog;
using Microsoft.EntityFrameworkCore;
-using System.Collections;
+using ResearchFi.VirtaJtp.Duplikaatit;
+using ResearchFi.VirtaJtp.Tilanneraportti;
+using ResearchFi.VirtaJtp.Virheraportti;
+using ResearchFi.VirtaJtp.YhteisjulkaisutRistiriitaiset;
namespace CSC.PublicApi.Interface.Controllers;
[ApiController]
-[Route("[controller]")]
+[Route("[controller]")]
public class VirtaJulkaisutietopalveluController : ControllerBase
-{ private const string ApiVersion = "1.0";
+{
+ private const string ApiVersion = "1.0";
private readonly VirtaJtpDbContext _virtaJtpDbContext;
private readonly ILogger _logger;
- public VirtaJulkaisutietopalveluController(ILogger logger,VirtaJtpDbContext virtaJtpDbContext)
+ public VirtaJulkaisutietopalveluController(ILogger logger, VirtaJtpDbContext virtaJtpDbContext)
{
_logger = logger;
_virtaJtpDbContext = virtaJtpDbContext;
@@ -30,60 +30,110 @@ public VirtaJulkaisutietopalveluController(ILogger), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
- public async IAsyncEnumerable GetDuplikaatit([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
+ [ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
+ public async IAsyncEnumerable GetDuplikaatit([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
{
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var duplikaatits = _virtaJtpDbContext.Duplikaatits
- .OrderBy(b => b.DuplikaattiId)
- .AsNoTracking();
- //.Where(b => b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize)
-
+ ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
+ var duplikaatits = _virtaJtpDbContext.Duplikaatits
+ .OrderBy(b => b.DuplikaattiId)
+ .AsNoTracking();
+
if (virtaQueryParameters.organisaatiotunnus != null)
- {
+ {
duplikaatits = duplikaatits.Where(b =>
- // b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize &&
- b.Organisaatiotunnus == virtaQueryParameters.organisaatiotunnus);
- }
- duplikaatits = duplikaatits.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
-
- await foreach (var duplikaatti in duplikaatits.AsAsyncEnumerable())
+ b.Organisaatiotunnus == virtaQueryParameters.organisaatiotunnus);
+ }
+ duplikaatits = duplikaatits
+ .Skip((queryParameters.PageNumber - 1) * queryParameters.PageSize)
+ .Take(queryParameters.PageSize);
+
+ await foreach (var duplikaatti in duplikaatits.AsAsyncEnumerable())
+ {
+ // Map from DB model to API model
+ yield return new DuplikaatitAPI
{
- yield return duplikaatti;
- }
+ DuplikaattiId = duplikaatti.DuplikaattiId,
+ Organisaatiotunnus = duplikaatti.Organisaatiotunnus,
+ Organisaationimi = duplikaatti.Organisaationimi,
+ Julkaisuntunnus = duplikaatti.Julkaisuntunnus,
+ Kuvaus = duplikaatti.Kuvaus,
+ Julkaisunorgtunnus = duplikaatti.Julkaisunorgtunnus,
+ Duplikaattijulkaisunorgtunnus = duplikaatti.Duplikaattijulkaisunorgtunnus,
+ Julkaisunnimi = duplikaatti.Julkaisunnimi,
+ Duplikaattijulkaisunnimi = duplikaatti.Duplikaattijulkaisunnimi,
+ Julkaisutyyppikoodi = duplikaatti.Julkaisutyyppikoodi,
+ Tila = duplikaatti.Tila,
+ TarkistusId = duplikaatti.TarkistusId,
+ Luontipaivamaara = duplikaatti.Luontipaivamaara,
+ Ilmoitusvuosi = duplikaatti.Ilmoitusvuosi,
+ Julkaisuvuosi = duplikaatti.Julkaisuvuosi
+ };
+ }
}
+
[HttpGet("Latausraportit/tilanne")]
[Authorize(Policy = ApiPolicies.Publication.Read)]
[MapToApiVersion(ApiVersion)]
[Produces(ApiConstants.ContentTypeJson)]
[Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
-
- public async IAsyncEnumerable Get([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
+ public async IAsyncEnumerable Get([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
{
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var tilanneraporttis = _virtaJtpDbContext.Tilanneraporttis
- .OrderBy(a => a.TilanneraporttiId)
- .AsNoTracking();
+ ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
+ var tilanneraporttis = _virtaJtpDbContext.Tilanneraporttis
+ .OrderBy(a => a.TilanneraporttiId)
+ .AsNoTracking();
if (virtaQueryParameters.organisaatiotunnus != null)
- {
+ {
tilanneraporttis = tilanneraporttis.Where(b =>
- // b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize &&
- b.OrganisaatioTunnus == virtaQueryParameters.organisaatiotunnus);
- }
- tilanneraporttis = tilanneraporttis.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
- await foreach (var tilanneraportti in tilanneraporttis.AsAsyncEnumerable())
+ b.OrganisaatioTunnus == virtaQueryParameters.organisaatiotunnus);
+ }
+ tilanneraporttis = tilanneraporttis
+ .Skip((queryParameters.PageNumber - 1) * queryParameters.PageSize)
+ .Take(queryParameters.PageSize);
+
+ await foreach (var tilanneraportti in tilanneraporttis.AsAsyncEnumerable())
+ {
+ // Map from DB model to API model
+ yield return new TilanneraporttiAPI
{
- yield return tilanneraportti;
- }
+ TilanneraporttiId = tilanneraportti.TilanneraporttiId,
+ Organisaationimi = tilanneraportti.Organisaationimi,
+ OrganisaatioTunnus = tilanneraportti.OrganisaatioTunnus,
+ JulkaisuVuosi = tilanneraportti.JulkaisuVuosi,
+ IlmoitusVuosi = tilanneraportti.IlmoitusVuosi,
+ JulkaisunNimi = tilanneraportti.JulkaisunNimi,
+ JulkaisuTyyppi = tilanneraportti.JulkaisuTyyppi,
+ JulkaisunTila = tilanneraportti.JulkaisunTila,
+ JulkaisunTunnus = tilanneraportti.JulkaisunTunnus,
+ OrganisaationJulkaisuTunnus = tilanneraportti.OrganisaationJulkaisuTunnus,
+ Luontipaivamaara = tilanneraportti.Luontipaivamaara,
+ Paivityspaivamaara = tilanneraportti.Paivityspaivamaara,
+ JufoTunnus = tilanneraportti.JufoTunnus,
+ JufoLuokkaKoodi = tilanneraportti.JufoLuokkaKoodi,
+ AvoinSaatavuusJulkaisumaksu = tilanneraportti.AvoinSaatavuusJulkaisumaksu,
+ AvoinSaatavuusJulkaisumaksuVuosi = tilanneraportti.AvoinSaatavuusJulkaisumaksuVuosi,
+ JulkaisuKanavaOa = tilanneraportti.JulkaisuKanavaOa,
+ AvoinSaatavuusKytkin = tilanneraportti.AvoinSaatavuusKytkin,
+ LisenssiKoodi = tilanneraportti.LisenssiKoodi,
+ MuotoKoodi = tilanneraportti.MuotoKoodi,
+ YleisoKoodi = tilanneraportti.YleisoKoodi,
+ EmojulkaisuntyyppiKoodi = tilanneraportti.EmojulkaisuntyyppiKoodi,
+ ArtikkelityyppiKoodi = tilanneraportti.ArtikkelityyppiKoodi,
+ VertaisarvioituKytkin = tilanneraportti.VertaisarvioituKytkin,
+ RaporttiKytkin = tilanneraportti.RaporttiKytkin,
+ OpinnayteKoodi = tilanneraportti.OpinnayteKoodi,
+ TaidetyyppiKoodi = tilanneraportti.TaidetyyppiKoodi,
+ AvsovellusTyyppiKoodi = tilanneraportti.AvsovellusTyyppiKoodi,
+ RinnakkaistallennettuKytkin = tilanneraportti.RinnakkaistallennettuKytkin
+ };
+ }
}
[HttpGet("Latausraportit/virheet")]
@@ -91,30 +141,46 @@ public async IAsyncEnumerable Get([FromQuery] GetVirtaQueryPara
[MapToApiVersion(ApiVersion)]
[Produces(ApiConstants.ContentTypeJson)]
[Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
-
- public async IAsyncEnumerable GetVirheet([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
+ public async IAsyncEnumerable GetVirheet([FromQuery] GetVirtaQueryParameters virtaQueryParameters, [FromQuery] VirtaPaginationQueryParameters queryParameters)
{
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var virheraporttis = _virtaJtpDbContext.Virheraporttis
- .OrderBy(b => b.VirheraporttiId)
- .AsNoTracking();
+ ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
+ var virheraporttis = _virtaJtpDbContext.Virheraporttis
+ .OrderBy(b => b.VirheraporttiId)
+ .AsNoTracking();
if (virtaQueryParameters.organisaatiotunnus != null)
- {
+ {
virheraporttis = virheraporttis.Where(b =>
- // b.DuplikaattiId > (queryParameters.PageNumber - 1)*queryParameters.PageSize &&
- b.OrganisaatioTunnus == virtaQueryParameters.organisaatiotunnus);
- }
- virheraporttis = virheraporttis.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
-
- await foreach (var virheraportti in virheraporttis.AsAsyncEnumerable())
+ b.OrganisaatioTunnus == virtaQueryParameters.organisaatiotunnus);
+ }
+ virheraporttis = virheraporttis
+ .Skip((queryParameters.PageNumber - 1) * queryParameters.PageSize)
+ .Take(queryParameters.PageSize);
+
+ await foreach (var virheraportti in virheraporttis.AsAsyncEnumerable())
+ {
+ // Map from DB model to API model
+ yield return new VirheraporttiAPI
{
- yield return virheraportti;
- }
+ VirheraporttiId = virheraportti.VirheraporttiId,
+ OrganisaatioTunnus = virheraportti.OrganisaatioTunnus,
+ Nimi = virheraportti.Nimi,
+ Kuvaus = virheraportti.Kuvaus,
+ JulkaisunOrgTunnus = virheraportti.JulkaisunOrgTunnus,
+ JulkaisunNimi = virheraportti.JulkaisunNimi,
+ Julkaisutyyppikoodi = virheraportti.Julkaisutyyppikoodi,
+ Tila = virheraportti.Tila,
+ TarkistusId = virheraportti.TarkistusId,
+ Koodi = virheraportti.Koodi,
+ Virheviesti = virheraportti.Virheviesti,
+ Luontipaivamaara = virheraportti.Luontipaivamaara,
+ IlmoitusVuosi = virheraportti.IlmoitusVuosi,
+ JulkaisuVuosi = virheraportti.JulkaisuVuosi
+ };
+ }
}
[HttpGet("Yhteisjulkaisut/ristiriitaiset")]
@@ -122,21 +188,42 @@ public async IAsyncEnumerable GetVirheet([FromQuery] GetVirtaQuer
[MapToApiVersion(ApiVersion)]
[Produces(ApiConstants.ContentTypeJson)]
[Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
[ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
- public async IAsyncEnumerable Get([FromQuery] VirtaPaginationQueryParameters queryParameters)
+ public async IAsyncEnumerable Get([FromQuery] VirtaPaginationQueryParameters queryParameters)
{
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var YhteisjulkaisutRistiriitaisets = _virtaJtpDbContext.YhteisjulkaisutRistiriitaisets
- .OrderBy(b => b.RrId)
- .AsNoTracking();
-
- YhteisjulkaisutRistiriitaisets = YhteisjulkaisutRistiriitaisets.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
- await foreach (var YhteisjulkaisutRistiriitaiset in YhteisjulkaisutRistiriitaisets.AsAsyncEnumerable())
+ ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
+ var YhteisjulkaisutRistiriitaisets = _virtaJtpDbContext.YhteisjulkaisutRistiriitaisets
+ .OrderBy(b => b.RrId)
+ .AsNoTracking();
+
+ YhteisjulkaisutRistiriitaisets = YhteisjulkaisutRistiriitaisets
+ .Skip((queryParameters.PageNumber - 1) * queryParameters.PageSize)
+ .Take(queryParameters.PageSize);
+
+ await foreach (var YhteisjulkaisutRistiriitaiset in YhteisjulkaisutRistiriitaisets.AsAsyncEnumerable())
+ {
+ // Map from DB model to API model
+ // Database property "Julkaisutyyppi" is mapped to API property "RistiriitainenTieto"
+ yield return new YhteisjulkaisutRistiriitaisetApi
{
- yield return YhteisjulkaisutRistiriitaiset;
- }
+ RrId = YhteisjulkaisutRistiriitaiset.RrId,
+ YhteisjulkaisunTunnus = YhteisjulkaisutRistiriitaiset.YhteisjulkaisunTunnus,
+ JulkaisunTunnus = YhteisjulkaisutRistiriitaiset.JulkaisunTunnus,
+ Organisaationimi = YhteisjulkaisutRistiriitaiset.Organisaationimi,
+ OrganisaatioTunnus = YhteisjulkaisutRistiriitaiset.OrganisaatioTunnus,
+ JulkaisuVuosi = YhteisjulkaisutRistiriitaiset.JulkaisuVuosi,
+ IlmoitusVuosi = YhteisjulkaisutRistiriitaiset.IlmoitusVuosi,
+ JulkaisunNimi = YhteisjulkaisutRistiriitaiset.JulkaisunNimi,
+ RistiriitainenTieto = YhteisjulkaisutRistiriitaiset.Julkaisutyyppi, // Map from "Julkaisutyyppi" in the DB to "RistiriitainenTieto"
+ JulkaisunOrgTunnus = YhteisjulkaisutRistiriitaiset.JulkaisunOrgTunnus,
+ LiittyvaJulkaisunOrgTunnus = YhteisjulkaisutRistiriitaiset.LiittyvaJulkaisunOrgTunnus,
+ Luontipaivamaara = YhteisjulkaisutRistiriitaiset.Luontipaivamaara,
+ Koodi = YhteisjulkaisutRistiriitaiset.Koodi,
+ Kuvaus = YhteisjulkaisutRistiriitaiset.Kuvaus,
+ Tila = YhteisjulkaisutRistiriitaiset.Tila
+ };
+ }
}
}
diff --git a/aspnetcore/src/Interface/Controllers/YhteisjulkaisutRistiriitaisetController.cs b/aspnetcore/src/Interface/Controllers/YhteisjulkaisutRistiriitaisetController.cs
deleted file mode 100644
index e665344a..00000000
--- a/aspnetcore/src/Interface/Controllers/YhteisjulkaisutRistiriitaisetController.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using CSC.PublicApi.Interface;
-using Microsoft.AspNetCore.Mvc;
-using CSC.PublicApi.Interface.Models;
-using CSC.PublicApi.Interface.Services;
-using Microsoft.AspNetCore.Authorization;
-using ResearchFi.Query;
-//using Organization = ResearchFi.Organization.Organization;
-using Serilog;
-using Microsoft.EntityFrameworkCore;
-using System.Collections;
-
-namespace CSC.PublicApi.Interface.Controllers;
-
-[ApiController]
-[Route("[controller]")]
-public class YhteisjulkaisutRistiriitaisetController : ControllerBase
-{
- private const string ApiVersion = "1.0";
- private readonly VirtaJtpDbContext _virtaJtpDbContext;
- private readonly ILogger _logger;
-
- public YhteisjulkaisutRistiriitaisetController(ILogger logger,VirtaJtpDbContext virtaJtpDbContext)
- {
- _logger = logger;
- _virtaJtpDbContext = virtaJtpDbContext;
- }
-
- [HttpGet(Name = "GetYhteisjulkaisutRistiriitaiset")]
- [Authorize(Policy = ApiPolicies.Publication.Read)]
- [MapToApiVersion(ApiVersion)]
- [Produces(ApiConstants.ContentTypeJson)]
- [Consumes(ApiConstants.ContentTypeJson)]
- [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
- [ProducesResponseType(typeof(void), StatusCodes.Status401Unauthorized)]
- [ProducesResponseType(typeof(void), StatusCodes.Status403Forbidden)]
- [ApiExplorerSettings(IgnoreApi = true)]
- public async IAsyncEnumerable Get([FromQuery] VirtaPaginationQueryParameters queryParameters)
- {
- ResponseHelper.AddVirtaPaginationResponseHeaders(HttpContext, queryParameters.PageNumber, queryParameters.PageSize);
- var YhteisjulkaisutRistiriitaisets = _virtaJtpDbContext.YhteisjulkaisutRistiriitaisets
- .OrderBy(b => b.RrId)
- .AsNoTracking();
-
- YhteisjulkaisutRistiriitaisets = YhteisjulkaisutRistiriitaisets.Skip((queryParameters.PageNumber - 1)*queryParameters.PageSize).Take(queryParameters.PageSize);
-
- await foreach (var YhteisjulkaisutRistiriitaiset in YhteisjulkaisutRistiriitaisets.AsAsyncEnumerable())
- {
- yield return YhteisjulkaisutRistiriitaiset;
- }
- }
-}
diff --git a/aspnetcore/src/Interface/Models/Duplikaatit.cs b/aspnetcore/src/Interface/Models/VirtaJtp/Entities/Duplikaatit.cs
similarity index 100%
rename from aspnetcore/src/Interface/Models/Duplikaatit.cs
rename to aspnetcore/src/Interface/Models/VirtaJtp/Entities/Duplikaatit.cs
diff --git a/aspnetcore/src/Interface/Models/TableTest.cs b/aspnetcore/src/Interface/Models/VirtaJtp/Entities/TableTest.cs
similarity index 100%
rename from aspnetcore/src/Interface/Models/TableTest.cs
rename to aspnetcore/src/Interface/Models/VirtaJtp/Entities/TableTest.cs
diff --git a/aspnetcore/src/Interface/Models/Testief.cs b/aspnetcore/src/Interface/Models/VirtaJtp/Entities/Testief.cs
similarity index 100%
rename from aspnetcore/src/Interface/Models/Testief.cs
rename to aspnetcore/src/Interface/Models/VirtaJtp/Entities/Testief.cs
diff --git a/aspnetcore/src/Interface/Models/Tilanneraportti.cs b/aspnetcore/src/Interface/Models/VirtaJtp/Entities/Tilanneraportti.cs
similarity index 100%
rename from aspnetcore/src/Interface/Models/Tilanneraportti.cs
rename to aspnetcore/src/Interface/Models/VirtaJtp/Entities/Tilanneraportti.cs
diff --git a/aspnetcore/src/Interface/Models/Virheraportti.cs b/aspnetcore/src/Interface/Models/VirtaJtp/Entities/Virheraportti.cs
similarity index 100%
rename from aspnetcore/src/Interface/Models/Virheraportti.cs
rename to aspnetcore/src/Interface/Models/VirtaJtp/Entities/Virheraportti.cs
diff --git a/aspnetcore/src/Interface/Models/YhteisjulkaisutRistiriitaiset.cs b/aspnetcore/src/Interface/Models/VirtaJtp/Entities/YhteisjulkaisutRistiriitaiset.cs
similarity index 100%
rename from aspnetcore/src/Interface/Models/YhteisjulkaisutRistiriitaiset.cs
rename to aspnetcore/src/Interface/Models/VirtaJtp/Entities/YhteisjulkaisutRistiriitaiset.cs