This commit is contained in:
Moritz Utcke
2025-02-22 10:46:07 +11:00
parent 21e87339b9
commit d3ca67399c
9 changed files with 132 additions and 117 deletions

View File

@@ -47,6 +47,7 @@ restore-backup:
install-dependencies:
bun install
bunx prisma generate
all:
mkdir -p ~/logs

View File

@@ -15,11 +15,12 @@ generatorHandler({
const enums = options.dmmf.datamodel.enums;
const output = enums.map((e) => {
let enumString = `export enum ${e.name} {\n`;
let enumString = `export const ${e.name} = {\n`;
e.values.forEach(({ name: value }) => {
enumString += ` ${value} = "${value}",\n`;
enumString += ` ${value}: "${value}",\n`;
});
enumString += `};\n\n`;
enumString += `} as const;\n\n`;
enumString += `export type ${e.name} = (typeof ${e.name})[keyof typeof ${e.name}];\n`;
return enumString;
});

View File

@@ -5,33 +5,6 @@ export const createCaller = createCallerFactory({
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
"unterlage": await import("../src/pages/api/unterlage.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/forgot-password": await import("../src/pages/api/auth/forgot-password.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"),
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
"geg-nachweis-wohnen/[uid]": await import("../src/pages/api/geg-nachweis-wohnen/[uid].ts"),
"geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"),
"bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"),
"geg-nachweis-gewerbe/[uid]": await import("../src/pages/api/geg-nachweis-gewerbe/[uid].ts"),
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),
"objekt": await import("../src/pages/api/objekt/index.ts"),
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
"rechnung": await import("../src/pages/api/rechnung/index.ts"),
"user": await import("../src/pages/api/user/index.ts"),
"user/self": await import("../src/pages/api/user/self.ts"),
"ticket": await import("../src/pages/api/ticket/index.ts"),
"verbrauchsausweis-wohnen/[uid]": await import("../src/pages/api/verbrauchsausweis-wohnen/[uid].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
"verbrauchsausweis-gewerbe/[uid]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[uid].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
"aufnahme/[uid]/bilder": await import("../src/pages/api/aufnahme/[uid]/bilder.ts"),
"aufnahme/[uid]": await import("../src/pages/api/aufnahme/[uid]/index.ts"),
"aufnahme/[uid]/unterlagen": await import("../src/pages/api/aufnahme/[uid]/unterlagen.ts"),
"objekt/[uid]": await import("../src/pages/api/objekt/[uid]/index.ts"),
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
"admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"),
@@ -39,4 +12,31 @@ export const createCaller = createCallerFactory({
"admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"),
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/forgot-password": await import("../src/pages/api/auth/forgot-password.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"bedarfsausweis-wohnen/[uid]": await import("../src/pages/api/bedarfsausweis-wohnen/[uid].ts"),
"bedarfsausweis-wohnen": await import("../src/pages/api/bedarfsausweis-wohnen/index.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"bilder/[uid]": await import("../src/pages/api/bilder/[uid].ts"),
"geg-nachweis-gewerbe/[uid]": await import("../src/pages/api/geg-nachweis-gewerbe/[uid].ts"),
"geg-nachweis-gewerbe": await import("../src/pages/api/geg-nachweis-gewerbe/index.ts"),
"geg-nachweis-wohnen/[uid]": await import("../src/pages/api/geg-nachweis-wohnen/[uid].ts"),
"geg-nachweis-wohnen": await import("../src/pages/api/geg-nachweis-wohnen/index.ts"),
"objekt": await import("../src/pages/api/objekt/index.ts"),
"ticket": await import("../src/pages/api/ticket/index.ts"),
"rechnung/anfordern": await import("../src/pages/api/rechnung/anfordern.ts"),
"rechnung": await import("../src/pages/api/rechnung/index.ts"),
"user": await import("../src/pages/api/user/index.ts"),
"user/self": await import("../src/pages/api/user/self.ts"),
"verbrauchsausweis-gewerbe/[uid]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[uid].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"verbrauchsausweis-wohnen/[uid]": await import("../src/pages/api/verbrauchsausweis-wohnen/[uid].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
"aufnahme/[uid]/bilder": await import("../src/pages/api/aufnahme/[uid]/bilder.ts"),
"aufnahme/[uid]": await import("../src/pages/api/aufnahme/[uid]/index.ts"),
"aufnahme/[uid]/unterlagen": await import("../src/pages/api/aufnahme/[uid]/unterlagen.ts"),
"objekt/[uid]": await import("../src/pages/api/objekt/[uid]/index.ts"),
})

View File

@@ -7,7 +7,7 @@
import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
import { addNotification, deleteNotification } from "#components/Notifications/shared.js";
import TagInput from "../TagInput.svelte";
import { Enums } from "#lib/client/prisma";
import { Enums } from "#lib/client/prisma.js";
import {
BedarfsausweisWohnenClient,
AufnahmeClient,

View File

@@ -7,7 +7,7 @@
import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
import { addNotification, deleteNotification } from "#components/Notifications/shared.js";
import TagInput from "../TagInput.svelte";
import { Enums } from "#lib/client/prisma";
import { Enums } from "#lib/client/prisma.js";
import {
AufnahmeClient,
ObjektClient,

View File

@@ -1,107 +1,120 @@
// This file was generated by a custom prisma generator, do not edit manually.
export enum Heizungsstatus {
BEHEIZT = "BEHEIZT",
UNBEHEIZT = "UNBEHEIZT",
NICHT_VORHANDEN = "NICHT_VORHANDEN",
};
export const Heizungsstatus = {
BEHEIZT: "BEHEIZT",
UNBEHEIZT: "UNBEHEIZT",
NICHT_VORHANDEN: "NICHT_VORHANDEN",
} as const;
export type Heizungsstatus = (typeof Heizungsstatus)[keyof typeof Heizungsstatus];
export enum Lueftungskonzept {
Fensterlueftung = "Fensterlueftung",
Schachtlueftung = "Schachtlueftung",
LueftungsanlageMitWaermerueckgewinnung = "LueftungsanlageMitWaermerueckgewinnung",
LueftungsanlageOhneWaermerueckgewinnung = "LueftungsanlageOhneWaermerueckgewinnung",
};
export const Lueftungskonzept = {
Fensterlueftung: "Fensterlueftung",
Schachtlueftung: "Schachtlueftung",
LueftungsanlageMitWaermerueckgewinnung: "LueftungsanlageMitWaermerueckgewinnung",
LueftungsanlageOhneWaermerueckgewinnung: "LueftungsanlageOhneWaermerueckgewinnung",
} as const;
export type Lueftungskonzept = (typeof Lueftungskonzept)[keyof typeof Lueftungskonzept];
export enum BenutzerRolle {
USER = "USER",
ADMIN = "ADMIN",
};
export const BenutzerRolle = {
USER: "USER",
ADMIN: "ADMIN",
} as const;
export type BenutzerRolle = (typeof BenutzerRolle)[keyof typeof BenutzerRolle];
export enum BilderKategorie {
Heizung = "Heizung",
Fenster = "Fenster",
Gebaeude = "Gebaeude",
Daemmung = "Daemmung",
};
export const BilderKategorie = {
Heizung: "Heizung",
Fenster: "Fenster",
Gebaeude: "Gebaeude",
Daemmung: "Daemmung",
} as const;
export type BilderKategorie = (typeof BilderKategorie)[keyof typeof BilderKategorie];
export enum Einpreisungsstatus {
open = "open",
canceled = "canceled",
pending = "pending",
expired = "expired",
};
export const Einpreisungsstatus = {
open: "open",
canceled: "canceled",
pending: "pending",
expired: "expired",
} as const;
export type Einpreisungsstatus = (typeof Einpreisungsstatus)[keyof typeof Einpreisungsstatus];
export enum Bezahlmethoden {
paypal = "paypal",
giropay = "giropay",
sofort = "sofort",
creditcard = "creditcard",
rechnung = "rechnung",
};
export const Bezahlmethoden = {
paypal: "paypal",
giropay: "giropay",
sofort: "sofort",
creditcard: "creditcard",
rechnung: "rechnung",
} as const;
export type Bezahlmethoden = (typeof Bezahlmethoden)[keyof typeof Bezahlmethoden];
export enum Rechnungsstatus {
open = "open",
canceled = "canceled",
pending = "pending",
authorized = "authorized",
expired = "expired",
failed = "failed",
paid = "paid",
};
export const Rechnungsstatus = {
open: "open",
canceled: "canceled",
pending: "pending",
authorized: "authorized",
expired: "expired",
failed: "failed",
paid: "paid",
} as const;
export type Rechnungsstatus = (typeof Rechnungsstatus)[keyof typeof Rechnungsstatus];
export enum AusweisTyp {
Standard = "Standard",
Beratung = "Beratung",
Offline = "Offline",
};
export const AusweisTyp = {
Standard: "Standard",
Beratung: "Beratung",
Offline: "Offline",
} as const;
export type AusweisTyp = (typeof AusweisTyp)[keyof typeof AusweisTyp];
export enum TicketStatus {
OFFEN = "OFFEN",
IN_BEARBEITUNG = "IN_BEARBEITUNG",
IN_WARTESCHLEIFE = "IN_WARTESCHLEIFE",
GESCHLOSSEN = "GESCHLOSSEN",
GELOEST = "GELOEST",
};
export const TicketStatus = {
OFFEN: "OFFEN",
IN_BEARBEITUNG: "IN_BEARBEITUNG",
IN_WARTESCHLEIFE: "IN_WARTESCHLEIFE",
GESCHLOSSEN: "GESCHLOSSEN",
GELOEST: "GELOEST",
} as const;
export type TicketStatus = (typeof TicketStatus)[keyof typeof TicketStatus];
export enum UnterlagenKategorie {
Grundriss = "Grundriss",
Sonstiges = "Sonstiges",
};
export const UnterlagenKategorie = {
Grundriss: "Grundriss",
Sonstiges: "Sonstiges",
} as const;
export type UnterlagenKategorie = (typeof UnterlagenKategorie)[keyof typeof UnterlagenKategorie];
export enum Ausstellgrund {
Neubau = "Neubau",
Vermietung = "Vermietung",
Verkauf = "Verkauf",
Modernisierung = "Modernisierung",
Sonstiges = "Sonstiges",
};
export const Ausstellgrund = {
Neubau: "Neubau",
Vermietung: "Vermietung",
Verkauf: "Verkauf",
Modernisierung: "Modernisierung",
Sonstiges: "Sonstiges",
} as const;
export type Ausstellgrund = (typeof Ausstellgrund)[keyof typeof Ausstellgrund];
export enum Ausweisart {
VerbrauchsausweisWohnen = "VerbrauchsausweisWohnen",
VerbrauchsausweisGewerbe = "VerbrauchsausweisGewerbe",
BedarfsausweisWohnen = "BedarfsausweisWohnen",
BedarfsausweisGewerbe = "BedarfsausweisGewerbe",
GEGNachweisWohnen = "GEGNachweisWohnen",
GEGNachweisBedarfsausweis = "GEGNachweisBedarfsausweis",
GEGNachweisGewerbe = "GEGNachweisGewerbe",
};
export const Ausweisart = {
VerbrauchsausweisWohnen: "VerbrauchsausweisWohnen",
VerbrauchsausweisGewerbe: "VerbrauchsausweisGewerbe",
BedarfsausweisWohnen: "BedarfsausweisWohnen",
BedarfsausweisGewerbe: "BedarfsausweisGewerbe",
GEGNachweisWohnen: "GEGNachweisWohnen",
GEGNachweisBedarfsausweis: "GEGNachweisBedarfsausweis",
GEGNachweisGewerbe: "GEGNachweisGewerbe",
} as const;
export type Ausweisart = (typeof Ausweisart)[keyof typeof Ausweisart];
export enum Service {
Telefonberatung = "Telefonberatung",
Aushang = "Aushang",
Qualitaetsdruck = "Qualitaetsdruck",
SameDay = "SameDay",
};
export const Service = {
Telefonberatung: "Telefonberatung",
Aushang: "Aushang",
Qualitaetsdruck: "Qualitaetsdruck",
SameDay: "SameDay",
} as const;
export type Service = (typeof Service)[keyof typeof Service];

View File

@@ -1,6 +1,6 @@
import { PrismaClient } from "@prisma/client";
export type * from "@prisma/client"
export { $Enums as Enums } from "@prisma/client";
export * as Enums from "../../generated/enums.js";
export * from "../../generated/zod/index.js";
export const prisma = new PrismaClient({

View File

@@ -11,8 +11,8 @@ import {
Enums,
VerbrauchsausweisGewerbe,
VerbrauchsausweisWohnen,
} from "#lib/client/prisma";
import { prisma } from "#lib/server/prisma";
} from "#lib/server/prisma.js";
import { prisma } from "#lib/server/prisma.js";
import { APIError, defineApiRoute } from "astro-typesafe-api/server";
import moment from "moment";
import { z } from "zod";

View File

@@ -1,7 +1,7 @@
import moment from "moment";
import newUserIdMap from "./new-user-id-map.json" assert { type: "json" };
import processed from "./processed.json" assert { type: "json" };
import { Benutzer, Enums, prisma } from "#lib/server/prisma";
import { Benutzer, Enums, prisma } from "#lib/server/prisma.js";
import * as fs from "fs";
import { fileURLToPath } from "url";
import { hashPassword } from "#lib/password.js";