Compare commits
4 commits
ad796dcb57
...
47f0a08ea3
Author | SHA1 | Date | |
---|---|---|---|
47f0a08ea3 | |||
2a4bda70c6 | |||
882ae66a6a | |||
98c62ac460 |
7 changed files with 42 additions and 18 deletions
|
@ -7,7 +7,8 @@ COPY package.json pnpm-lock.yaml run/entrypoint.sh ./
|
|||
COPY prisma ./prisma
|
||||
|
||||
# Setup pnpm, install Prisma CLI (for generating client) and install dependencies
|
||||
RUN npm config set update-notifier false && \
|
||||
RUN apk add dumb-init && \
|
||||
npm config set update-notifier false && \
|
||||
corepack enable && \
|
||||
pnpm i --prod && \
|
||||
pnpm audit fix && \
|
||||
|
|
|
@ -28,8 +28,7 @@
|
|||
"qs": "^6.12.1",
|
||||
"set-cookie-parser": "^2.6.0",
|
||||
"svelte-floating-ui": "^1.5.8",
|
||||
"zod": "^3.23.8",
|
||||
"zod-form-data": "^2.0.2"
|
||||
"zod": "^3.23.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@faker-js/faker": "^8.4.1",
|
||||
|
|
|
@ -41,9 +41,6 @@ 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':
|
||||
|
@ -5961,14 +5958,6 @@ 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
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
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");
|
|
@ -50,7 +50,7 @@ model User {
|
|||
// Hospital station
|
||||
model Station {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
name String @unique
|
||||
Room Room[]
|
||||
hidden Boolean @default(false)
|
||||
|
||||
|
@ -60,7 +60,7 @@ model Station {
|
|||
// Hospital room
|
||||
model Room {
|
||||
id Int @id @default(autoincrement())
|
||||
name String
|
||||
name String @unique
|
||||
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
|
||||
name String @unique
|
||||
color String?
|
||||
description String?
|
||||
EntryVersion EntryVersion[]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/sh
|
||||
#!/usr/bin/dumb-init /bin/sh
|
||||
set -e
|
||||
# Migrate database before starting server
|
||||
npx prisma migrate deploy
|
||||
|
|
|
@ -287,6 +287,25 @@ 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<string, string[]> = {
|
||||
|
|
Loading…
Reference in a new issue