diff --git a/Dockerfile b/Dockerfile index f0631df..6adb62d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,8 +7,7 @@ COPY package.json pnpm-lock.yaml run/entrypoint.sh ./ COPY prisma ./prisma # Setup pnpm, install Prisma CLI (for generating client) and install dependencies -RUN apk add dumb-init && \ - npm config set update-notifier false && \ +RUN npm config set update-notifier false && \ corepack enable && \ pnpm i --prod && \ pnpm audit fix && \ diff --git a/package.json b/package.json index 67220ca..722de0f 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,8 @@ "qs": "^6.12.1", "set-cookie-parser": "^2.6.0", "svelte-floating-ui": "^1.5.8", - "zod": "^3.23.8" + "zod": "^3.23.8", + "zod-form-data": "^2.0.2" }, "devDependencies": { "@faker-js/faker": "^8.4.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c90e8bb..8e977f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,6 +41,9 @@ dependencies: zod: specifier: ^3.23.8 version: 3.23.8 + zod-form-data: + specifier: ^2.0.2 + version: 2.0.2(zod@3.23.8) devDependencies: '@faker-js/faker': @@ -5958,6 +5961,14 @@ packages: dev: true optional: true + /zod-form-data@2.0.2(zod@3.23.8): + resolution: {integrity: sha512-sKTi+k0fvkxdakD0V5rq+9WVJA3cuTQUfEmNqvHrTzPLvjfLmkkBLfR0ed3qOi9MScJXTHIDH/jUNnEJ3CBX4g==} + peerDependencies: + zod: '>= 3.11.0' + dependencies: + zod: 3.23.8 + dev: false + /zod-to-json-schema@3.23.0(zod@3.23.8): resolution: {integrity: sha512-az0uJ243PxsRIa2x1WmNE/pnuA05gUq/JB8Lwe1EDCCL/Fz9MgjYQ0fPlyc2Tcv6aF2ZA7WM5TWaRZVEFaAIag==} requiresBuild: true diff --git a/prisma/migrations/20240518143538_unique_cat_room_station/migration.sql b/prisma/migrations/20240518143538_unique_cat_room_station/migration.sql deleted file mode 100644 index 7686fa8..0000000 --- a/prisma/migrations/20240518143538_unique_cat_room_station/migration.sql +++ /dev/null @@ -1,16 +0,0 @@ -/* - Warnings: - - - A unique constraint covering the columns `[name]` on the table `categories` will be added. If there are existing duplicate values, this will fail. - - A unique constraint covering the columns `[name]` on the table `rooms` will be added. If there are existing duplicate values, this will fail. - - A unique constraint covering the columns `[name]` on the table `stations` will be added. If there are existing duplicate values, this will fail. - -*/ --- CreateIndex -CREATE UNIQUE INDEX "categories_name_key" ON "categories"("name"); - --- CreateIndex -CREATE UNIQUE INDEX "rooms_name_key" ON "rooms"("name"); - --- CreateIndex -CREATE UNIQUE INDEX "stations_name_key" ON "stations"("name"); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index bfc2700..633705d 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -50,7 +50,7 @@ model User { // Hospital station model Station { id Int @id @default(autoincrement()) - name String @unique + name String Room Room[] hidden Boolean @default(false) @@ -60,7 +60,7 @@ model Station { // Hospital room model Room { id Int @id @default(autoincrement()) - name String @unique + name String station Station @relation(fields: [station_id], references: [id], onDelete: Restrict) station_id Int Patient Patient[] @@ -90,7 +90,7 @@ model Patient { // Entry category (e.g. Blood test, Exams, ...) model Category { id Int @id @default(autoincrement()) - name String @unique + name String color String? description String? EntryVersion EntryVersion[] diff --git a/run/entrypoint.sh b/run/entrypoint.sh index f7ebe95..c749cb0 100755 --- a/run/entrypoint.sh +++ b/run/entrypoint.sh @@ -1,4 +1,4 @@ -#!/usr/bin/dumb-init /bin/sh +#!/bin/sh set -e # Migrate database before starting server npx prisma migrate deploy diff --git a/src/lib/server/query/entry.ts b/src/lib/server/query/entry.ts index 1ac5157..3dcfe7f 100644 --- a/src/lib/server/query/entry.ts +++ b/src/lib/server/query/entry.ts @@ -287,25 +287,6 @@ left join stations s on s.id = r.station_id`, qb.addFilterClause(`ev.date <= ${qb.pvar()}`, dateRange.end); } }); - - const dfClauses: string[] = []; - const dfParams: Date[] = []; - filterListToArray(filter.date).forEach((itm) => { - const dateRange = DateRange.parse(itm, true); - const cl = []; - if (dateRange?.start) { - cl.push(`ev.date >= ${qb.pvar()}`); - dfParams.push(dateRange.start); - } - if (dateRange?.end) { - cl.push(`ev.date <= ${qb.pvar()}`); - dfParams.push(dateRange.end); - } - dfClauses.push(cl.join(" and ")); - }); - if (dfClauses.length > 0) { - qb.addFilterClause(dfClauses.join(" or "), ...dfParams); - } } const SORT_FIELDS: Record = {