From 8232da3788e6d4b4f9314b42f8143e22544c235c Mon Sep 17 00:00:00 2001 From: Jozef Jankaj Date: Sat, 20 May 2023 21:05:22 +0200 Subject: [PATCH 1/3] Add initial demo data --- api/__tests__/mock/address.ts | 31 ++++++++- api/__tests__/mock/building.ts | 45 ++++++++++++- api/__tests__/mock/file.ts | 36 ++++++++++- api/__tests__/mock/manuals/manual_de_brug.pdf | Bin 0 -> 18296 bytes api/__tests__/mock/manuals/manual_dunant.pdf | Bin 0 -> 17590 bytes api/__tests__/mock/manuals/manual_sterre.pdf | Bin 0 -> 17872 bytes api/__tests__/mock/user.ts | 61 ++++++++++++++++-- 7 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 api/__tests__/mock/manuals/manual_de_brug.pdf create mode 100644 api/__tests__/mock/manuals/manual_dunant.pdf create mode 100644 api/__tests__/mock/manuals/manual_sterre.pdf diff --git a/api/__tests__/mock/address.ts b/api/__tests__/mock/address.ts index 71cc0d865..3936efd3f 100644 --- a/api/__tests__/mock/address.ts +++ b/api/__tests__/mock/address.ts @@ -1,6 +1,7 @@ import { prisma } from "./prisma"; export async function initialiseAddress() { + // addresses for tests const address1 = { street: "Wallaby Way", number: 42, @@ -37,7 +38,35 @@ export async function initialiseAddress() { longitude: 3.71847, }; + // addresses for demo + const deBrug = { + street: "Sint-Pietersnieuwstraat", + number: 45, + city: "Ghent", + zip_code: 9000, + latitude: 51.0457, + longitude: 3.72697, + }; + + const dunant = { + street: "Henri Dunantlaan", + number: 2, + city: "Ghent", + zip_code: 9000, + latitude: 50.75342, + longitude: 5.09142, + }; + + const sterre = { + street: "Krijgslaan 281", + number: 281, + city: "Ghent", + zip_code: 9000, + latitude: 51.02776, + longitude: 3.71847, + }; + await prisma.address.createMany({ - data: [address1, address2, address3, address4], + data: [address1, address2, address3, address4, deBrug, dunant, sterre], }); } diff --git a/api/__tests__/mock/building.ts b/api/__tests__/mock/building.ts index e5e66b148..c08c5c4b0 100644 --- a/api/__tests__/mock/building.ts +++ b/api/__tests__/mock/building.ts @@ -1,6 +1,12 @@ import crypto from "crypto"; import { prisma } from "./prisma"; -import { image, manual } from "./file"; +import { + image, + manual, + manualDeBrug, + manualDunant, + manualSterre, +} from "./file"; export async function initialiseBuilding() { const passwordB1 = crypto @@ -56,8 +62,43 @@ export async function initialiseBuilding() { hash: passwordB3, }; + // buildings for demo + const deBrug = { + name: "Resto De Brug", + ivago_id: "ivago-de-brug", + description: "Resto De Brug van Universiteit Gent", + expected_time: 100, + address_id: 5, + manual_id: manualDeBrug.id, + syndicus_id: 3, + hash: "visitor-de-brug", + deleted: false, + }; + + const dunant = { + name: "Resto Dunant", + ivago_id: "ivago-dunant", + description: "Resto Dunant van Universiteit Gent", + expected_time: 200, + address_id: 6, + manual_id: manualDunant.id, + syndicus_id: 3, + hash: "visitor-dunant", + }; + + const sterre = { + name: "Resto Sterre", + ivago_id: "ivago-sterre", + description: "Resto Sterre van Universiteit Gent", + expected_time: 300, + address_id: 7, + manual_id: manualSterre.id, + syndicus_id: 3, + hash: "visitor-sterre", + }; + await prisma.building.createMany({ - data: [building1, building2, building3], + data: [building1, building2, building3, deBrug, dunant, sterre], }); } diff --git a/api/__tests__/mock/file.ts b/api/__tests__/mock/file.ts index 10e2f50de..a9f2bcfd1 100644 --- a/api/__tests__/mock/file.ts +++ b/api/__tests__/mock/file.ts @@ -23,8 +23,42 @@ export const image = { updatedAt: new Date("1970-01-01T00:00:00Z"), } satisfies File; +// manuals for demo +export const manualDeBrug = { + id: 2, + user_id: 7, + original_name: "manual_de_brug.pdf", + size_in_bytes: 18296, + mime: "application/pdf", + path: "manuals/manual_de_brug.pdf", + createdAt: new Date("2023-05-20T18:57:05Z"), + updatedAt: new Date("2023-05-20T18:57:05Z"), +} satisfies File; + +export const manualDunant = { + id: 3, + user_id: 7, + original_name: "manual_dunant.pdf", + size_in_bytes: 17590, + mime: "application/pdf", + path: "manuals/manual_dunant.pdf", + createdAt: new Date("2023-05-20T18:57:05Z"), + updatedAt: new Date("2023-05-20T18:57:05Z"), +} satisfies File; + +export const manualSterre = { + id: 4, + user_id: 7, + original_name: "manual_sterre.pdf", + size_in_bytes: 17872, + mime: "application/pdf", + path: "manuals/manual_sterre.pdf", + createdAt: new Date("2023-05-20T18:57:05Z"), + updatedAt: new Date("2023-05-20T18:57:05Z"), +} satisfies File; + export async function initialiseFiles() { await prisma.file.createMany({ - data: [manual, image], + data: [manual, image, manualDeBrug, manualDunant, manualSterre], }); } diff --git a/api/__tests__/mock/manuals/manual_de_brug.pdf b/api/__tests__/mock/manuals/manual_de_brug.pdf new file mode 100644 index 0000000000000000000000000000000000000000..940f50090a3c8f2aad9ce11d79bd96f4a2c9a341 GIT binary patch literal 18296 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 MZRzP*xr=ST0SDU}iU0rr literal 0 HcmV?d00001 diff --git a/api/__tests__/mock/manuals/manual_dunant.pdf b/api/__tests__/mock/manuals/manual_dunant.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2979205d9ae0ae1346c08a12bab38463b84abf51 GIT binary patch literal 17590 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 bLZImsj}V^{1+N@aF8U$#&Nf{)uS@d)#$ncr literal 0 HcmV?d00001 diff --git a/api/__tests__/mock/manuals/manual_sterre.pdf b/api/__tests__/mock/manuals/manual_sterre.pdf new file mode 100644 index 0000000000000000000000000000000000000000..72c71d3d6035cdae16c00e7aae5759586d650ae3 GIT binary patch literal 17872 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 literal 0 HcmV?d00001 diff --git a/api/__tests__/mock/user.ts b/api/__tests__/mock/user.ts index 6fdb03785..08c4172c4 100644 --- a/api/__tests__/mock/user.ts +++ b/api/__tests__/mock/user.ts @@ -126,15 +126,15 @@ export async function initialiseUser() { const student_salt2 = crypto.randomBytes(32).toString("hex"); const student_hash2 = crypto .createHash("sha256") - .update("student" + student_salt) + .update("student" + student_salt2) .digest("hex"); - // create second student + // create second student await prisma.user.create({ data: { email: "student2@trottoir.be", - first_name: "Dirk", - last_name: "De Student", + first_name: "Denise", + last_name: "De Studente", date_added: timestamp, last_login: timestamp, phone: "0123456789", @@ -150,6 +150,52 @@ export async function initialiseUser() { }, }, }); + + // omni user + const omniSalt = crypto.randomBytes(32).toString("hex"); + const omniHash = crypto + .createHash("sha256") + .update("omni" + omniSalt) + .digest("hex"); + await prisma.user.create({ + data: { + email: "omni@trottoir.be", + first_name: "Omni", + last_name: "User", + date_added: timestamp, + last_login: timestamp, + phone: "0123456789", + student: true, + super_student: true, + admin: true, + salt: omniSalt, + hash: omniHash, + address_id: 1, + }, + }); + + // UGent as example syndicus + const ugentSalt = crypto.randomBytes(32).toString("hex"); + const ugentHash = crypto + .createHash("sha256") + .update("ugent" + ugentSalt) + .digest("hex"); + await prisma.user.create({ + data: { + email: "ugent@trottoir.be", + first_name: "De Universiteit", + last_name: "Gent", + date_added: timestamp, + last_login: timestamp, + phone: "0123456789", + student: false, + super_student: false, + admin: false, + salt: ugentSalt, + hash: ugentHash, + address_id: 2, + }, + }); } export async function initialiseUserRegion() { @@ -177,7 +223,12 @@ export async function initialiseSyndicus() { user_id: 1, }; + // UGent syndicus for demo + const ugent = { + user_id: 7, + }; + await prisma.syndicus.createMany({ - data: [syndicus1, syndicus2], + data: [syndicus1, syndicus2, ugent], }); } From d85fa2400b841e81ca95137eef73346e4b9e1e09 Mon Sep 17 00:00:00 2001 From: Jozef Jankaj Date: Sat, 20 May 2023 21:20:26 +0200 Subject: [PATCH 2/3] Repair id conflicts --- api/__tests__/mock/file.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/__tests__/mock/file.ts b/api/__tests__/mock/file.ts index a9f2bcfd1..cead9999f 100644 --- a/api/__tests__/mock/file.ts +++ b/api/__tests__/mock/file.ts @@ -25,7 +25,7 @@ export const image = { // manuals for demo export const manualDeBrug = { - id: 2, + id: 3, user_id: 7, original_name: "manual_de_brug.pdf", size_in_bytes: 18296, @@ -36,7 +36,7 @@ export const manualDeBrug = { } satisfies File; export const manualDunant = { - id: 3, + id: 4, user_id: 7, original_name: "manual_dunant.pdf", size_in_bytes: 17590, @@ -47,7 +47,7 @@ export const manualDunant = { } satisfies File; export const manualSterre = { - id: 4, + id: 5, user_id: 7, original_name: "manual_sterre.pdf", size_in_bytes: 17872, From c6ac80be28dad85fe6231d53f0bc91860f37faf7 Mon Sep 17 00:00:00 2001 From: Jozef Jankaj Date: Mon, 22 May 2023 12:24:05 +0200 Subject: [PATCH 3/3] add preliminary data --- api/__tests__/mock/building.ts | 6 +++--- api/__tests__/mock/file.ts | 9 +++------ api/fileserver/manuals/manual_de_brug.pdf | Bin 0 -> 18296 bytes api/fileserver/manuals/manual_dunant.pdf | Bin 0 -> 17590 bytes api/fileserver/manuals/manual_sterre.pdf | Bin 0 -> 17872 bytes api/src/routes/file.ts | 8 +++++++- web/src/views/building/BuildingScreen.vue | 1 + 7 files changed, 14 insertions(+), 10 deletions(-) create mode 100644 api/fileserver/manuals/manual_de_brug.pdf create mode 100644 api/fileserver/manuals/manual_dunant.pdf create mode 100644 api/fileserver/manuals/manual_sterre.pdf diff --git a/api/__tests__/mock/building.ts b/api/__tests__/mock/building.ts index 14bfe39ec..6dea5cbb8 100644 --- a/api/__tests__/mock/building.ts +++ b/api/__tests__/mock/building.ts @@ -55,7 +55,7 @@ export async function initialiseBuilding() { description: "Resto De Brug van Universiteit Gent", expected_time: 100, address_id: 5, - manual_id: manualDeBrug.id, + manual_id: 3, syndicus_id: 3, hash: "visitor-de-brug", deleted: false, @@ -67,7 +67,7 @@ export async function initialiseBuilding() { description: "Resto Dunant van Universiteit Gent", expected_time: 200, address_id: 6, - manual_id: manualDunant.id, + manual_id: 4, syndicus_id: 3, hash: "visitor-dunant", }; @@ -78,7 +78,7 @@ export async function initialiseBuilding() { description: "Resto Sterre van Universiteit Gent", expected_time: 300, address_id: 7, - manual_id: manualSterre.id, + manual_id: 5, syndicus_id: 3, hash: "visitor-sterre", }; diff --git a/api/__tests__/mock/file.ts b/api/__tests__/mock/file.ts index b767f6155..1b1071583 100644 --- a/api/__tests__/mock/file.ts +++ b/api/__tests__/mock/file.ts @@ -37,7 +37,6 @@ export const image = { // manuals for demo export const manualDeBrug = { - id: 3, user_id: 7, original_name: "manual_de_brug.pdf", size_in_bytes: 18296, @@ -45,10 +44,9 @@ export const manualDeBrug = { path: "manuals/manual_de_brug.pdf", createdAt: new Date("2023-05-20T18:57:05Z"), updatedAt: new Date("2023-05-20T18:57:05Z"), -} satisfies File; +}; export const manualDunant = { - id: 4, user_id: 7, original_name: "manual_dunant.pdf", size_in_bytes: 17590, @@ -56,10 +54,9 @@ export const manualDunant = { path: "manuals/manual_dunant.pdf", createdAt: new Date("2023-05-20T18:57:05Z"), updatedAt: new Date("2023-05-20T18:57:05Z"), -} satisfies File; +}; export const manualSterre = { - id: 5, user_id: 7, original_name: "manual_sterre.pdf", size_in_bytes: 17872, @@ -67,7 +64,7 @@ export const manualSterre = { path: "manuals/manual_sterre.pdf", createdAt: new Date("2023-05-20T18:57:05Z"), updatedAt: new Date("2023-05-20T18:57:05Z"), -} satisfies File; +}; export async function initialiseFiles() { await prisma.file.createMany({ diff --git a/api/fileserver/manuals/manual_de_brug.pdf b/api/fileserver/manuals/manual_de_brug.pdf new file mode 100644 index 0000000000000000000000000000000000000000..940f50090a3c8f2aad9ce11d79bd96f4a2c9a341 GIT binary patch literal 18296 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 MZRzP*xr=ST0SDU}iU0rr literal 0 HcmV?d00001 diff --git a/api/fileserver/manuals/manual_dunant.pdf b/api/fileserver/manuals/manual_dunant.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2979205d9ae0ae1346c08a12bab38463b84abf51 GIT binary patch literal 17590 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 bLZImsj}V^{1+N@aF8U$#&Nf{)uS@d)#$ncr literal 0 HcmV?d00001 diff --git a/api/fileserver/manuals/manual_sterre.pdf b/api/fileserver/manuals/manual_sterre.pdf new file mode 100644 index 0000000000000000000000000000000000000000..72c71d3d6035cdae16c00e7aae5759586d650ae3 GIT binary patch literal 17872 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 literal 0 HcmV?d00001 diff --git a/api/src/routes/file.ts b/api/src/routes/file.ts index 87b86a71d..6bef8a48b 100644 --- a/api/src/routes/file.ts +++ b/api/src/routes/file.ts @@ -8,6 +8,7 @@ import { APIError } from "../errors/api_error"; import { APIErrorCode } from "../errors/api_error_code"; import fs from "fs"; import { File } from "@selab-2/groep-1-orm"; +import path from "path"; export class FileRouting extends Routing { private storage = multer.diskStorage({ @@ -49,8 +50,13 @@ export class FileRouting extends Routing { }, }); + console.log(process.env.FILE_STORAGE_DIRECTORY); + console.log(path.resolve()); + return res.sendFile( - `${process.env.FILE_STORAGE_DIRECTORY}/${result.path}`, + `${path.resolve()}/${process.env.FILE_STORAGE_DIRECTORY}/${ + result.path + }`, ); } diff --git a/web/src/views/building/BuildingScreen.vue b/web/src/views/building/BuildingScreen.vue index fbb89b78a..dc4738259 100644 --- a/web/src/views/building/BuildingScreen.vue +++ b/web/src/views/building/BuildingScreen.vue @@ -262,6 +262,7 @@ import RemovedCard from "@/components/cards/RemovedCard.vue"; import router from "@/router"; import { ImgProxy } from "@/imgproxy"; import BuildingAnalyticCard from "@/components/cards/BuildingAnalyticCard.vue"; +import * as process from "process"; const showRemovePopup = ref(false);