// This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") } model User { id String @id @default(cuid()) username String @unique nomor String @unique active Boolean @default(true) createdAt DateTime? @default(now()) updatedAt DateTime? @updatedAt MasterUserRole MasterUserRole @relation(fields: [masterUserRoleId], references: [id]) masterUserRoleId String @default("1") UserSession UserSession? Profile Profile? Investasi Investasi[] SahamTerbeli SahamTerbeli[] } model MasterUserRole { id String @id name String active Boolean @default(true) createdAt DateTime? @default(now()) updatedAt DateTime? @updatedAt User User[] } model UserSession { id String @id @default(cuid()) token String expires DateTime active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt User User @relation(fields: [userId], references: [id]) userId String @unique } model Profile { id String @id @default(cuid()) name String email String @unique alamat String jenisKelamin String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt User User? @relation(fields: [userId], references: [id]) userId String? @unique ImageProfile Images? @relation(fields: [imagesId], references: [id]) imagesId String? @unique Katalog Katalog[] } model Images { id String @id @default(cuid()) url String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt Profile Profile? Investasi Investasi? BeritaInvestasi BeritaInvestasi[] } model Katalog { id String @id @default(cuid()) namaBisnis String alamatKantor String tlpn String deskripsi String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt Profile Profile? @relation(fields: [profileId], references: [id]) profileId String? MasterBidangBisnis MasterBidangBisnis @relation(fields: [masterBidangBisnisId], references: [id]) masterBidangBisnisId String } model MasterBidangBisnis { id String @id name String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt Katalog Katalog[] } // -------------------- INVESTASI --------------------- // // Table investasi / saham model Investasi { id String @id @default(cuid()) title String targetDana String hargaLembar String totalLembar String roi String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt author User? @relation(fields: [authorId], references: [id]) authorId String? MasterPeriodeDeviden MasterPeriodeDeviden? @relation(fields: [masterPeriodeDevidenId], references: [id]) masterPeriodeDevidenId String? MasterPembagianDeviden MasterPembagianDeviden? @relation(fields: [masterPembagianDevidenId], references: [id]) masterPembagianDevidenId String? MasterPencarianInvestor MasterPencarianInvestor? @relation(fields: [masterPencarianInvestorId], references: [id]) masterPencarianInvestorId String? ImageInvestasi Images? @relation(fields: [imagesId], references: [id]) imagesId String? @unique ProspektusInvestasi ProspektusInvestasi? SahamTerbeli SahamTerbeli? @relation(fields: [sahamTerbeliId], references: [id]) sahamTerbeliId String? MasterStatusInvestasi MasterStatusInvestasi? @relation(fields: [masterStatusInvestasiId], references: [id]) masterStatusInvestasiId String? @default("1") BeritaInvestasi BeritaInvestasi[] DokumenInvestasi DokumenInvestasi[] } model MasterPencarianInvestor { id String @id @default(cuid()) name String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt investasi Investasi[] } model MasterPeriodeDeviden { id String @id @default(cuid()) name String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt investasi Investasi[] } model MasterPembagianDeviden { id String @id @default(cuid()) name String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt investasi Investasi[] } model MasterStatusInvestasi { id String @id @default(cuid()) name String color String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt investasi Investasi[] } model ProspektusInvestasi { id String @id @default(cuid()) url String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt investasi Investasi @relation(fields: [investasiId], references: [id]) investasiId String @unique } model DokumenInvestasi { id String @id @default(cuid()) title String url String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt investasi Investasi? @relation(fields: [investasiId], references: [id]) investasiId String? } model BeritaInvestasi { id String @id @default(cuid()) title String deskripsi String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @updatedAt ImageBerita Images? @relation(fields: [imagesId], references: [id]) imagesId String? investasi Investasi @relation(fields: [investasiId], references: [id]) investasiId String } model SahamTerbeli { id String @id @default(cuid()) totalBeli String jumlahLembar String active Boolean @default(true) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt author User @relation(fields: [authorId], references: [id]) authorId String investasi Investasi[] }