Skip to content

Commit

Permalink
feat: hassu 1436 välitä kansalaispuolelle hyväksymispäätöksen kuulutu…
Browse files Browse the repository at this point in the history
…s ja näytä se (#613)

* Projekti julkinen adapter tarjoilee hyväksymispäätöksen pdf:t

* FE kansalaispuoli näyttää hyväksymispäätössivulla ladattavan kuulutuksen

* Päivitä snapshotit

* siivoa kälissä näytettävä TODO teksti

* lisää nähtävilläolovaiheeseen ladattava kuulutus ja aseta api palauttamaan julkiselle puolelle vain kuulutustiedostot

---------

Co-authored-by: Valhe Kouneli <valhe.kouneli@cgi.com>
Co-authored-by: tomi korkalainen <tomi.korkalainen@cgi.com>
  • Loading branch information
3 people authored Feb 21, 2023
1 parent eddb413 commit 0389b54
Show file tree
Hide file tree
Showing 12 changed files with 177 additions and 69 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -258,14 +258,6 @@ Object {
"description": "publicProjekti uudelleenkuulutuksen jälkeen",
"obj": Object {
"__typename": "AloitusKuulutusJulkaisuJulkinen",
"aloituskuulutusPDFt": Object {
"SUOMI": Object {
"__typename": "AloitusKuulutusPDF",
"aloituskuulutusIlmoitusPDFPath": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412_1 Ilmoitus aloituskuulutuksesta.pdf",
"aloituskuulutusPDFPath": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412 Aloituskuulutus.pdf",
},
"__typename": "AloitusKuulutusPDFt",
},
"hankkeenKuvaus": Object {
"RUOTSI": "På Svenska",
"SAAME": "Saameksi",
Expand All @@ -276,6 +268,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412 Aloituskuulutus.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2000-01-01",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down
32 changes: 16 additions & 16 deletions backend/integrationtest/api/__snapshots__/api.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,6 @@ Object {
"description": "Julkinen aloituskuulutus teksteineen",
"obj": Object {
"__typename": "AloitusKuulutusJulkaisuJulkinen",
"aloituskuulutusPDFt": Object {
"SUOMI": Object {
"__typename": "AloitusKuulutusPDF",
"aloituskuulutusIlmoitusPDFPath": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412_1 Ilmoitus aloituskuulutuksesta.pdf",
"aloituskuulutusPDFPath": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412 Aloituskuulutus.pdf",
},
"__typename": "AloitusKuulutusPDFt",
},
"hankkeenKuvaus": Object {
"RUOTSI": "På Svenska",
"SAAME": "Saameksi",
Expand All @@ -23,6 +15,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412 Aloituskuulutus.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-01-02",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down Expand Up @@ -1297,14 +1293,6 @@ Object {
"__typename": "ProjektiJulkinen",
"aloitusKuulutusJulkaisu": Object {
"__typename": "AloitusKuulutusJulkaisuJulkinen",
"aloituskuulutusPDFt": Object {
"SUOMI": Object {
"__typename": "AloitusKuulutusPDF",
"aloituskuulutusIlmoitusPDFPath": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412_1 Ilmoitus aloituskuulutuksesta.pdf",
"aloituskuulutusPDFPath": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412 Aloituskuulutus.pdf",
},
"__typename": "AloitusKuulutusPDFt",
},
"hankkeenKuvaus": Object {
"RUOTSI": "På Svenska",
"SAAME": "Saameksi",
Expand All @@ -1315,6 +1303,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/aloituskuulutus/T412 Aloituskuulutus.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-01-02",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down Expand Up @@ -2553,6 +2545,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/nahtavillaolo/T414 Kuulutus suunnitelman nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-07",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down Expand Up @@ -3295,6 +3291,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2978288874.2711575506/hyvaksymispaatos/T431 Kuulutus hyvaksymispaatoksen nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-09",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/jatkopaatos1/1/T431 Kuulutus hyvaksymispaatoksen nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-09",
"kuulutusVaihePaattyyPaiva": "2100-01-01",
"tila": "HYVAKSYTTY",
Expand Down Expand Up @@ -826,6 +830,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/jatkopaatos2/1/T431 Kuulutus hyvaksymispaatoksen nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-09",
"kuulutusVaihePaattyyPaiva": "2100-01-01",
"tila": "HYVAKSYTTY",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2789861876.697619507/hyvaksymispaatos/T431 Kuulutus hyvaksymispaatoksen nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-09",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down Expand Up @@ -466,6 +470,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2789861876.697619507/hyvaksymispaatos/T431 Kuulutus hyvaksymispaatoksen nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-09",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down Expand Up @@ -1063,6 +1071,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2574551391.2902330452/nahtavillaolo/T414 Kuulutus suunnitelman nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-07",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down Expand Up @@ -1190,6 +1202,10 @@ Object {
"__typename": "Kielitiedot",
"ensisijainenKieli": "SUOMI",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1.2.246.578.5.1.2574551391.2902330452/nahtavillaolo/T414 Kuulutus suunnitelman nahtavillaolo.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-06-07",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down
100 changes: 82 additions & 18 deletions backend/src/projekti/adapter/projektiAdapterJulkinen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
Hyvaksymispaatos,
HyvaksymisPaatosVaiheJulkaisu,
LocalizedMap,
NahtavillaoloVaiheJulkaisu,
UudelleenKuulutus,
Velho,
VuorovaikutusKierrosJulkaisu,
Expand Down Expand Up @@ -166,7 +167,7 @@ class ProjektiAdapterJulkinen {
velho: adaptVelho(velho),
suunnitteluSopimus: adaptSuunnitteluSopimusJulkaisuJulkinen(oid, suunnitteluSopimus),
kielitiedot: adaptKielitiedotByAddingTypename(kielitiedot),
aloituskuulutusPDFt: this.adaptJulkaisuPDFPaths(oid, julkaisu),
kuulutusPDF: this.adaptJulkaisuPDFPaths(oid, julkaisu),
tila,
uudelleenKuulutus: adaptUudelleenKuulutus(uudelleenKuulutus),
};
Expand All @@ -179,32 +180,31 @@ class ProjektiAdapterJulkinen {
return julkaisuJulkinen;
}

adaptJulkaisuPDFPaths(oid: string, aloitusKuulutus: AloitusKuulutusJulkaisu): API.AloitusKuulutusPDFt | undefined {
const aloitusKuulutusPDFS = aloitusKuulutus.aloituskuulutusPDFt;
if (!aloitusKuulutusPDFS) {
adaptJulkaisuPDFPaths(oid: string, aloitusKuulutus: AloitusKuulutusJulkaisu): API.KuulutusPDFJulkinen | undefined {
if (!aloitusKuulutus.aloituskuulutusPDFt) {
return undefined;
}

if (!aloitusKuulutusPDFS[API.Kieli.SUOMI]) {
const { SUOMI: suomiPDFS, ...muunKielisetPDFS } = aloitusKuulutus.aloituskuulutusPDFt || {};

if (!suomiPDFS) {
throw new Error(`adaptJulkaisuPDFPaths: aloitusKuulutusPDFS.${API.Kieli.SUOMI} määrittelemättä`);
}

const result: Partial<API.AloitusKuulutusPDFt> = {};
for (const kieli in aloitusKuulutusPDFS) {
const pdfs = aloitusKuulutusPDFS[kieli as API.Kieli];
const aloituskuulutusPath = new ProjektiPaths(oid).aloituskuulutus(aloitusKuulutus);

const result: API.KuulutusPDFJulkinen = {
__typename: "KuulutusPDFJulkinen",
SUOMI: fileService.getPublicPathForProjektiFile(aloituskuulutusPath, suomiPDFS.aloituskuulutusPDFPath),
};
for (const k in muunKielisetPDFS) {
const kieli = k as API.Kieli.SAAME | API.Kieli.RUOTSI;
const pdfs = muunKielisetPDFS[kieli];
if (pdfs) {
const aloituskuulutusPath = new ProjektiPaths(oid).aloituskuulutus(aloitusKuulutus);
result[kieli as API.Kieli] = {
__typename: "AloitusKuulutusPDF",
aloituskuulutusPDFPath: fileService.getPublicPathForProjektiFile(aloituskuulutusPath, pdfs.aloituskuulutusPDFPath),
aloituskuulutusIlmoitusPDFPath: fileService.getPublicPathForProjektiFile(
aloituskuulutusPath,
pdfs.aloituskuulutusIlmoitusPDFPath
),
};
result[kieli] = fileService.getPublicPathForProjektiFile(aloituskuulutusPath, pdfs.aloituskuulutusPDFPath);
}
}
return { __typename: "AloitusKuulutusPDFt", [API.Kieli.SUOMI]: result[API.Kieli.SUOMI] as API.AloitusKuulutusPDF, ...result };
return result;
}

private static async adaptNahtavillaoloVaiheJulkaisu(
Expand Down Expand Up @@ -257,6 +257,7 @@ class ProjektiAdapterJulkinen {
hankkeenKuvaus: adaptLokalisoituTeksti(hankkeenKuvaus),
kuulutusPaiva,
kuulutusVaihePaattyyPaiva,
kuulutusPDF: adaptNahtavillaoloPDFPaths(dbProjekti.oid, julkaisu),
muistutusoikeusPaattyyPaiva,
yhteystiedot: adaptMandatoryYhteystiedotByAddingTypename(yhteystiedot),
velho: adaptVelho(velho),
Expand Down Expand Up @@ -400,6 +401,7 @@ class ProjektiAdapterJulkinen {
hallintoOikeus,
tila,
uudelleenKuulutus: adaptUudelleenKuulutus(uudelleenKuulutus),
kuulutusPDF: adaptHyvaksymispaatosPDFPaths(dbProjekti.oid, julkaisu),
};

if (kieli) {
Expand Down Expand Up @@ -533,6 +535,68 @@ function adaptVuorovaikutusPDFPaths(oid: string, vuorovaikutus: VuorovaikutusKie
return { __typename: "VuorovaikutusPDFt", [API.Kieli.SUOMI]: result[API.Kieli.SUOMI] as API.VuorovaikutusPDF, ...result };
}

function adaptHyvaksymispaatosPDFPaths(oid: string, hyvaksymispaatos: HyvaksymisPaatosVaiheJulkaisu): API.KuulutusPDFJulkinen | undefined {
if (!hyvaksymispaatos.hyvaksymisPaatosVaihePDFt) {
return undefined;
}
const { SUOMI: suomiPDFs, ...hyvaksymispdfs } = hyvaksymispaatos.hyvaksymisPaatosVaihePDFt || {};

if (!suomiPDFs) {
throw new Error(`adaptHyvaksymispaatosPDFPaths: hyvaksymispaatos.${API.Kieli.SUOMI} määrittelemättä`);
}

const result: API.KuulutusPDFJulkinen = {
__typename: "KuulutusPDFJulkinen",
SUOMI: fileService.getPublicPathForProjektiFile(
new ProjektiPaths(oid).hyvaksymisPaatosVaihe(hyvaksymispaatos),
suomiPDFs.hyvaksymisKuulutusPDFPath
),
};

for (const k in hyvaksymispdfs) {
const kieli = k as API.Kieli.RUOTSI | API.Kieli.SAAME;
const pdfs = hyvaksymispdfs[kieli];
if (pdfs) {
result[kieli] = fileService.getPublicPathForProjektiFile(
new ProjektiPaths(oid).hyvaksymisPaatosVaihe(hyvaksymispaatos),
pdfs.hyvaksymisKuulutusPDFPath
);
}
}
return result;
}

function adaptNahtavillaoloPDFPaths(oid: string, nahtavillaoloVaihe: NahtavillaoloVaiheJulkaisu): API.KuulutusPDFJulkinen | undefined {
if (!nahtavillaoloVaihe.nahtavillaoloPDFt) {
return undefined;
}
const { SUOMI: suomiPDFs, ...hyvaksymispdfs } = nahtavillaoloVaihe.nahtavillaoloPDFt || {};

if (!suomiPDFs) {
throw new Error(`adaptNahtavillaoloPDFPaths: nahtavillaoloVaihe.${API.Kieli.SUOMI} määrittelemättä`);
}

const result: API.KuulutusPDFJulkinen = {
__typename: "KuulutusPDFJulkinen",
SUOMI: fileService.getPublicPathForProjektiFile(
new ProjektiPaths(oid).nahtavillaoloVaihe(nahtavillaoloVaihe),
suomiPDFs.nahtavillaoloPDFPath
),
};

for (const k in hyvaksymispdfs) {
const kieli = k as API.Kieli.RUOTSI | API.Kieli.SAAME;
const pdfs = hyvaksymispdfs[kieli];
if (pdfs) {
result[kieli] = fileService.getPublicPathForProjektiFile(
new ProjektiPaths(oid).nahtavillaoloVaihe(nahtavillaoloVaihe),
pdfs.nahtavillaoloPDFPath
);
}
}
return result;
}

function removeUndefinedFields(object: API.ProjektiJulkinen): API.ProjektiJulkinen {
return { __typename: "ProjektiJulkinen", oid: object.oid, velho: object.velho, ...pickBy(object, (value) => value !== undefined) };
}
Expand Down
12 changes: 4 additions & 8 deletions backend/test/__snapshots__/apiHandler.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1027,14 +1027,6 @@ Object {
"__typename": "ProjektiJulkinen",
"aloitusKuulutusJulkaisu": Object {
"__typename": "AloitusKuulutusJulkaisuJulkinen",
"aloituskuulutusPDFt": Object {
"SUOMI": Object {
"__typename": "AloitusKuulutusPDF",
"aloituskuulutusIlmoitusPDFPath": "/tiedostot/suunnitelma/1/aloituskuulutus/T412_1 Ilmoitus aloituskuulutuksesta.pdf",
"aloituskuulutusPDFPath": "/tiedostot/suunnitelma/1/aloituskuulutus/T412 Aloituskuulutus.pdf",
},
"__typename": "AloitusKuulutusPDFt",
},
"hankkeenKuvaus": Object {
"RUOTSI": "På Svenska",
"SAAME": "Saameksi",
Expand All @@ -1047,6 +1039,10 @@ Object {
"projektinNimiVieraskielella": "Projektin nimi saameksi",
"toissijainenKieli": "SAAME",
},
"kuulutusPDF": Object {
"SUOMI": "/tiedostot/suunnitelma/1/aloituskuulutus/T412 Aloituskuulutus.pdf",
"__typename": "KuulutusPDFJulkinen",
},
"kuulutusPaiva": "2022-01-02",
"kuulutusTekstit": Object {
"__typename": "KuulutusTekstit",
Expand Down
12 changes: 9 additions & 3 deletions graphql/types.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ type NahtavillaoloVaiheJulkaisuJulkinen {
velho: VelhoJulkinen!
kielitiedot: Kielitiedot
yhteystiedot: [Yhteystieto!]!
nahtavillaoloPDFt: NahtavillaoloPDFt
kuulutusPDF: KuulutusPDFJulkinen
tila: KuulutusJulkaisuTila
uudelleenKuulutus: UudelleenKuulutus
kuulutusTekstit: KuulutusTekstit
Expand All @@ -344,7 +344,7 @@ type HyvaksymisPaatosVaiheJulkaisuJulkinen {
kielitiedot: Kielitiedot
hallintoOikeus: HallintoOikeus
yhteystiedot: [Yhteystieto!]
hyvaksymisPaatosVaihePDFt: HyvaksymisPaatosVaihePDFt
kuulutusPDF: KuulutusPDFJulkinen
tila: KuulutusJulkaisuTila
viimeinenVoimassaolovuosi: String
uudelleenKuulutus: UudelleenKuulutus
Expand Down Expand Up @@ -654,6 +654,12 @@ type AloitusKuulutusPDFt {
SAAME: AloitusKuulutusPDF
}

type KuulutusPDFJulkinen {
SUOMI: String!
RUOTSI: String
SAAME: String
}

type AloitusKuulutus {
kuulutusPaiva: String
siirtyySuunnitteluVaiheeseen: String
Expand Down Expand Up @@ -694,7 +700,7 @@ type AloitusKuulutusJulkaisuJulkinen {
velho: VelhoJulkinen!
suunnitteluSopimus: SuunnitteluSopimusJulkaisu
kielitiedot: Kielitiedot
aloituskuulutusPDFt: AloitusKuulutusPDFt
kuulutusPDF: KuulutusPDFJulkinen
tila: KuulutusJulkaisuTila
uudelleenKuulutus: UudelleenKuulutus
kuulutusTekstit: KuulutusTekstit
Expand Down
Loading

0 comments on commit 0389b54

Please sign in to comment.