feat(ekonomi): unify UMKM and Pasar Desa models, add business profile and product forms
This commit is contained in:
@@ -107,7 +107,6 @@ model FileStorage {
|
||||
MusikDesaAudio MusikDesa[] @relation("MusikAudioFile")
|
||||
MusikDesaCover MusikDesa[] @relation("MusikCoverImage")
|
||||
UmkmImage Umkm[] @relation("UmkmImage")
|
||||
ProdukUmkmImage ProdukUmkm[] @relation("ProdukUmkmImage")
|
||||
}
|
||||
|
||||
//========================================= MENU LANDING PAGE ========================================= //
|
||||
@@ -1428,14 +1427,24 @@ model PasarDesa {
|
||||
image FileStorage? @relation(fields: [imageId], references: [id])
|
||||
imageId String?
|
||||
harga Int
|
||||
rating Float
|
||||
alamatUsaha String
|
||||
kontak String
|
||||
rating Float @default(0)
|
||||
alamatUsaha String? // Opsional, bisa ambil dari UMKM
|
||||
kontak String? // Opsional, bisa ambil dari UMKM
|
||||
deskripsi String?
|
||||
|
||||
// Data Stok & UMKM
|
||||
stok Int @default(0)
|
||||
umkm Umkm? @relation(fields: [umkmId], references: [id])
|
||||
umkmId String?
|
||||
|
||||
// Relasi Penjualan
|
||||
penjualan PenjualanProduk[]
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
deletedAt DateTime @default(now())
|
||||
deletedAt DateTime?
|
||||
isActive Boolean @default(true)
|
||||
|
||||
kategoriProduk KategoriProduk @relation(fields: [kategoriProdukId], references: [id])
|
||||
kategoriProdukId String
|
||||
KategoriToPasar KategoriToPasar[]
|
||||
@@ -1446,7 +1455,7 @@ model KategoriProduk {
|
||||
nama String
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
deletedAt DateTime @default(now())
|
||||
deletedAt DateTime?
|
||||
isActive Boolean @default(true)
|
||||
KategoriToPasar KategoriToPasar[]
|
||||
PasarDesa PasarDesa[]
|
||||
@@ -2429,39 +2438,22 @@ model Umkm {
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
deletedAt DateTime?
|
||||
produk ProdukUmkm[]
|
||||
}
|
||||
|
||||
model ProdukUmkm {
|
||||
id String @id @default(cuid())
|
||||
nama String
|
||||
harga Int
|
||||
stok Int @default(0)
|
||||
deskripsi String?
|
||||
image FileStorage? @relation("ProdukUmkmImage", fields: [imageId], references: [id])
|
||||
imageId String?
|
||||
umkm Umkm @relation(fields: [umkmId], references: [id])
|
||||
umkmId String
|
||||
isActive Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
deletedAt DateTime?
|
||||
penjualan PenjualanProduk[]
|
||||
produk PasarDesa[]
|
||||
}
|
||||
|
||||
model PenjualanProduk {
|
||||
id String @id @default(cuid())
|
||||
produk ProdukUmkm @relation(fields: [produkId], references: [id])
|
||||
id String @id @default(cuid())
|
||||
produk PasarDesa @relation(fields: [produkId], references: [id])
|
||||
produkId String
|
||||
jumlah Int
|
||||
hargaSatuan Int // snapshot harga saat transaksi, agar histori tetap akurat
|
||||
totalNilai Int // hargaSatuan * jumlah
|
||||
tanggal DateTime @default(now())
|
||||
periode String // format "YYYY-MM" untuk grouping bulanan
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
hargaSatuan Int // snapshot harga saat transaksi, agar histori tetap akurat
|
||||
totalNilai Int // hargaSatuan * jumlah
|
||||
tanggal DateTime @default(now())
|
||||
periode String // format "YYYY-MM" untuk grouping bulanan
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
deletedAt DateTime?
|
||||
isActive Boolean @default(true)
|
||||
isActive Boolean @default(true)
|
||||
|
||||
@@index([periode])
|
||||
@@index([produkId])
|
||||
|
||||
Reference in New Issue
Block a user