Files
var-monorepo/packages/database/prisma/schema/mission.prisma
2025-05-21 06:13:10 +08:00

78 lines
2.2 KiB
Plaintext

model Mission {
id Int @id @default(autoincrement())
publicId String @default("")
type missionType @default(primär)
state MissionState @default(draft)
addressLat Float
addressLng Float
addressStreet String?
addressCity String?
addressZip String?
addressOSMways Json[] @default([])
missionKeywordCategory String?
missionKeywordName String?
missionKeywordAbbreviation String?
missionPatientInfo String
missionAdditionalInfo String
missionStationIds Int[] @default([])
missionStationUserIds String[] @default([])
missionLog Json[] @default([])
hpgMissionString String?
hpgAmbulanceState HpgState?
hpgFireEngineState HpgState?
hpgPoliceState HpgState?
hpgLocationLat Float? @default(0)
hpgLocationLng Float? @default(0)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
createdUserId String
// relations:
CreatedUser User @relation(fields: [createdUserId], references: [id])
MissionsOnStations MissionsOnStations[]
MissionOnStationUsers MissionOnStationUsers[]
}
model MissionOnStationUsers {
userId String
missionId Int
stationId Int
// relations:
User User @relation(fields: [userId], references: [id])
Mission Mission @relation(fields: [missionId], references: [id])
Station Station @relation(fields: [stationId], references: [id])
@@unique([userId, missionId, stationId])
}
model MissionsOnStations {
missionId Int
stationId Int
// relations:
Mission Mission @relation(fields: [missionId], references: [id])
Station Station @relation(fields: [stationId], references: [id])
@@id([missionId, stationId])
}
enum missionType {
primär
sekundär
}
enum MissionState {
running
finished
draft
}
enum HpgState {
ready
arrived
onway
}