corrad-af-2024/prisma/schema.prisma
2024-09-04 11:43:40 +08:00

247 lines
12 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model audit {
auditID Int @id @default(autoincrement())
auditIP String? @db.VarChar(255)
auditURL String? @db.VarChar(255)
auditURLMethod String? @db.VarChar(255)
auditURLPayload String? @db.VarChar(255)
auditCreatedDate DateTime? @db.DateTime(0)
}
model document {
documentID Int @id @default(autoincrement())
userID Int?
documentName String? @db.VarChar(255)
documentURL String? @db.VarChar(255)
documentType String? @db.VarChar(255)
documentExtension String? @db.VarChar(255)
imageMIMEType String? @db.VarChar(255)
documentSize Int?
documentStatus String? @default("ACTIVE") @db.VarChar(255)
documentCreatedDate String? @db.VarChar(255)
documentModifiedDate String? @db.VarChar(255)
user user? @relation(fields: [userID], references: [userID], onDelete: NoAction, onUpdate: NoAction, map: "document_ibfk_1")
permohonan_report permohonan_report[]
permohonan_report_doc_support permohonan_report_doc_support[]
@@index([userID], map: "userID")
}
model lookup {
lookupID Int @id @default(autoincrement())
lookupOrder Int?
lookupTitle String? @db.VarChar(255)
lookupRefCode String? @db.VarChar(255)
lookupValue String? @db.VarChar(255)
lookupType String? @db.VarChar(255)
lookupStatus String? @db.VarChar(255)
lookupCreatedDate DateTime? @db.DateTime(0)
lookupModifiedDate DateTime? @db.DateTime(0)
permohonan permohonan[]
permohonan_penolakan permohonan_penolakan[]
}
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
model notifikasi {
notifikasiID Int @id @default(autoincrement())
penghantarID Int
penerimaID Int
body String @db.Text
status Int
}
model pemohon {
id Int @id @default(autoincrement())
userID Int
pangkat_pemohon String @db.VarChar(255)
no_pegawai_pemohon String @db.VarChar(255)
user user @relation(fields: [userID], references: [userID], onDelete: NoAction, onUpdate: NoAction, map: "pemohon_ibfk_1")
permohonan permohonan[]
@@index([userID], map: "userID")
}
model penghantar {
id Int @id @default(autoincrement())
nama_penghantar String @db.VarChar(255)
pangkat_penghantar String @db.VarChar(255)
no_pegawai_penghantar String @db.VarChar(255)
permohonan permohonan[]
}
model permohonan {
id Int @id @default(autoincrement())
no_siri String @unique(map: "Permohonan_no_siri_key") @db.VarChar(255)
pemohonID Int?
penghantar_sama_dengan_pemohon Int?
penghantarID Int?
status_permohonan String @db.VarChar(255)
ringkasan_kenyataan_kes String? @db.Text
bilangan String? @db.VarChar(255)
jenis_barang Int?
tanda_barang String? @db.VarChar(255)
keadaan_barang String? @db.VarChar(255)
kuantiti_barang Int?
jenis_barang_details String? @db.Text
no_laporan_polis String? @db.VarChar(255)
tarikh_temujanji DateTime? @db.DateTime(0)
create_at DateTime @db.DateTime(0)
penghantar penghantar? @relation(fields: [penghantarID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_ibfk_1")
pemohon pemohon? @relation(fields: [pemohonID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_ibfk_2")
lookup lookup? @relation(fields: [jenis_barang], references: [lookupID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_ibfk_3")
permohonan_assign_forensik permohonan_assign_forensik[]
permohonan_penerimaan permohonan_penerimaan[]
permohonan_report permohonan_report[]
permohonan_report_doc_support permohonan_report_doc_support[]
permohonan_semakan permohonan_semakan[]
@@index([pemohonID], map: "idx_pemohon")
@@index([penghantarID], map: "idx_penghantar")
@@index([jenis_barang], map: "jenis_barang")
}
model permohonan_assign_forensik {
assignID Int @id @default(autoincrement())
permohonanID Int
pegawai_forensikID Int
permohonan permohonan @relation(fields: [permohonanID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_assign_forensik_ibfk_2")
user user @relation(fields: [pegawai_forensikID], references: [userID], onUpdate: Restrict, map: "permohonan_assign_forensik_ibfk_3")
@@index([pegawai_forensikID], map: "pegawai_forensikID")
@@index([permohonanID], map: "permohonanID")
}
model permohonan_penerimaan {
penerimaanID Int @id @default(autoincrement())
permohonanID Int
peralatan_keadaan_baik Int
pegawai_berkelayakan Int
kaedah_dpt_dilakukan Int
subkontrak_diperlukan Int
tugasan_diterima Int
ulasan_pegawai Int?
create_at DateTime @db.DateTime(0)
diterima_oleh Int
permohonan permohonan @relation(fields: [permohonanID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_penerimaan_ibfk_1")
user user @relation(fields: [diterima_oleh], references: [userID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_penerimaan_ibfk_2")
@@index([diterima_oleh], map: "diterima_oleh")
@@index([permohonanID], map: "permohonanID")
}
model permohonan_penolakan {
penolakanID Int @id @default(autoincrement())
permohonanID Int
sebab_penolakan Int
lain_sebab String? @db.VarChar(255)
create_at DateTime? @db.DateTime(0)
ditolak_oleh Int?
lookup lookup @relation(fields: [sebab_penolakan], references: [lookupID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_penolakan_ibfk_1")
user user? @relation(fields: [ditolak_oleh], references: [userID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_penolakan_ibfk_2")
@@index([ditolak_oleh], map: "ditolak_oleh")
@@index([sebab_penolakan], map: "sebab_penolakan")
}
/// This model or at least one of its fields has comments in the database, and requires an additional setup for migrations: Read more: https://pris.ly/d/database-comments
model permohonan_report {
reportID Int @id @default(autoincrement())
permohonanID Int
peralatan String @db.VarChar(255)
langkah_langkah Int
gambarID Int?
ulasan String? @db.Text
dapatan String @db.VarChar(255)
create_at DateTime? @db.DateTime(0)
create_by Int
permohonan permohonan @relation(fields: [permohonanID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_report_ibfk_1")
document document? @relation(fields: [gambarID], references: [documentID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_report_ibfk_2")
@@index([gambarID], map: "gambarID")
@@index([permohonanID], map: "permohonanID")
}
model permohonan_report_doc_support {
report_attachID Int @id @default(autoincrement())
permohonanID Int
documentID Int
document document @relation(fields: [documentID], references: [documentID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_report_doc_support_ibfk_1")
permohonan permohonan @relation(fields: [permohonanID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_report_doc_support_ibfk_2")
@@index([documentID], map: "documentID")
@@index([permohonanID], map: "permohonanID")
}
model permohonan_semakan {
semakanID Int @id @default(autoincrement())
permohonanID Int
peralatan_keadaan_baik Int
pegawai_berkelayakan Int
kaedah_dpt_dilakukan Int
subkontrak_diperlukan Int
tugasan_diterima Int
ulasan_pegawai String? @db.Text
create_at Int
disemak_oleh Int
permohonan permohonan @relation(fields: [permohonanID], references: [id], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_semakan_ibfk_1")
user user @relation(fields: [disemak_oleh], references: [userID], onDelete: NoAction, onUpdate: NoAction, map: "permohonan_semakan_ibfk_2")
@@index([disemak_oleh], map: "disemak_oleh")
@@index([permohonanID], map: "permohonanID")
}
model role {
roleID Int @id @default(autoincrement())
roleName String? @db.VarChar(255)
roleDescription String? @db.VarChar(255)
roleStatus String? @db.VarChar(255)
roleCreatedDate DateTime? @db.DateTime(0)
roleModifiedDate DateTime? @db.DateTime(0)
userrole userrole[]
}
model status {
statusID Int @id @default(autoincrement())
status_name String @db.VarChar(255)
}
model user {
userID Int @id @default(autoincrement())
userSecretKey String? @db.VarChar(255)
userUsername String? @db.VarChar(255)
userPassword String? @db.VarChar(255)
userFullName String? @db.VarChar(255)
userEmail String? @db.VarChar(255)
userPhone String? @db.VarChar(255)
userStatus String? @db.VarChar(255)
userCreatedDate DateTime? @db.DateTime(0)
userModifiedDate DateTime? @db.DateTime(0)
document document[]
pemohon pemohon[]
permohonan_assign_forensik permohonan_assign_forensik[]
permohonan_penerimaan permohonan_penerimaan[]
permohonan_penolakan permohonan_penolakan[]
permohonan_semakan permohonan_semakan[]
userrole userrole[]
}
model userrole {
userRoleID Int @id @default(autoincrement())
userRoleUserID Int @default(0)
userRoleRoleID Int @default(0)
userRoleCreatedDate DateTime @db.DateTime(0)
role role @relation(fields: [userRoleRoleID], references: [roleID], onDelete: NoAction, onUpdate: NoAction, map: "FK_userrole_role")
user user @relation(fields: [userRoleUserID], references: [userID], onDelete: NoAction, onUpdate: NoAction, map: "FK_userrole_user")
@@index([userRoleRoleID], map: "FK_userrole_role")
@@index([userRoleUserID], map: "FK_userrole_user")
}