Skip to content

Commit

Permalink
fix: listaa vuorovaikutustilaisuuden projektiyhteyshenkilöt oikein ka…
Browse files Browse the repository at this point in the history
…nsalaispuolella (#254)
  • Loading branch information
haapamakim authored Jun 8, 2022
1 parent 1635bf8 commit 228d115
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 11 deletions.
12 changes: 9 additions & 3 deletions backend/integrationtest/api/__snapshots__/api.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -1103,6 +1103,7 @@ Object {
"nimi": "Lorem ipsum 1",
"paattymisAika": "16:00",
"paivamaara": "2022-03-04",
"projektiYhteysHenkilot": undefined,
"tyyppi": "VERKOSSA",
},
Object {
Expand All @@ -1117,6 +1118,7 @@ Object {
"paivamaara": "2022-04-05",
"postinumero": "00100",
"postitoimipaikka": "Helsinki",
"projektiYhteysHenkilot": undefined,
"tyyppi": "PAIKALLA",
},
Object {
Expand Down Expand Up @@ -1146,7 +1148,7 @@ Object {
"paattymisAika": "11:00",
"paivamaara": "2022-04-05",
"projektiYhteysHenkilot": Array [
"A000112",
"0",
],
"tyyppi": "SOITTOAIKA",
},
Expand Down Expand Up @@ -1176,6 +1178,7 @@ Object {
"nimi": "Toisen soittoaikatilaisuuden nimi tässä",
"paattymisAika": "13:00",
"paivamaara": "2033-04-05",
"projektiYhteysHenkilot": undefined,
"tyyppi": "SOITTOAIKA",
},
],
Expand Down Expand Up @@ -1235,6 +1238,7 @@ Object {
"nimi": "Lorem ipsum 2",
"paattymisAika": "16:00",
"paivamaara": "2022-03-04",
"projektiYhteysHenkilot": undefined,
"tyyppi": "VERKOSSA",
},
Object {
Expand All @@ -1249,6 +1253,7 @@ Object {
"paivamaara": "2022-04-05",
"postinumero": "00100",
"postitoimipaikka": "Helsinki",
"projektiYhteysHenkilot": undefined,
"tyyppi": "PAIKALLA",
},
Object {
Expand Down Expand Up @@ -1278,8 +1283,8 @@ Object {
"paattymisAika": "11:00",
"paivamaara": "2022-04-05",
"projektiYhteysHenkilot": Array [
"A000112",
"A000111",
"0",
"1",
],
"tyyppi": "SOITTOAIKA",
},
Expand Down Expand Up @@ -1309,6 +1314,7 @@ Object {
"nimi": "Toisen soittoaikatilaisuuden nimi tässä",
"paattymisAika": "13:00",
"paivamaara": "2033-04-05",
"projektiYhteysHenkilot": undefined,
"tyyppi": "SOITTOAIKA",
},
],
Expand Down
2 changes: 1 addition & 1 deletion backend/src/aineisto/aineistoService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ class AineistoService {
}

const aineistotToDelete = projektiAdaptationResult.aineistoChanges.aineistotToDelete;
if (aineistotToDelete.length > 0) {
if (aineistotToDelete && aineistotToDelete.length > 0) {
// Delete files from public
hasChanges = true;
for (const fileNameToDelete of aineistotToDelete) {
Expand Down
2 changes: 1 addition & 1 deletion backend/src/handler/projektiAdapter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -449,7 +449,7 @@ function adaptVuorovaikutukset(vuorovaikutukset: Array<Vuorovaikutus>): API.Vuor
return vuorovaikutukset as undefined;
}

export function adaptVuorovaikutusTilaisuudet(
function adaptVuorovaikutusTilaisuudet(
vuorovaikutusTilaisuudet: Array<VuorovaikutusTilaisuus>
): API.VuorovaikutusTilaisuus[] {
if (vuorovaikutusTilaisuudet) {
Expand Down
35 changes: 29 additions & 6 deletions backend/src/handler/projektiAdapterJulkinen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@ import {
adaptKielitiedot,
adaptLinkki,
adaptLinkkiList,
adaptVuorovaikutusTilaisuudet,
adaptYhteystiedot,
} from "./projektiAdapter";
import { fileService } from "../files/fileService";
import { log } from "../logger";
import { parseDate } from "../util/dateUtil";
import { Vuorovaikutus } from "../database/model/suunnitteluVaihe";
import { Vuorovaikutus, VuorovaikutusTilaisuus } from "../database/model/suunnitteluVaihe";

class ProjektiAdapterJulkinen {
private applyStatus(projekti: API.ProjektiJulkinen) {
Expand Down Expand Up @@ -185,24 +184,30 @@ class ProjektiAdapterJulkinen {
}
}

function adaptUsernamesToProjektiHenkiloIds(usernames: Array<string>, projektiHenkilot: ProjektiHenkilot) {
return usernames?.map((username) => projektiHenkilot[username].id);
}

function adaptVuorovaikutukset(dbProjekti: DBProjekti, projektiHenkilot: ProjektiHenkilot): VuorovaikutusJulkinen[] {
const vuorovaikutukset = dbProjekti.vuorovaikutukset;
if (vuorovaikutukset && vuorovaikutukset.length > 0) {
return vuorovaikutukset
.map((vuorovaikutus) => {
const julkaisuPaiva = parseDate(vuorovaikutus.vuorovaikutusJulkaisuPaiva);
if (julkaisuPaiva.isBefore(dayjs())) {
const usernames = vuorovaikutus.vuorovaikutusYhteysHenkilot;
return {
...vuorovaikutus,
__typename: "VuorovaikutusJulkinen",
vuorovaikutusTilaisuudet: adaptVuorovaikutusTilaisuudet(vuorovaikutus.vuorovaikutusTilaisuudet),
vuorovaikutusTilaisuudet: adaptVuorovaikutusTilaisuudet(
vuorovaikutus.vuorovaikutusTilaisuudet,
projektiHenkilot
),
videot: adaptLinkkiList(vuorovaikutus.videot),
suunnittelumateriaali: adaptLinkki(vuorovaikutus.suunnittelumateriaali),
aineistot: adaptAineistot(vuorovaikutus.aineistot, julkaisuPaiva),
vuorovaikutusYhteystiedot: adaptAndMergeYhteystiedot(dbProjekti, vuorovaikutus),
vuorovaikutusYhteysHenkilot: vuorovaikutus.vuorovaikutusYhteysHenkilot?.map(
(username) => projektiHenkilot[username].id
),
vuorovaikutusYhteysHenkilot: adaptUsernamesToProjektiHenkiloIds(usernames, projektiHenkilot),
} as API.VuorovaikutusJulkinen;
}
return undefined;
Expand All @@ -212,6 +217,24 @@ function adaptVuorovaikutukset(dbProjekti: DBProjekti, projektiHenkilot: Projekt
return vuorovaikutukset as undefined;
}

function adaptVuorovaikutusTilaisuudet(
vuorovaikutusTilaisuudet: Array<VuorovaikutusTilaisuus>,
projektiHenkilot: ProjektiHenkilot
): VuorovaikutusTilaisuus[] {
if (vuorovaikutusTilaisuudet) {
return vuorovaikutusTilaisuudet.map((vuorovaikutusTilaisuus) => ({
...vuorovaikutusTilaisuus,
projektiYhteysHenkilot: adaptUsernamesToProjektiHenkiloIds(
vuorovaikutusTilaisuus.projektiYhteysHenkilot,
projektiHenkilot
),
esitettavatYhteystiedot: adaptYhteystiedot(vuorovaikutusTilaisuus.esitettavatYhteystiedot),
__typename: "VuorovaikutusTilaisuus",
}));
}
return vuorovaikutusTilaisuudet as undefined;
}

function findJulkaisuByStatus<T extends { tila?: API.AloitusKuulutusTila }>(
aloitusKuulutusJulkaisut: T[],
tila: API.AloitusKuulutusTila
Expand Down

0 comments on commit 228d115

Please sign in to comment.