123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- // This is your Prisma schema file,
- // learn more about it in the docs: https://pris.ly/d/prisma-schema
- // Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
- // Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
- generator client {
- provider = "prisma-client-js"
- }
- datasource db {
- provider = "postgresql"
- url = env("DATABASE_URL")
- }
- enum ProgressStatus {
- cari_data
- dihubungi
- negosiasi
- follow_up
- mou
- onboarded
- tidak_berminat
- }
- model RevokedToken {
- id String @id @default(uuid())
- token String
- revoked_at DateTime @default(now())
- @@map("revoked_tokens")
- }
- model ActivityLog {
- id String @id @default(uuid())
- user_id String
- username String
- action String
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("activity_logs")
- }
- model User {
- id String @id @default(uuid())
- username String
- email String
- password String
- firstname String
- lastname String
- role String
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("users")
- }
- model UserKeycloak {
- id String @id @default(uuid())
- fullname String
- Hospital Hospital[]
- UserArea UserArea[]
- Vendor Vendor[]
- StatusHistory StatusHistory[]
- @@map("keycloak_users")
- }
- model Province {
- id String @id @default(uuid())
- name String
- cities City[]
- hospitals Hospital[]
- user_areas UserArea[]
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("provinces")
- }
- model City {
- id String @id @default(uuid())
- name String
- province_id String
- province Province @relation(fields: [province_id], references: [id])
- hospitals Hospital[]
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@unique([name, province_id], name: "name_province_id")
- @@map("cities")
- }
- model Hospital {
- id String @id @default(uuid())
- name String
- hospital_code String?
- type String?
- ownership String?
- province_id String
- city_id String
- address String?
- // simrs_type String?
- contact String?
- image String?
- email String?
- progress_status ProgressStatus
- note String?
- created_by String
- latitude Float?
- longitude Float?
- gmaps_url String? @db.Text
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- province Province @relation(fields: [province_id], references: [id])
- city City @relation(fields: [city_id], references: [id])
- user UserKeycloak @relation(fields: [created_by], references: [id])
- vendor_experiences VendorExperience[]
- executives_histories ExecutivesHistory[]
- status_histories StatusHistory[]
- @@map("hospitals")
- }
- model Vendor {
- id String @id @default(uuid())
- name String
- name_pt String?
- strengths String?
- weaknesses String?
- website String?
- created_by String
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- user UserKeycloak @relation(fields: [created_by], references: [id])
- vendor_experiences VendorExperience[]
- @@map("vendors")
- }
- model UserArea {
- id String @id @default(uuid())
- user_id String
- province_id String
- province Province @relation(fields: [province_id], references: [id])
- user UserKeycloak @relation(fields: [user_id], references: [id])
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("user_areas")
- }
- // model VendorHistory {
- // id String @id @default(uuid())
- // hospital_id String
- // vendor_id String?
- // vendor_impression String? @db.Text
- // status String?
- // contract_date DateTime?
- // contract_expired_date DateTime?
- // hospital Hospital @relation(fields: [hospital_id], references: [id])
- // vendor Vendor? @relation(fields: [vendor_id], references: [id])
- // createdAt DateTime @default(now())
- // updatedAt DateTime @updatedAt
- // deletedAt DateTime?
- // @@map("vendor_histories")
- // }
- model VendorExperience {
- id String @id @default(uuid())
- hospital_id String
- vendor_id String?
- status String?
- contract_start_date DateTime?
- contract_expired_date DateTime?
- contract_value_min BigInt?
- contract_value_max BigInt?
- positive_notes String? @db.Text
- negative_notes String? @db.Text
- simrs_type String
- hospital Hospital @relation(fields: [hospital_id], references: [id])
- vendor Vendor? @relation(fields: [vendor_id], references: [id])
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("vendor_experiences")
- }
- model ExecutivesHistory {
- id String @id @default(uuid())
- hospital_id String
- executive_name String?
- contact String?
- status String?
- start_term DateTime?
- end_term DateTime?
- hospital Hospital @relation(fields: [hospital_id], references: [id])
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("executives_histories")
- }
- model StatusHistory {
- id String @id @default(uuid())
- hospital_id String
- user_id String
- old_status ProgressStatus
- new_status ProgressStatus
- note String? @db.Text
- hospital Hospital @relation(fields: [hospital_id], references: [id])
- user UserKeycloak @relation(fields: [user_id], references: [id])
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("status_histories")
- }
- model Category {
- id String @id @default(uuid())
- tag String
- description String? @db.Text
- CategoryLink CategoryLink[]
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- @@map("categories")
- }
- model CategoryLink {
- id String @id @default(uuid())
- category_id String
- source_type String?
- source_id String?
- createdAt DateTime @default(now())
- updatedAt DateTime @updatedAt
- deletedAt DateTime?
- Category Category? @relation(fields: [category_id], references: [id])
- @@map("category_links")
- }
|