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