diff --git a/backend/integrationtest/aloitusKuulutus/__snapshots__/aloitusKuulutusHandler.test.ts.snap b/backend/integrationtest/aloitusKuulutus/__snapshots__/aloitusKuulutusHandler.test.ts.snap index ed5778fee..c4a5127a7 100644 --- a/backend/integrationtest/aloitusKuulutus/__snapshots__/aloitusKuulutusHandler.test.ts.snap +++ b/backend/integrationtest/aloitusKuulutus/__snapshots__/aloitusKuulutusHandler.test.ts.snap @@ -69,10 +69,15 @@ Object { }, "tila": "ODOTTAA_HYVAKSYNTAA", "velho": Object { + "asiatunnusVayla": "A1", "kunnat": Array [ "Tampere", "Nokia", ], + "maakunnat": Array [ + "Uusimaa", + "Pirkanmaa", + ], "nimi": "Testiprojekti 1", "suunnittelustaVastaavaViranomainen": "UUDENMAAN_ELY", "tilaajaOrganisaatio": "Uudenmaan ELY-keskus", @@ -166,10 +171,15 @@ Object { }, "tila": "ODOTTAA_HYVAKSYNTAA", "velho": Object { + "asiatunnusVayla": "A1", "kunnat": Array [ "Tampere", "Nokia", ], + "maakunnat": Array [ + "Uusimaa", + "Pirkanmaa", + ], "nimi": "Testiprojekti 1", "suunnittelustaVastaavaViranomainen": "UUDENMAAN_ELY", "tilaajaOrganisaatio": "Uudenmaan ELY-keskus", @@ -249,10 +259,15 @@ Object { }, "tila": "HYVAKSYTTY", "velho": Object { + "asiatunnusVayla": "A1", "kunnat": Array [ "Tampere", "Nokia", ], + "maakunnat": Array [ + "Uusimaa", + "Pirkanmaa", + ], "nimi": "Testiprojekti 1", "suunnittelustaVastaavaViranomainen": "UUDENMAAN_ELY", "tilaajaOrganisaatio": "Uudenmaan ELY-keskus", diff --git a/backend/integrationtest/api/__snapshots__/api.test.ts.snap b/backend/integrationtest/api/__snapshots__/api.test.ts.snap index 22f272fba..076f171e5 100644 --- a/backend/integrationtest/api/__snapshots__/api.test.ts.snap +++ b/backend/integrationtest/api/__snapshots__/api.test.ts.snap @@ -1108,7 +1108,9 @@ Object { "Vantaa", ], "kuvaus": undefined, - "maakunnat": undefined, + "maakunnat": Array [ + "Uusimaa", + ], "nimi": "HASSU AUTOMAATTITESTIPROJEKTI1", "suunnittelustaVastaavaViranomainen": "VAYLAVIRASTO", "tilaajaOrganisaatio": "Väylävirasto", @@ -2158,6 +2160,25 @@ Object { "muokkaaja": "A000112", "nahtavillaoloPDFt": undefined, "tila": "HYVAKSYTTY", + "velho": Object { + "__typename": "Velho", + "kunnat": Array [ + "Helsinki", + " Vantaa", + ], + "linkki": null, + "maakunnat": Array [ + "Uusimaa", + ], + "nimi": "HASSU AUTOMAATTITESTIPROJEKTI1", + "suunnittelustaVastaavaViranomainen": "VAYLAVIRASTO", + "tilaajaOrganisaatio": "Väylävirasto", + "tyyppi": "TIE", + "vastuuhenkilonEmail": "mikko.haapamki@cgi.com", + "vaylamuoto": Array [ + "tie", + ], + }, }, ], }, @@ -2201,6 +2222,27 @@ Object { }, ], "muistutusoikeusPaattyyPaiva": "2042-06-08", + "velho": Object { + "__typename": "VelhoJulkinen", + "asiatunnusELY": undefined, + "asiatunnusVayla": undefined, + "kunnat": Array [ + "Helsinki", + "Vantaa", + ], + "kuvaus": undefined, + "maakunnat": Array [ + "Uusimaa", + ], + "nimi": "HASSU AUTOMAATTITESTIPROJEKTI1", + "suunnittelustaVastaavaViranomainen": "VAYLAVIRASTO", + "tilaajaOrganisaatio": "Väylävirasto", + "toteuttavaOrganisaatio": undefined, + "tyyppi": "TIE", + "vaylamuoto": Array [ + "tie", + ], + }, }, ], } diff --git a/backend/src/database/model/nahtavillaoloVaihe.ts b/backend/src/database/model/nahtavillaoloVaihe.ts index e2dd97a00..6825afbf5 100644 --- a/backend/src/database/model/nahtavillaoloVaihe.ts +++ b/backend/src/database/model/nahtavillaoloVaihe.ts @@ -1,6 +1,6 @@ import { Aineisto, LocalizedMap, Yhteystieto } from "./common"; import { IlmoituksenVastaanottajat, NahtavillaoloVaiheTila } from "../../../../common/graphql/apiModel"; -import { Kielitiedot } from "./projekti"; +import { Kielitiedot, Velho } from "./projekti"; export type NahtavillaoloVaihe = { aineistoNahtavilla?: Array | null; @@ -24,6 +24,7 @@ export type NahtavillaoloVaiheJulkaisu = { kuulutusVaihePaattyyPaiva?: string | null; muistutusoikeusPaattyyPaiva?: string | null; hankkeenKuvaus?: LocalizedMap; + velho: Velho; kielitiedot: Kielitiedot; kuulutusYhteysHenkilot?: Array | null; kuulutusYhteystiedot?: Array | null; diff --git a/backend/src/handler/asiakirjaAdapter.ts b/backend/src/handler/asiakirjaAdapter.ts index 0ab7214c1..30d66ca03 100644 --- a/backend/src/handler/asiakirjaAdapter.ts +++ b/backend/src/handler/asiakirjaAdapter.ts @@ -1,6 +1,7 @@ import { AloitusKuulutusJulkaisu, DBProjekti, NahtavillaoloVaiheJulkaisu, Velho, Yhteystieto } from "../database/model"; import cloneDeep from "lodash/cloneDeep"; import { AloitusKuulutusTila, NahtavillaoloVaiheTila } from "../../../common/graphql/apiModel"; +import { deepClone } from "aws-cdk/lib/util"; function createNextID(dbProjekti: DBProjekti) { if (!dbProjekti.aloitusKuulutusJulkaisut) { @@ -30,8 +31,9 @@ export class AsiakirjaAdapter { const { palautusSyy: _palautusSyy, ...includedFields } = dbProjekti.nahtavillaoloVaihe; return { ...includedFields, - kielitiedot: cloneDeep(dbProjekti.kielitiedot), id: createNextID(dbProjekti), + velho: adaptVelho(dbProjekti), + kielitiedot: cloneDeep(dbProjekti.kielitiedot), }; } throw new Error("NahtavillaoloVaihe puuttuu"); @@ -99,16 +101,7 @@ function adaptYhteystiedot(dbProjekti: DBProjekti, esitettavatYhteystiedot: Yhte } function adaptVelho(dbProjekti: DBProjekti): Velho { - const { nimi, tilaajaOrganisaatio, suunnittelustaVastaavaViranomainen, kunnat, tyyppi, vaylamuoto } = - dbProjekti.velho!; - return { - nimi, - tyyppi: tyyppi || dbProjekti.tyyppi, // remove deprectaed usage after all data has been updated in dev/test - tilaajaOrganisaatio, - suunnittelustaVastaavaViranomainen, - kunnat, - vaylamuoto, - }; + return deepClone(dbProjekti.velho); } export const asiakirjaAdapter = new AsiakirjaAdapter(); diff --git a/backend/src/handler/projektiAdapter.ts b/backend/src/handler/projektiAdapter.ts index f840d2dea..44c9e14ba 100644 --- a/backend/src/handler/projektiAdapter.ts +++ b/backend/src/handler/projektiAdapter.ts @@ -777,6 +777,7 @@ export function adaptNahtavillaoloVaiheJulkaisut( kuulutusYhteystiedot, nahtavillaoloPDFt, kielitiedot, + velho, ...fieldsToCopyAsIs } = julkaisu; @@ -790,6 +791,7 @@ export function adaptNahtavillaoloVaiheJulkaisut( aineistoNahtavilla: adaptAineistot(aineistoNahtavilla), lisaAineisto: adaptAineistot(lisaAineisto), nahtavillaoloPDFt: adaptNahtavillaoloPDFPaths(oid, nahtavillaoloPDFt), + velho: adaptVelho(velho), }; }); } diff --git a/backend/src/handler/projektiAdapterJulkinen.ts b/backend/src/handler/projektiAdapterJulkinen.ts index e8be17412..a8117382a 100644 --- a/backend/src/handler/projektiAdapterJulkinen.ts +++ b/backend/src/handler/projektiAdapterJulkinen.ts @@ -208,6 +208,7 @@ class ProjektiAdapterJulkinen { kuulutusYhteysHenkilot, kuulutusYhteystiedot, muistutusoikeusPaattyyPaiva, + velho, } = julkaisu; return { __typename: "NahtavillaoloVaiheJulkaisuJulkinen", @@ -217,6 +218,7 @@ class ProjektiAdapterJulkinen { muistutusoikeusPaattyyPaiva, kuulutusYhteysHenkilot: adaptUsernamesToProjektiHenkiloIds(kuulutusYhteysHenkilot, projektiHenkilot), kuulutusYhteystiedot: adaptYhteystiedot(kuulutusYhteystiedot), + velho: adaptVelho(velho), }; }); } diff --git a/backend/src/velho/velhoAdapter.ts b/backend/src/velho/velhoAdapter.ts index b3823e235..b6c91796f 100644 --- a/backend/src/velho/velhoAdapter.ts +++ b/backend/src/velho/velhoAdapter.ts @@ -167,6 +167,8 @@ export function adaptProjekti(data: ProjektiProjekti): { projekti: DBProjekti; v kunnat: getKunnat(data), maakunnat: getMaakunnat(data), vastuuhenkilonEmail: vastuuhenkiloEmail, + asiatunnusVayla: data.ominaisuudet["asiatunnus-vaylavirasto"], + asiatunnusELY: data.ominaisuudet["asiatunnus-ely"], }, kayttoOikeudet: [], }; diff --git a/backend/test/__snapshots__/apiHandler.test.ts.snap b/backend/test/__snapshots__/apiHandler.test.ts.snap index 6e276baa9..5a8764f3b 100644 --- a/backend/test/__snapshots__/apiHandler.test.ts.snap +++ b/backend/test/__snapshots__/apiHandler.test.ts.snap @@ -599,12 +599,8 @@ Object { "tila": "HYVAKSYTTY", "velho": Object { "__typename": "Velho", - "kunnat": undefined, "nimi": "Testiprojekti 1", - "suunnittelustaVastaavaViranomainen": undefined, - "tilaajaOrganisaatio": undefined, "tyyppi": "TIE", - "vaylamuoto": undefined, }, "yhteystiedot": Array [ Object { diff --git a/backend/test/asiakirja/__snapshots__/asiakirjaService.test.ts.snap b/backend/test/asiakirja/__snapshots__/asiakirjaService.test.ts.snap index e74866fda..adf168395 100644 --- a/backend/test/asiakirja/__snapshots__/asiakirjaService.test.ts.snap +++ b/backend/test/asiakirja/__snapshots__/asiakirjaService.test.ts.snap @@ -23,10 +23,15 @@ Object { "sukunimi": "Jossain", }, "velho": Object { + "asiatunnusVayla": "A1", "kunnat": Array [ "Tampere", "Nokia", ], + "maakunnat": Array [ + "Uusimaa", + "Pirkanmaa", + ], "nimi": "Testiprojekti 1", "suunnittelustaVastaavaViranomainen": "UUDENMAAN_ELY", "tilaajaOrganisaatio": "Uudenmaan ELY-keskus", @@ -166,10 +171,15 @@ Object { "sukunimi": "Jossain", }, "velho": Object { + "asiatunnusVayla": "A1", "kunnat": Array [ "Tampere", "Nokia", ], + "maakunnat": Array [ + "Uusimaa", + "Pirkanmaa", + ], "nimi": "Testiprojekti 1", "suunnittelustaVastaavaViranomainen": "UUDENMAAN_ELY", "tilaajaOrganisaatio": "Uudenmaan ELY-keskus", diff --git a/backend/test/email/emailHandler.test.ts b/backend/test/email/emailHandler.test.ts index f8d45e6db..51596f008 100644 --- a/backend/test/email/emailHandler.test.ts +++ b/backend/test/email/emailHandler.test.ts @@ -59,7 +59,7 @@ describe("emailHandler", () => { sinon.assert.calledOnce(sendEmailStub); sinon.assert.calledWith(sendEmailStub, { - subject: "Valtion liikenneväylien suunnittelu: Aloituskuulutus odottaa hyväksyntää ", + subject: "Valtion liikenneväylien suunnittelu: Aloituskuulutus odottaa hyväksyntää A2", text: "Valtion liikenneväylien suunnittelu -järjestelmän projektistasi\n" + "Testiprojekti 2 email lahetys\n" + diff --git a/backend/test/fixture/projektiFixture.ts b/backend/test/fixture/projektiFixture.ts index 85a51279a..1646daf85 100644 --- a/backend/test/fixture/projektiFixture.ts +++ b/backend/test/fixture/projektiFixture.ts @@ -256,6 +256,7 @@ export class ProjektiFixture { vaylamuoto: ["tie"], vastuuhenkilonEmail: ProjektiFixture.pekkaProjariProjektiKayttaja.email, maakunnat: ["Uusimaa", "Pirkanmaa"], + asiatunnusVayla: "A" + this.PROJEKTI2_OID, }, aloitusKuulutusJulkaisut: [ { diff --git a/backend/test/projektiSearch/__snapshots__/dynamoDBStreamHandler.test.ts.snap b/backend/test/projektiSearch/__snapshots__/dynamoDBStreamHandler.test.ts.snap index 5eaa99bcf..7a17b53da 100644 --- a/backend/test/projektiSearch/__snapshots__/dynamoDBStreamHandler.test.ts.snap +++ b/backend/test/projektiSearch/__snapshots__/dynamoDBStreamHandler.test.ts.snap @@ -2,7 +2,7 @@ exports[`dynamoDBStreamHandler should index new projektis successfully 1`] = ` Object { - "asiatunnus": undefined, + "asiatunnus": "A2", "maakunnat": Array [ "Uusimaa", "Pirkanmaa", @@ -71,7 +71,7 @@ Object { exports[`dynamoDBStreamHandler should index projekti updates successfully 1`] = ` Object { - "asiatunnus": undefined, + "asiatunnus": "A2", "maakunnat": Array [ "Uusimaa", "Pirkanmaa", diff --git a/backend/test/velho/__snapshots__/velhoAdapter.test.ts.snap b/backend/test/velho/__snapshots__/velhoAdapter.test.ts.snap index 6c934773a..b45c23c80 100644 --- a/backend/test/velho/__snapshots__/velhoAdapter.test.ts.snap +++ b/backend/test/velho/__snapshots__/velhoAdapter.test.ts.snap @@ -7,6 +7,8 @@ Object { "oid": "100", "tyyppi": "TIE", "velho": Object { + "asiatunnusELY": undefined, + "asiatunnusVayla": undefined, "kunnat": Array [ "Helsinki", "Vantaa", diff --git a/graphql/types.graphql b/graphql/types.graphql index 9ce3f4981..67b74b91f 100644 --- a/graphql/types.graphql +++ b/graphql/types.graphql @@ -197,6 +197,7 @@ type NahtavillaoloVaiheJulkaisu { kuulutusVaihePaattyyPaiva: String muistutusoikeusPaattyyPaiva: String hankkeenKuvaus: HankkeenKuvaukset + velho: Velho! kielitiedot: Kielitiedot kuulutusYhteysHenkilot: [String!] kuulutusYhteystiedot: [Yhteystieto!] @@ -214,6 +215,7 @@ type NahtavillaoloVaiheJulkaisuJulkinen { kuulutusVaihePaattyyPaiva: String muistutusoikeusPaattyyPaiva: String hankkeenKuvaus: HankkeenKuvaukset + velho: VelhoJulkinen! kielitiedot: Kielitiedot kuulutusYhteysHenkilot: [String!] kuulutusYhteystiedot: [Yhteystieto!]