Astro build funktioniert
This commit is contained in:
11
prisma/schema/Anteilshaber.prisma
Normal file
11
prisma/schema/Anteilshaber.prisma
Normal file
@@ -0,0 +1,11 @@
|
||||
model Anteilshaber {
|
||||
id Int @id @default(autoincrement())
|
||||
benutzer_id Int
|
||||
rolle String? @db.VarChar
|
||||
privilegien BigInt?
|
||||
uid String @unique @default(dbgenerated("'ant-' || gen_random_uuid()"))
|
||||
benutzer Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
objekt_id Int
|
||||
objekt Objekt @relation(fields: [objekt_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
14
prisma/schema/ApiRequests.prisma
Normal file
14
prisma/schema/ApiRequests.prisma
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
model ApiRequests {
|
||||
id Int @id @default(autoincrement())
|
||||
date DateTime @default(now()) @db.Timestamp(6)
|
||||
ip String @db.VarChar(50)
|
||||
method String @db.VarChar(10)
|
||||
path String @db.VarChar(100)
|
||||
status Int
|
||||
responseTime Float
|
||||
responseSize Int
|
||||
userAgent String @db.VarChar(500)
|
||||
user_id Int?
|
||||
user Benutzer? @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
150
prisma/schema/Aufnahme.prisma
Normal file
150
prisma/schema/Aufnahme.prisma
Normal file
@@ -0,0 +1,150 @@
|
||||
|
||||
enum Heizungsstatus {
|
||||
BEHEIZT
|
||||
UNBEHEIZT
|
||||
NICHT_VORHANDEN
|
||||
}
|
||||
|
||||
enum Lueftungskonzept {
|
||||
Fensterlueftung
|
||||
Schachtlueftung
|
||||
LueftungsanlageMitWaermerueckgewinnung
|
||||
LueftungsanlageOhneWaermerueckgewinnung
|
||||
}
|
||||
|
||||
model Aufnahme {
|
||||
id Int @id @default(autoincrement())
|
||||
/// @zod.describe("UID der Gebäude Aufnahme")
|
||||
uid String @unique @default(dbgenerated("'auf-' || gen_random_uuid()"))
|
||||
benutzer_id Int?
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
/// @zod.describe("Art des korrespondierenden Ausweises, wie z.B. VerbrauchsausweisWohnen")
|
||||
ausweisart Ausweisart?
|
||||
/// @zod.describe("Art des Gebäudes und seiner primären Nutzungsart")
|
||||
gebaeudetyp String? @db.VarChar
|
||||
/// @zod.describe("Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil")
|
||||
gebaeudeteil String? @db.VarChar
|
||||
/// @zod.describe("Alle Jahre in denen das Gebäude konstruiert oder grundlegend verändert wurde")
|
||||
baujahr_gebaeude Int[]
|
||||
/// @zod.describe("Alle Jahre in denen die Heizung eingebaut oder grundlegend verändert wurde")
|
||||
baujahr_heizung Int[]
|
||||
/// @zod.describe("Alle Jahre in denen die Klimaanlage eingebaut oder grundlegend verändert wurde")
|
||||
baujahr_klima Int[]
|
||||
/// @zod.describe("Anzahl der (Wohn)Einheiten im Gebäude")
|
||||
einheiten Int?
|
||||
/// @zod.describe("Wohnfläche bei Wohngebäuden, Nutzfläche bei Gewerbegebäuden")
|
||||
flaeche Int?
|
||||
/// @zod.describe("(energetische) Nutzfläche des Gebäudes. Bei Gewerbegebäuden entspricht Sie der Nutzfläche")
|
||||
nutzflaeche Int?
|
||||
/// @zod.describe("Falls das Gebäude energetisch saniert ist, sollte dieser Wert auf true stehen")
|
||||
saniert Boolean?
|
||||
/// @zod.describe("Ob ein Keller vorhanden, beheizt oder unbeheizt ist")
|
||||
keller Heizungsstatus?
|
||||
/// @zod.describe("Ob ein Dachgeschoss vorhanden, beheizt oder unbeheizt ist")
|
||||
dachgeschoss Heizungsstatus?
|
||||
/// @zod.describe("Art der Gebäudelüftung")
|
||||
lueftung Lueftungskonzept?
|
||||
/// @zod.describe("Art der Gebäudekühlung")
|
||||
kuehlung String? @db.VarChar(50)
|
||||
/// @zod.describe("Prozentualer Leerstand des Gebäudes in einem durchschnittlichen Jahr")
|
||||
leerstand Int?
|
||||
|
||||
/// @zod.describe("Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen")
|
||||
alternative_heizung Boolean?
|
||||
/// @zod.describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen")
|
||||
alternative_warmwasser Boolean?
|
||||
/// @zod.describe("Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen")
|
||||
alternative_lueftung Boolean?
|
||||
/// @zod.describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen")
|
||||
alternative_kuehlung Boolean?
|
||||
|
||||
/// @zod.describe("Genutzer Brennstoff der primären Energiequelle")
|
||||
brennstoff_1 String? @db.VarChar(50)
|
||||
/// @zod.describe("Genutzer Brennstoff der sekundären Energiequelle")
|
||||
brennstoff_2 String? @db.VarChar(50)
|
||||
|
||||
boxpruefung Boolean? @default(false)
|
||||
|
||||
/// @zod.describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes")
|
||||
energieeffizienzklasse String? @db.VarChar(5)
|
||||
|
||||
/// @zod.describe("Datum an dem der Kunde den Ausweis erstellt hat")
|
||||
erstellungsdatum DateTime? @default(now())
|
||||
/// @zod.describe("Datum an dem der Aussteller den Ausweis ausgestellt hat")
|
||||
ausstellungsdatum DateTime?
|
||||
|
||||
/// @zod.describe("Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen")
|
||||
zentralheizung Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über ein Solarsystem für Warmwasser verfügt, sollte dieser Wert auf true stehen")
|
||||
solarsystem_warmwasser Boolean?
|
||||
/// @zod.describe("Falls die Warmwasserrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
warmwasser_rohre_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über einen Niedertemperaturkessel verfügt, sollte dieser Wert auf true stehen")
|
||||
niedertemperatur_kessel Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über einen Brennwertkessel verfügt, sollte dieser Wert auf true stehen")
|
||||
brennwert_kessel Boolean?
|
||||
/// @zod.describe("Falls die Heizungsrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
heizungsrohre_gedaemmt Boolean?
|
||||
standard_kessel Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über eine Wärmepumpe verfügt, sollte dieser Wert auf true stehen")
|
||||
waermepumpe Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über einen Raumtemperaturregler verfügt, sollte dieser Wert auf true stehen")
|
||||
raum_temperatur_regler Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über eine Photovoltaikanlage verfügt, sollte dieser Wert auf true stehen")
|
||||
photovoltaik Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über einen Durchlauferhitzer verfügt, sollte dieser Wert auf true stehen")
|
||||
durchlauf_erhitzer Boolean?
|
||||
einzelofen Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über eine Zirkulationspumpe verfügt, sollte dieser Wert auf true stehen")
|
||||
zirkulation Boolean?
|
||||
/// @zod.describe("Falls die Fenster des Gebäudes einfach gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
einfach_verglasung Boolean?
|
||||
/// @zod.describe("Falls die Fenster des Gebäudes dreifach gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
dreifach_verglasung Boolean?
|
||||
/// @zod.describe("Falls die Fenster des Gebäudes teilweise undicht sind, sollte dieser Wert auf true stehen")
|
||||
fenster_teilweise_undicht Boolean?
|
||||
/// @zod.describe("Falls die Fenster des Gebäudes doppelt gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
doppel_verglasung Boolean?
|
||||
/// @zod.describe("Falls die Fenster des Gebäudes dicht sind, sollte dieser Wert auf true stehen")
|
||||
fenster_dicht Boolean?
|
||||
/// @zod.describe("Falls das Gebäude über gedämmte Rolllädenkästen verfügt, sollte dieser Wert auf true stehen")
|
||||
rolllaeden_kaesten_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die Fenster des Gebäudes isolier Verglasung haben, sollte dieser Wert auf true stehen")
|
||||
isolier_verglasung Boolean?
|
||||
/// @zod.describe("Falls die Türen des Gebäudes undicht sind, sollte dieser Wert auf true stehen")
|
||||
tueren_undicht Boolean?
|
||||
/// @zod.describe("Falls die Türen des Gebäudes dicht sind, sollte dieser Wert auf true stehen")
|
||||
tueren_dicht Boolean?
|
||||
/// @zod.describe("Falls das Dachgeschoss des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen")
|
||||
dachgeschoss_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die Kellerdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen")
|
||||
keller_decke_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die Kellerwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
keller_wand_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die Außenwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
aussenwand_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die oberste Geschossdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen")
|
||||
oberste_geschossdecke_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die Außenwände des Gebäudes mindestens 12cm gedämmt sind, sollte dieser Wert auf true stehen")
|
||||
aussenwand_min_12cm_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls das Dachgeschoss des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen")
|
||||
dachgeschoss_min_12cm_gedaemmt Boolean?
|
||||
/// @zod.describe("Falls die oberste Geschossdecke des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen")
|
||||
oberste_geschossdecke_min_12cm_gedaemmt Boolean?
|
||||
|
||||
events Event[]
|
||||
bilder Bild[]
|
||||
unterlagen Unterlage[]
|
||||
bedarfsausweise_wohnen BedarfsausweisWohnen[]
|
||||
verbrauchsausweise_gewerbe VerbrauchsausweisGewerbe[]
|
||||
verbrauchsausweise_wohnen VerbrauchsausweisWohnen[]
|
||||
geg_nachweise_wohnen GEGNachweisWohnen[]
|
||||
geg_nachweise_gewerbe GEGNachweisGewerbe[]
|
||||
bedarfsausweise_gewerbe BedarfsausweisGewerbe[]
|
||||
|
||||
objekt_id Int
|
||||
objekt Objekt @relation(fields: [objekt_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
|
||||
|
||||
|
||||
16
prisma/schema/BedarfsausweisGewerbe.prisma
Normal file
16
prisma/schema/BedarfsausweisGewerbe.prisma
Normal file
@@ -0,0 +1,16 @@
|
||||
model BedarfsausweisGewerbe {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'bag-' || gen_random_uuid()"))
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id Int?
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
aufnahme_id Int @unique
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
rechnung_id Int? @unique
|
||||
rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
geg_einpreisung_id Int? @unique
|
||||
geg_einpreisung GEGEinpreisung? @relation(fields: [geg_einpreisung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
86
prisma/schema/BedarfsausweisWohnen.prisma
Normal file
86
prisma/schema/BedarfsausweisWohnen.prisma
Normal file
@@ -0,0 +1,86 @@
|
||||
|
||||
model BedarfsausweisWohnen {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'baw-' || gen_random_uuid()"))
|
||||
benutzer_id Int?
|
||||
ausstellgrund Ausstellgrund?
|
||||
registriernummer String? @db.VarChar
|
||||
|
||||
alternative_heizung Boolean?
|
||||
alternative_warmwasser Boolean?
|
||||
alternative_lueftung Boolean?
|
||||
alternative_kuehlung Boolean?
|
||||
|
||||
anzahl_vollgeschosse Int?
|
||||
geschosshoehe Float?
|
||||
anzahl_gauben Int?
|
||||
breite_gauben Float?
|
||||
masse_a Float?
|
||||
masse_b Float?
|
||||
masse_c Float?
|
||||
masse_d Float?
|
||||
masse_e Float?
|
||||
masse_f Float?
|
||||
fensterflaeche_so_sw Float?
|
||||
fensterflaeche_nw_no Float?
|
||||
aussenwandflaeche_unbeheizt Float?
|
||||
dachflaeche Float?
|
||||
deckenflaeche Float?
|
||||
dach_u_wert Float?
|
||||
decke_u_wert Float?
|
||||
aussenwand_flaeche Float?
|
||||
aussenwand_u_wert Float?
|
||||
fussboden_flaeche Float?
|
||||
fussboden_u_wert Float?
|
||||
volumen Float?
|
||||
dicht Boolean?
|
||||
fenster_flaeche_1 Float?
|
||||
fenster_art_1 Float?
|
||||
fenster_flaeche_2 Float?
|
||||
fenster_art_2 Float?
|
||||
dachfenster_flaeche Float?
|
||||
dachfenster_art Float?
|
||||
haustuer_flaeche Float?
|
||||
haustuer_art Float?
|
||||
dach_bauart String? @db.VarChar
|
||||
decke_bauart String? @db.VarChar
|
||||
dach_daemmung Float?
|
||||
decke_daemmung Float?
|
||||
aussenwand_daemmung Float?
|
||||
boden_daemmung Float?
|
||||
aussenwand_bauart String? @db.VarChar
|
||||
boden_bauart String? @db.VarChar
|
||||
warmwasser_verteilung String? @db.VarChar
|
||||
warmwasser_speicherung String? @db.VarChar
|
||||
warmwasser_erzeugung String? @db.VarChar
|
||||
heizung_zentral Boolean?
|
||||
heizung_verteilung String? @db.VarChar
|
||||
heizung_speicherung String? @db.VarChar
|
||||
waerme_erzeugung_heizung String? @db.VarChar
|
||||
anteil_zusatzheizung Float?
|
||||
kollektor_flaeche Float?
|
||||
|
||||
ausgestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen")
|
||||
storniert Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen")
|
||||
bestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen")
|
||||
zurueckgestellt Boolean? @default(false)
|
||||
/// @zod.describe("Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung")
|
||||
prueftext String? @db.VarChar(1000)
|
||||
|
||||
beschreibung String? @db.Text
|
||||
|
||||
/// @zod.describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde")
|
||||
kontrolldatei_angefragt Boolean? @default(false)
|
||||
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
rechnung_id Int? @unique
|
||||
rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
/// @zod.describe("ID der korrespondierenden Gebäudeaufnahme")
|
||||
aufnahme_id Int @unique
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
52
prisma/schema/Benutzer.prisma
Normal file
52
prisma/schema/Benutzer.prisma
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
enum BenutzerRolle {
|
||||
USER
|
||||
ADMIN
|
||||
}
|
||||
|
||||
model Benutzer {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'usr-' || gen_random_uuid()"))
|
||||
name String? @db.VarChar(50)
|
||||
vorname String? @db.VarChar(50)
|
||||
email String @unique(map: "benutzer_email_idx") @db.VarChar(255)
|
||||
passwort String @db.VarChar(255)
|
||||
profilbild String? @db.VarChar
|
||||
plz String? @db.VarChar(5)
|
||||
ort String? @db.VarChar(50)
|
||||
adresse String? @db.VarChar(100)
|
||||
telefon String? @db.VarChar(50)
|
||||
anrede String? @db.VarChar(50)
|
||||
rolle BenutzerRolle @default(USER)
|
||||
firma String?
|
||||
lex_office_id String?
|
||||
|
||||
Anteilshaber Anteilshaber[] @ignore
|
||||
BedarfsausweisWohnen BedarfsausweisWohnen[]
|
||||
documenttemplates documenttemplates[]
|
||||
objekte Objekt[]
|
||||
rechnungen Rechnung[]
|
||||
tokens tokens[]
|
||||
VerbrauchsausweisGewerbe VerbrauchsausweisGewerbe[]
|
||||
VerbrauchsausweisWohnen VerbrauchsausweisWohnen[]
|
||||
ApiRequests ApiRequests[]
|
||||
RefreshTokens RefreshTokens[]
|
||||
aufnahmen Aufnahme[]
|
||||
|
||||
// ---------------------------------- GEG ----------------------------------
|
||||
geg_einpreisungen GEGEinpreisung[]
|
||||
geg_nachweise_gewerbe GEGNachweisGewerbe[]
|
||||
geg_nachweise_wohnen GEGNachweisWohnen[]
|
||||
bedarfsausweise_gewerbe BedarfsausweisGewerbe[]
|
||||
|
||||
|
||||
|
||||
ErstellteTickets Tickets[] @relation("ErstellteTickets")
|
||||
BearbeiteteTickets Tickets[] @relation("BearbeiteteTickets")
|
||||
events Event[]
|
||||
|
||||
@@map("benutzer")
|
||||
}
|
||||
|
||||
|
||||
|
||||
16
prisma/schema/Bild.prisma
Normal file
16
prisma/schema/Bild.prisma
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
enum BilderKategorie {
|
||||
Heizung
|
||||
Fenster
|
||||
Gebaeude
|
||||
Daemmung
|
||||
}
|
||||
|
||||
model Bild {
|
||||
id Int @id @default(autoincrement())
|
||||
kategorie BilderKategorie
|
||||
uid String @unique @default(dbgenerated("'img-' || gen_random_uuid()"))
|
||||
|
||||
aufnahme_id Int?
|
||||
aufnahme Aufnahme? @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
20
prisma/schema/Event.prisma
Normal file
20
prisma/schema/Event.prisma
Normal file
@@ -0,0 +1,20 @@
|
||||
|
||||
// Dieses Model wird für getriggerte Events verwendet
|
||||
// Hier werden beispielsweise Events wie "Nachricht Verschickt" gespeichert.
|
||||
// Diese Events werden dann in der Admin-Oberfläche angezeigt.
|
||||
model Event {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'evt-' || gen_random_uuid()"))
|
||||
date DateTime @default(now()) @db.Timestamp(6)
|
||||
|
||||
title String @db.VarChar(255)
|
||||
description String? @db.Text
|
||||
|
||||
|
||||
// Verlinkung des Gebäudes
|
||||
aufnahme_id Int
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
// Verlinkung des Benutzers
|
||||
benutzer_id Int?
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
36
prisma/schema/GEGEinpreisung.prisma
Normal file
36
prisma/schema/GEGEinpreisung.prisma
Normal file
@@ -0,0 +1,36 @@
|
||||
enum Einpreisungsstatus {
|
||||
open
|
||||
canceled
|
||||
pending
|
||||
expired
|
||||
}
|
||||
|
||||
model GEGEinpreisung {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'gge-' || gen_random_uuid()"))
|
||||
|
||||
empfaenger String? @db.VarChar
|
||||
strasse String? @db.VarChar
|
||||
plz String? @db.VarChar
|
||||
ort String? @db.VarChar
|
||||
zusatzzeile String? @db.VarChar
|
||||
telefon String? @db.VarChar
|
||||
email String? @db.VarChar
|
||||
|
||||
abweichende_versand_adresse Boolean? @default(false)
|
||||
versand_empfaenger String? @db.VarChar
|
||||
versand_strasse String? @db.VarChar
|
||||
versand_plz String? @db.VarChar
|
||||
versand_ort String? @db.VarChar
|
||||
versand_zusatzzeile String? @db.VarChar
|
||||
|
||||
status Einpreisungsstatus
|
||||
|
||||
geg_nachweis_wohnen GEGNachweisWohnen?
|
||||
geg_nachweis_gewerbe GEGNachweisGewerbe?
|
||||
bedarfsausweis_gewerbe BedarfsausweisGewerbe?
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, der diese Einpreisung bekommt.")
|
||||
benutzer_id Int?
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
30
prisma/schema/GEGNachweisGewerbe.prisma
Normal file
30
prisma/schema/GEGNachweisGewerbe.prisma
Normal file
@@ -0,0 +1,30 @@
|
||||
model GEGNachweisGewerbe {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'gnw-' || gen_random_uuid()"))
|
||||
|
||||
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
|
||||
ausstellgrund Ausstellgrund?
|
||||
/// @zod.describe("Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen")
|
||||
keller_beheizt Boolean?
|
||||
|
||||
/// @zod.describe("Falls die Nachweisanfrage storniert wurde, sollte dieser Wert auf true stehen")
|
||||
storniert Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Nachweis bestellt wurde, sollte dieser Wert auf true stehen")
|
||||
bestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Nachweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen")
|
||||
zurueckgestellt Boolean? @default(false)
|
||||
|
||||
/// @zod.describe("Beschreibung des Bauvorhabens")
|
||||
beschreibung String? @db.Text
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id Int?
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
aufnahme_id Int @unique
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
rechnung_id Int? @unique
|
||||
rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
geg_einpreisung_id Int? @unique
|
||||
geg_einpreisung GEGEinpreisung? @relation(fields: [geg_einpreisung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
30
prisma/schema/GEGNachweisWohnen.prisma
Normal file
30
prisma/schema/GEGNachweisWohnen.prisma
Normal file
@@ -0,0 +1,30 @@
|
||||
model GEGNachweisWohnen {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'gnw-' || gen_random_uuid()"))
|
||||
|
||||
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
|
||||
ausstellgrund Ausstellgrund?
|
||||
/// @zod.describe("Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen")
|
||||
keller_beheizt Boolean?
|
||||
|
||||
/// @zod.describe("Falls die Nachweisanfrage storniert wurde, sollte dieser Wert auf true stehen")
|
||||
storniert Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Nachweis bestellt wurde, sollte dieser Wert auf true stehen")
|
||||
bestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Nachweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen")
|
||||
zurueckgestellt Boolean? @default(false)
|
||||
|
||||
/// @zod.describe("Beschreibung des Bauvorhabens")
|
||||
beschreibung String? @db.Text
|
||||
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id Int?
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
aufnahme_id Int @unique
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
rechnung_id Int? @unique
|
||||
rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
geg_einpreisung_id Int? @unique
|
||||
geg_einpreisung GEGEinpreisung? @relation(fields: [geg_einpreisung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
11
prisma/schema/Klimafaktoren.prisma
Normal file
11
prisma/schema/Klimafaktoren.prisma
Normal file
@@ -0,0 +1,11 @@
|
||||
model Klimafaktoren {
|
||||
id Int @id @default(autoincrement())
|
||||
plz String @db.VarChar(5)
|
||||
month Int
|
||||
year Int
|
||||
klimafaktor Float @default(1)
|
||||
|
||||
// Mithilfe eines composite keys können wir einfach den Monat und das Jahr mit der Postleitzahl verknüpfen
|
||||
// somit müssen wir nicht mehr eine Zeile für jeden Monat anlegen.
|
||||
@@unique([plz, month, year])
|
||||
}
|
||||
21
prisma/schema/Objekt.prisma
Normal file
21
prisma/schema/Objekt.prisma
Normal file
@@ -0,0 +1,21 @@
|
||||
model Objekt {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'obj-' || gen_random_uuid()"))
|
||||
benutzer_id Int?
|
||||
|
||||
latitude Float?
|
||||
longitude Float?
|
||||
|
||||
/// @zod.describe("Postleitzahl des Gebäudes")
|
||||
plz String? @db.VarChar(5)
|
||||
/// @zod.describe("Ort des Gebäudes")
|
||||
ort String? @db.VarChar(50)
|
||||
/// @zod.describe("Adresse (Straße und Hausnummer) des Gebäudes")
|
||||
adresse String? @db.VarChar(100)
|
||||
|
||||
erstellungsdatum DateTime? @default(now())
|
||||
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id])
|
||||
aufnahmen Aufnahme[]
|
||||
anteilshaber Anteilshaber[]
|
||||
}
|
||||
9
prisma/schema/Postleitzahlen.prisma
Normal file
9
prisma/schema/Postleitzahlen.prisma
Normal file
@@ -0,0 +1,9 @@
|
||||
model Postleitzahlen {
|
||||
id Int @id @default(autoincrement())
|
||||
plz String @db.VarChar(5)
|
||||
stadt String @db.VarChar(100)
|
||||
bundesland String @db.VarChar(100)
|
||||
landkreis String @db.VarChar(100)
|
||||
lat Float
|
||||
lon Float
|
||||
}
|
||||
66
prisma/schema/Rechnung.prisma
Normal file
66
prisma/schema/Rechnung.prisma
Normal file
@@ -0,0 +1,66 @@
|
||||
|
||||
enum Bezahlmethoden {
|
||||
paypal
|
||||
giropay
|
||||
sofort
|
||||
creditcard
|
||||
rechnung
|
||||
}
|
||||
|
||||
enum Rechnungsstatus {
|
||||
open
|
||||
canceled
|
||||
pending
|
||||
authorized
|
||||
expired
|
||||
failed
|
||||
paid
|
||||
}
|
||||
|
||||
enum AusweisTyp {
|
||||
Standard
|
||||
Beratung
|
||||
Offline
|
||||
}
|
||||
|
||||
model Rechnung {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'inv-' || gen_random_uuid()"))
|
||||
|
||||
benutzer_id Int
|
||||
empfaenger String? @db.VarChar
|
||||
strasse String? @db.VarChar
|
||||
plz String? @db.VarChar
|
||||
ort String? @db.VarChar
|
||||
zusatzzeile String? @db.VarChar
|
||||
telefon String? @db.VarChar
|
||||
email String? @db.VarChar
|
||||
|
||||
abweichende_versand_adresse Boolean? @default(false)
|
||||
versand_empfaenger String? @db.VarChar
|
||||
versand_strasse String? @db.VarChar
|
||||
versand_plz String? @db.VarChar
|
||||
versand_ort String? @db.VarChar
|
||||
versand_zusatzzeile String? @db.VarChar
|
||||
|
||||
bezahlmethode Bezahlmethoden
|
||||
status Rechnungsstatus
|
||||
services Service[]
|
||||
ausweistyp AusweisTyp @default(Standard)
|
||||
betrag Float
|
||||
erstellt_am DateTime @default(now())
|
||||
bezahlt_am DateTime?
|
||||
storniert_am DateTime?
|
||||
transaktions_referenz String? @unique @db.VarChar
|
||||
|
||||
benutzer Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
verbrauchsausweis_wohnen VerbrauchsausweisWohnen?
|
||||
verbrauchsausweis_gewerbe VerbrauchsausweisGewerbe?
|
||||
bedarfsausweis_wohnen BedarfsausweisWohnen?
|
||||
bedarfsausweis_gewerbe BedarfsausweisGewerbe?
|
||||
geg_nachweis_gewerbe GEGNachweisGewerbe?
|
||||
geg_nachweis_wohnen GEGNachweisWohnen?
|
||||
}
|
||||
|
||||
|
||||
13
prisma/schema/RefreshTokens.prisma
Normal file
13
prisma/schema/RefreshTokens.prisma
Normal file
@@ -0,0 +1,13 @@
|
||||
|
||||
model RefreshTokens {
|
||||
id Int @id @default(autoincrement())
|
||||
benutzer_id Int
|
||||
token String @unique
|
||||
// Wir nehmen die IP Adresse des Clients mit auf.
|
||||
// Falls sich die IP Adresse eines Refresh Token Owners ändert, können wir diesen einfach invalidieren.
|
||||
ip String
|
||||
expiry DateTime
|
||||
|
||||
// Relationen
|
||||
user Benutzer @relation(fields: [benutzer_id], references: [id], onDelete: Cascade)
|
||||
}
|
||||
30
prisma/schema/Tickets.prisma
Normal file
30
prisma/schema/Tickets.prisma
Normal file
@@ -0,0 +1,30 @@
|
||||
|
||||
enum TicketStatus {
|
||||
OFFEN
|
||||
IN_BEARBEITUNG
|
||||
IN_WARTESCHLEIFE
|
||||
GESCHLOSSEN
|
||||
GELOEST
|
||||
}
|
||||
|
||||
model Tickets {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'tkt-' || gen_random_uuid()"))
|
||||
benutzer_id Int?
|
||||
created_at DateTime @default(now())
|
||||
updated_at DateTime? @updatedAt
|
||||
deleted_at DateTime?
|
||||
// Attribute
|
||||
status TicketStatus @default(OFFEN)
|
||||
titel String
|
||||
beschreibung String
|
||||
metadata Json?
|
||||
email String
|
||||
|
||||
bearbeiter_id Int?
|
||||
prioritaet Int? @default(0)
|
||||
|
||||
// Relationen
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], name: "ErstellteTickets")
|
||||
bearbeiter Benutzer? @relation(fields: [bearbeiter_id], references: [id], name: "BearbeiteteTickets")
|
||||
}
|
||||
16
prisma/schema/Unterlage.prisma
Normal file
16
prisma/schema/Unterlage.prisma
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
enum UnterlagenKategorie {
|
||||
Grundriss
|
||||
Sonstiges
|
||||
}
|
||||
|
||||
model Unterlage {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'pln-' || gen_random_uuid()"))
|
||||
name String?
|
||||
kategorie String?
|
||||
mime String?
|
||||
|
||||
aufnahme_id Int?
|
||||
aufnahme Aufnahme? @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
72
prisma/schema/VerbrauchsausweisGewerbe.prisma
Normal file
72
prisma/schema/VerbrauchsausweisGewerbe.prisma
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
model VerbrauchsausweisGewerbe {
|
||||
id Int @id @default(autoincrement())
|
||||
uid String @unique @default(dbgenerated("'vag-' || gen_random_uuid()"))
|
||||
benutzer_id Int?
|
||||
ausstellgrund Ausstellgrund?
|
||||
registriernummer String? @db.VarChar
|
||||
zusaetzliche_heizquelle Boolean?
|
||||
brennstoff_1 String? @db.VarChar(50)
|
||||
einheit_1 String? @db.VarChar(50)
|
||||
brennstoff_2 String? @db.VarChar(50)
|
||||
einheit_2 String? @db.VarChar(50)
|
||||
startdatum DateTime? @db.Timestamp(6)
|
||||
verbrauch_1 Int?
|
||||
verbrauch_2 Int?
|
||||
verbrauch_3 Int?
|
||||
verbrauch_4 Int?
|
||||
verbrauch_5 Int?
|
||||
verbrauch_6 Int?
|
||||
|
||||
strom_1 Int?
|
||||
strom_2 Int?
|
||||
strom_3 Int?
|
||||
|
||||
stromverbrauch_enthaelt_heizung Boolean?
|
||||
stromverbrauch_enthaelt_warmwasser Boolean?
|
||||
stromverbrauch_enthaelt_lueftung Boolean?
|
||||
stromverbrauch_enthaelt_beleuchtung Boolean?
|
||||
stromverbrauch_enthaelt_kuehlung Boolean?
|
||||
stromverbrauch_enthaelt_sonstige String? @db.VarChar(50)
|
||||
|
||||
kuehlung_enthalten Boolean?
|
||||
anteil_kuehlung_1 Float?
|
||||
anteil_kuehlung_2 Float?
|
||||
|
||||
|
||||
keller_beheizt Boolean?
|
||||
|
||||
alternative_heizung Boolean?
|
||||
alternative_warmwasser Boolean?
|
||||
alternative_lueftung Boolean?
|
||||
alternative_kuehlung Boolean?
|
||||
|
||||
warmwasser_enthalten Boolean?
|
||||
anteil_warmwasser_1 Float?
|
||||
anteil_warmwasser_2 Float?
|
||||
|
||||
ausgestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen")
|
||||
storniert Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen")
|
||||
bestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen")
|
||||
zurueckgestellt Boolean? @default(false)
|
||||
/// @zod.describe("Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung")
|
||||
prueftext String? @db.VarChar(1000)
|
||||
|
||||
beschreibung String? @db.Text
|
||||
|
||||
/// @zod.describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde")
|
||||
kontrolldatei_angefragt Boolean? @default(false)
|
||||
|
||||
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
rechnung_id Int? @unique
|
||||
rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
/// @zod.describe("ID der korrespondierenden Gebäudeaufnahme")
|
||||
aufnahme_id Int @unique
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
77
prisma/schema/VerbrauchsausweisWohnen.prisma
Normal file
77
prisma/schema/VerbrauchsausweisWohnen.prisma
Normal file
@@ -0,0 +1,77 @@
|
||||
|
||||
model VerbrauchsausweisWohnen {
|
||||
id Int @id @default(autoincrement())
|
||||
/// @zod.describe("UID des Ausweises")
|
||||
uid String @unique @default(dbgenerated("'vaw-' || gen_random_uuid()"))
|
||||
/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
|
||||
benutzer_id Int?
|
||||
/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
|
||||
ausstellgrund Ausstellgrund?
|
||||
/// @zod.describe("Die Registriernummer des Ausweises")
|
||||
registriernummer String? @db.VarChar
|
||||
/// @zod.describe("Falls eine sekundäre Heizquelle existiert, sollte dieser Wert auf true stehen")
|
||||
zusaetzliche_heizquelle Boolean?
|
||||
/// @zod.describe("Einheit des Energieträgers der primären Heizquelle")
|
||||
einheit_1 String? @db.VarChar(50)
|
||||
/// @zod.describe("Einheit des Energieträgers der sekundären Heizquelle")
|
||||
einheit_2 String? @db.VarChar(50)
|
||||
startdatum DateTime? @db.Timestamptz(6)
|
||||
/// @zod.describe("Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre")
|
||||
verbrauch_1 Int?
|
||||
/// @zod.describe("Energieverbrauch der primären Heizquelle im zweiten der drei Verbrauchsjahre")
|
||||
verbrauch_2 Int?
|
||||
/// @zod.describe("Energieverbrauch der primären Heizquelle im letzten der drei Verbrauchsjahre")
|
||||
verbrauch_3 Int?
|
||||
/// @zod.describe("Energieverbrauch der sekund̈́ären Heizquelle im ersten der drei Verbrauchsjahre")
|
||||
verbrauch_4 Int?
|
||||
/// @zod.describe("Energieverbrauch der sekund̈́ären Heizquelle im zweiten der drei Verbrauchsjahre")
|
||||
verbrauch_5 Int?
|
||||
/// @zod.describe("Energieverbrauch der sekund̈́ären Heizquelle im letzten der drei Verbrauchsjahre")
|
||||
verbrauch_6 Int?
|
||||
/// @zod.describe("Falls Warmwasser im Verbrauchswert enthalten ist, sollte dieser Wert auf true stehen")
|
||||
warmwasser_enthalten Boolean?
|
||||
/// @zod.describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen")
|
||||
warmwasser_anteil_bekannt Boolean?
|
||||
/// @zod.describe("Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen")
|
||||
keller_beheizt Boolean?
|
||||
/// @zod.describe("Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist.")
|
||||
faktorKeller Float?
|
||||
|
||||
/// @zod.describe("Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet, sollte dieser Wert auf true stehen.")
|
||||
alternative_heizung Boolean?
|
||||
/// @zod.describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme (z.B. Solarsystem, Wärmepumpe, etc.) beinhaltet, sollte dieser Wert auf true stehen.")
|
||||
alternative_warmwasser Boolean?
|
||||
/// @zod.describe("Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen.")
|
||||
alternative_lueftung Boolean?
|
||||
/// @zod.describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen.")
|
||||
alternative_kuehlung Boolean?
|
||||
|
||||
/// @zod.describe("Anteil des Warmwassers am Gesamtverbrauch der primären Energiequelle in Prozent")
|
||||
anteil_warmwasser_1 Float?
|
||||
/// @zod.describe("Anteil des Warmwassers am Gesamtverbrauch der sekundären Energiequelle in Prozent")
|
||||
anteil_warmwasser_2 Float?
|
||||
|
||||
ausgestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen")
|
||||
storniert Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen")
|
||||
bestellt Boolean? @default(false)
|
||||
/// @zod.describe("Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen")
|
||||
zurueckgestellt Boolean? @default(false)
|
||||
/// @zod.describe("Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung")
|
||||
prueftext String? @db.VarChar(1000)
|
||||
|
||||
beschreibung String? @db.Text
|
||||
|
||||
/// @zod.describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde")
|
||||
kontrolldatei_angefragt Boolean? @default(false)
|
||||
|
||||
benutzer Benutzer? @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
rechnung_id Int? @unique
|
||||
rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
|
||||
/// @zod.describe("ID der korrespondierenden Gebäudeaufnahme")
|
||||
aufnahme_id Int @unique
|
||||
aufnahme Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
|
||||
}
|
||||
15
prisma/schema/documenttemplates.prisma
Normal file
15
prisma/schema/documenttemplates.prisma
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
model documenttemplates {
|
||||
id Int @id(map: "PK_DOCUMENTTEMPLATES") @default(autoincrement())
|
||||
name String @db.VarChar(100)
|
||||
shortdescription String @db.VarChar(100)
|
||||
longdescription String @db.VarChar(5000)
|
||||
user_id Int
|
||||
is_private Boolean @default(true)
|
||||
documenttype Int
|
||||
filename String @db.VarChar(100)
|
||||
created_at DateTime @default(now()) @db.Timestamp(0)
|
||||
updated_at DateTime @default(now()) @db.Timestamp(0)
|
||||
benutzer Benutzer @relation(fields: [user_id], references: [id], onDelete: Cascade, map: "benutzer_fk")
|
||||
documenttypes documenttypes @relation(fields: [documenttype], references: [id], onDelete: Cascade, map: "documenttypes_fk")
|
||||
}
|
||||
8
prisma/schema/documenttypes.prisma
Normal file
8
prisma/schema/documenttypes.prisma
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
model documenttypes {
|
||||
id Int @id(map: "PK_DOCUMENTTYPES") @default(autoincrement())
|
||||
name String @db.VarChar(100)
|
||||
shortdescription String @db.VarChar(100)
|
||||
longdescription String @db.VarChar(5000)
|
||||
documenttemplates documenttemplates[]
|
||||
}
|
||||
66
prisma/schema/schema.prisma
Normal file
66
prisma/schema/schema.prisma
Normal file
@@ -0,0 +1,66 @@
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
binaryTargets = ["native", "debian-openssl-1.1.x"]
|
||||
previewFeatures = ["prismaSchemaFolder"]
|
||||
}
|
||||
|
||||
generator faker {
|
||||
provider = "bunx prisma-generator-fake-data"
|
||||
output = "../../src/types/fake-data.ts"
|
||||
}
|
||||
|
||||
generator zod {
|
||||
provider = "bunx zod-prisma"
|
||||
output = "../../src/generated/zod"
|
||||
relationModel = false
|
||||
modelCase = "PascalCase"
|
||||
modelSuffix = "Schema"
|
||||
useDecimalJs = false
|
||||
imports = ""
|
||||
prismaJsonNullability = true
|
||||
useNullish = true
|
||||
}
|
||||
|
||||
generator enum {
|
||||
provider = "tsx ./prisma/prisma-enum-generator.ts"
|
||||
output = "../../src/generated/enums.ts"
|
||||
}
|
||||
|
||||
generator dbml {
|
||||
provider = "bunx prisma-dbml-generator"
|
||||
output = "../../dbml"
|
||||
outputName = "schema.dbml"
|
||||
projectName = "IBCornelsen Database"
|
||||
projectDatabaseType = "PostgreSQL"
|
||||
}
|
||||
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("POSTGRES_DATABASE_URL")
|
||||
}
|
||||
|
||||
enum Ausstellgrund {
|
||||
Neubau
|
||||
Vermietung
|
||||
Verkauf
|
||||
Modernisierung
|
||||
Sonstiges
|
||||
}
|
||||
|
||||
enum Ausweisart {
|
||||
VerbrauchsausweisWohnen
|
||||
VerbrauchsausweisGewerbe
|
||||
BedarfsausweisWohnen
|
||||
BedarfsausweisGewerbe
|
||||
GEGNachweisWohnen
|
||||
GEGNachweisBedarfsausweis
|
||||
GEGNachweisGewerbe
|
||||
}
|
||||
|
||||
|
||||
enum Service {
|
||||
Telefonberatung
|
||||
Aushang
|
||||
Qualitaetsdruck
|
||||
SameDay
|
||||
}
|
||||
11
prisma/schema/tokens.prisma
Normal file
11
prisma/schema/tokens.prisma
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
model tokens {
|
||||
id Int @id(map: "PK_TOKENS") @default(autoincrement())
|
||||
token String @db.VarChar(36)
|
||||
user_id Int
|
||||
date_created DateTime @default(now()) @db.Timestamp(6)
|
||||
last_used DateTime @default(now()) @db.Timestamp(6)
|
||||
times_used Int @default(0)
|
||||
permissions Int @default(0)
|
||||
benutzer Benutzer @relation(fields: [user_id], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "fk_benutzer_tokens_user_id")
|
||||
}
|
||||
Reference in New Issue
Block a user