Files
jenna-mcp/prisma/schema.prisma
amaliadwiy ad7b40523c upd: dashboard admin
Deskripsi:
- tambah role user
- api edit tambah dan delete role user

NO Issues
2025-11-24 17:40:27 +08:00

211 lines
7.2 KiB
Plaintext

generator client {
provider = "prisma-client-js"
output = "../generated/prisma"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Role {
id String @id @default(cuid())
name String
permissions Json?
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
User User[]
}
model User {
id String @id @default(cuid())
Role Role? @relation(fields: [roleId], references: [id])
roleId String?
name String?
email String? @unique
password String?
phone String? @unique
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
ApiKey ApiKey[]
HistoryPengaduan HistoryPengaduan[]
HistoryPelayanan HistoryPelayanan[]
}
model ApiKey {
id String @id @default(cuid())
User User? @relation(fields: [userId], references: [id])
userId String
name String
key String @unique @db.Text
description String?
expiredAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Credential {
id String @id @default(cuid())
name String?
value String?
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model CategoryPengaduan {
id String @id @default(cuid())
name String
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Pengaduan Pengaduan[]
}
model Pengaduan {
id String @id @default(cuid())
CategoryPengaduan CategoryPengaduan @relation(fields: [idCategory], references: [id])
idCategory String
Warga Warga @relation(fields: [idWarga], references: [id])
idWarga String
noPengaduan String
title String?
detail String?
location String?
image String?
keterangan String?
status StatusPengaduan @default(antrian)
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
HistoryPengaduan HistoryPengaduan[]
}
model HistoryPengaduan {
id String @id @default(cuid())
Pengaduan Pengaduan @relation(fields: [idPengaduan], references: [id])
idPengaduan String
User User? @relation(fields: [idUser], references: [id])
idUser String?
deskripsi String?
status StatusPengaduan @default(antrian)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Warga {
id String @id @default(cuid())
name String?
phone String? @unique
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
Pengaduan Pengaduan[]
PelayananAjuan PelayananAjuan[]
SuratPelayanan SuratPelayanan[]
}
model CategoryPelayanan {
id String @id @default(cuid())
name String
syaratDokumen Json[]
dataText String[]
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
PelayananAjuan PelayananAjuan[]
SyaratDokumenPelayanan SyaratDokumenPelayanan[]
DataTextPelayanan DataTextPelayanan[]
SuratPelayanan SuratPelayanan[]
}
model PelayananAjuan {
id String @id @default(cuid())
Warga Warga @relation(fields: [idWarga], references: [id])
idWarga String
CategoryPelayanan CategoryPelayanan @relation(fields: [idCategory], references: [id])
idCategory String
noPengajuan String
status StatusPengaduan @default(antrian)
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
HistoryPelayanan HistoryPelayanan[]
SyaratDokumenPelayanan SyaratDokumenPelayanan[]
DataTextPelayanan DataTextPelayanan[]
SuratPelayanan SuratPelayanan[]
}
model HistoryPelayanan {
id String @id @default(cuid())
PelayananAjuan PelayananAjuan @relation(fields: [idPengajuanLayanan], references: [id])
idPengajuanLayanan String
User User? @relation(fields: [idUser], references: [id])
idUser String?
deskripsi String?
keteranganAlasan String?
status StatusPengaduan @default(antrian)
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model SyaratDokumenPelayanan {
id String @id @default(cuid())
PelayananAjuan PelayananAjuan @relation(fields: [idPengajuanLayanan], references: [id])
idPengajuanLayanan String
CategoryPelayanan CategoryPelayanan @relation(fields: [idCategory], references: [id])
idCategory String
jenis String
value String
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model DataTextPelayanan {
id String @id @default(cuid())
PelayananAjuan PelayananAjuan @relation(fields: [idPengajuanLayanan], references: [id])
idPengajuanLayanan String
CategoryPelayanan CategoryPelayanan @relation(fields: [idCategory], references: [id])
idCategory String
jenis String
value String
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model SuratPelayanan {
id String @id @default(cuid())
PelayananAjuan PelayananAjuan @relation(fields: [idPengajuanLayanan], references: [id])
idPengajuanLayanan String
CategoryPelayanan CategoryPelayanan @relation(fields: [idCategory], references: [id])
idCategory String
Warga Warga @relation(fields: [idWarga], references: [id])
idWarga String
noSurat String
dateExpired DateTime? @db.Date
status Int @default(0)
isActive Boolean @default(true)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Configuration {
id String @id @default(cuid())
name String
value String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
enum StatusPengaduan {
diterima
antrian
dikerjakan
ditolak
selesai
}