schema.prisma 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. // This is your Prisma schema file,
  2. // learn more about it in the docs: https://pris.ly/d/prisma-schema
  3. // Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
  4. // Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
  5. generator client {
  6. provider = "prisma-client-js"
  7. }
  8. datasource db {
  9. provider = "postgresql"
  10. url = env("DATABASE_URL")
  11. }
  12. enum ProgressStatus {
  13. cari_data
  14. dihubungi
  15. negosiasi
  16. follow_up
  17. mou
  18. onboarded
  19. tidak_berminat
  20. }
  21. model RevokedToken {
  22. id String @id @default(uuid())
  23. token String
  24. revoked_at DateTime @default(now())
  25. @@map("revoked_tokens")
  26. }
  27. model ActivityLog {
  28. id String @id @default(uuid())
  29. user_id String
  30. username String
  31. action String
  32. createdAt DateTime @default(now())
  33. updatedAt DateTime @updatedAt
  34. deletedAt DateTime?
  35. @@map("activity_logs")
  36. }
  37. model User {
  38. id String @id @default(uuid())
  39. username String
  40. email String
  41. password String
  42. firstname String
  43. lastname String
  44. role String
  45. createdAt DateTime @default(now())
  46. updatedAt DateTime @updatedAt
  47. deletedAt DateTime?
  48. hospitals Hospital[]
  49. user_areas UserArea[]
  50. @@map("users")
  51. }
  52. model Province {
  53. id String @id @default(uuid())
  54. name String @unique
  55. cities City[]
  56. hospitals Hospital[]
  57. user_areas UserArea[]
  58. createdAt DateTime @default(now())
  59. updatedAt DateTime @updatedAt
  60. deletedAt DateTime?
  61. @@map("provinces")
  62. }
  63. model City {
  64. id String @id @default(uuid())
  65. name String
  66. province_id String
  67. province Province @relation(fields: [province_id], references: [id])
  68. hospitals Hospital[]
  69. createdAt DateTime @default(now())
  70. updatedAt DateTime @updatedAt
  71. deletedAt DateTime?
  72. @@unique([name, province_id], name: "name_province_id")
  73. @@map("cities")
  74. }
  75. model Hospital {
  76. id String @id @default(uuid())
  77. name String
  78. hospital_code String?
  79. type String?
  80. ownership String?
  81. province_id String
  82. city_id String
  83. address String?
  84. simrs_type String?
  85. contact String?
  86. image String?
  87. progress_status ProgressStatus
  88. note String?
  89. created_by String
  90. createdAt DateTime @default(now())
  91. updatedAt DateTime @updatedAt
  92. deletedAt DateTime?
  93. province Province @relation(fields: [province_id], references: [id])
  94. city City @relation(fields: [city_id], references: [id])
  95. user User @relation(fields: [created_by], references: [id])
  96. @@map("hospitals")
  97. }
  98. model UserArea {
  99. id String @id @default(uuid())
  100. user_id String
  101. province_id String
  102. user User @relation(fields: [user_id], references: [id])
  103. province Province @relation(fields: [province_id], references: [id])
  104. createdAt DateTime @default(now())
  105. updatedAt DateTime @updatedAt
  106. deletedAt DateTime?
  107. @@map("user_areas")
  108. }