28
coba.sh
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
curl -X POST
|
||||||
|
http://localhost:3000/api/investasi/midtrans/ \
|
||||||
|
-H 'User-Agent: Veritrans' \
|
||||||
|
-H 'Accept: application/json'\
|
||||||
|
-H 'Content-Type: application/json' \
|
||||||
|
-d '{
|
||||||
|
"transaction_time": "2020-01-09 18:27:19",
|
||||||
|
"transaction_status": "capture",
|
||||||
|
"transaction_id":
|
||||||
|
"57d5293c-e65f-4a29-95e4-5959c3fa335b",
|
||||||
|
"status_message": "midtrans payment notification",
|
||||||
|
"status_code": "200",
|
||||||
|
"signature_key":
|
||||||
|
"16d6f84b2fb0468e2a9cf99a8ac4e5d803d42180347aaa70cb2a7abb13b5c6130458ca9c71956a962c0827637cd3bc7d40b21a8ae9fab12c7c3efe351b18d00a",
|
||||||
|
"payment_type": "credit_card",
|
||||||
|
"order_id": "Postman-1578568851",
|
||||||
|
"merchant_id": "G141532850",
|
||||||
|
"masked_card": "48111111-1114",
|
||||||
|
"gross_amount": "10000.00",
|
||||||
|
"fraud_status": "accept",
|
||||||
|
"eci": "05",
|
||||||
|
"currency": "IDR",
|
||||||
|
"channel_response_message": "Approved",
|
||||||
|
"channel_response_code": "00",
|
||||||
|
"card_type": "credit",
|
||||||
|
"bank": "bni",
|
||||||
|
"approval_code": "1578569243927"
|
||||||
|
}'
|
||||||
257
prisma/migrations/20231219030550_transaksi_sukses/migration.sql
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Katalog" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"namaBisnis" TEXT NOT NULL,
|
||||||
|
"alamatKantor" TEXT NOT NULL,
|
||||||
|
"tlpn" TEXT NOT NULL,
|
||||||
|
"deskripsi" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"profileId" TEXT,
|
||||||
|
"masterBidangBisnisId" TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Katalog_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterBidangBisnis" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterBidangBisnis_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Investasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"targetDana" TEXT NOT NULL,
|
||||||
|
"hargaLembar" TEXT NOT NULL,
|
||||||
|
"totalLembar" TEXT NOT NULL,
|
||||||
|
"roi" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"countDown" TIMESTAMP(3),
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"authorId" TEXT,
|
||||||
|
"catatan" TEXT,
|
||||||
|
"sisaLembar" TEXT NOT NULL,
|
||||||
|
"lembarTerbeli" TEXT DEFAULT '0',
|
||||||
|
"progress" TEXT DEFAULT '0',
|
||||||
|
"masterPeriodeDevidenId" TEXT,
|
||||||
|
"masterPembagianDevidenId" TEXT,
|
||||||
|
"masterPencarianInvestorId" TEXT,
|
||||||
|
"imagesId" TEXT,
|
||||||
|
"masterStatusInvestasiId" TEXT DEFAULT '2',
|
||||||
|
"masterProgresInvestasiId" TEXT,
|
||||||
|
|
||||||
|
CONSTRAINT "Investasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterPencarianInvestor" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterPencarianInvestor_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterPeriodeDeviden" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterPeriodeDeviden_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterPembagianDeviden" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterPembagianDeviden_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterStatusInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"color" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterStatusInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ProspektusInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"url" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"investasiId" TEXT,
|
||||||
|
|
||||||
|
CONSTRAINT "ProspektusInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "DokumenInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"url" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"investasiId" TEXT,
|
||||||
|
|
||||||
|
CONSTRAINT "DokumenInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "BeritaInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"deskripsi" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"imagesId" TEXT,
|
||||||
|
"investasiId" TEXT NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "BeritaInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterBank" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"norek" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterBank_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterProgresInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterProgresInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "TransaksiInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"investasiId" TEXT NOT NULL,
|
||||||
|
"authorId" TEXT NOT NULL,
|
||||||
|
"namaBank" TEXT,
|
||||||
|
"nomorRekening" TEXT,
|
||||||
|
"token" TEXT,
|
||||||
|
"redirect_url" TEXT,
|
||||||
|
"quantity" TEXT NOT NULL,
|
||||||
|
"price" TEXT NOT NULL,
|
||||||
|
"gross_amount" TEXT NOT NULL,
|
||||||
|
"merchant_name" TEXT NOT NULL,
|
||||||
|
"status_code" TEXT,
|
||||||
|
"status_message" TEXT,
|
||||||
|
"transaction_id" TEXT,
|
||||||
|
"order_id" TEXT,
|
||||||
|
"payment_type" TEXT,
|
||||||
|
"transaction_time" TEXT,
|
||||||
|
"transaction_status" TEXT,
|
||||||
|
"fraud_status" TEXT,
|
||||||
|
"pdf_url" TEXT,
|
||||||
|
"finish_redirect_url" TEXT,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"masterStatusTransaksiInvestasiId" TEXT DEFAULT '1',
|
||||||
|
|
||||||
|
CONSTRAINT "TransaksiInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MasterStatusTransaksiInvestasi" (
|
||||||
|
"id" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"color" TEXT,
|
||||||
|
"active" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "MasterStatusTransaksiInvestasi_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Investasi_imagesId_key" ON "Investasi"("imagesId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ProspektusInvestasi_investasiId_key" ON "ProspektusInvestasi"("investasiId");
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Katalog" ADD CONSTRAINT "Katalog_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "Profile"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Katalog" ADD CONSTRAINT "Katalog_masterBidangBisnisId_fkey" FOREIGN KEY ("masterBidangBisnisId") REFERENCES "MasterBidangBisnis"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_masterPeriodeDevidenId_fkey" FOREIGN KEY ("masterPeriodeDevidenId") REFERENCES "MasterPeriodeDeviden"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_masterPembagianDevidenId_fkey" FOREIGN KEY ("masterPembagianDevidenId") REFERENCES "MasterPembagianDeviden"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_masterPencarianInvestorId_fkey" FOREIGN KEY ("masterPencarianInvestorId") REFERENCES "MasterPencarianInvestor"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_masterStatusInvestasiId_fkey" FOREIGN KEY ("masterStatusInvestasiId") REFERENCES "MasterStatusInvestasi"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Investasi" ADD CONSTRAINT "Investasi_masterProgresInvestasiId_fkey" FOREIGN KEY ("masterProgresInvestasiId") REFERENCES "MasterProgresInvestasi"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "ProspektusInvestasi" ADD CONSTRAINT "ProspektusInvestasi_investasiId_fkey" FOREIGN KEY ("investasiId") REFERENCES "Investasi"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "DokumenInvestasi" ADD CONSTRAINT "DokumenInvestasi_investasiId_fkey" FOREIGN KEY ("investasiId") REFERENCES "Investasi"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "BeritaInvestasi" ADD CONSTRAINT "BeritaInvestasi_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "BeritaInvestasi" ADD CONSTRAINT "BeritaInvestasi_investasiId_fkey" FOREIGN KEY ("investasiId") REFERENCES "Investasi"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "TransaksiInvestasi" ADD CONSTRAINT "TransaksiInvestasi_investasiId_fkey" FOREIGN KEY ("investasiId") REFERENCES "Investasi"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "TransaksiInvestasi" ADD CONSTRAINT "TransaksiInvestasi_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "TransaksiInvestasi" ADD CONSTRAINT "TransaksiInvestasi_masterStatusTransaksiInvestasiId_fkey" FOREIGN KEY ("masterStatusTransaksiInvestasiId") REFERENCES "MasterStatusTransaksiInvestasi"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
@@ -22,7 +22,6 @@ model User {
|
|||||||
UserSession UserSession?
|
UserSession UserSession?
|
||||||
Profile Profile?
|
Profile Profile?
|
||||||
Investasi Investasi[]
|
Investasi Investasi[]
|
||||||
// Investor Investor[]
|
|
||||||
TransaksiInvestasi TransaksiInvestasi[]
|
TransaksiInvestasi TransaksiInvestasi[]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,19 +123,17 @@ model Investasi {
|
|||||||
masterPembagianDevidenId String?
|
masterPembagianDevidenId String?
|
||||||
MasterPencarianInvestor MasterPencarianInvestor? @relation(fields: [masterPencarianInvestorId], references: [id])
|
MasterPencarianInvestor MasterPencarianInvestor? @relation(fields: [masterPencarianInvestorId], references: [id])
|
||||||
masterPencarianInvestorId String?
|
masterPencarianInvestorId String?
|
||||||
|
|
||||||
ImageInvestasi Images? @relation(fields: [imagesId], references: [id])
|
ImageInvestasi Images? @relation(fields: [imagesId], references: [id])
|
||||||
imagesId String? @unique
|
imagesId String? @unique
|
||||||
|
|
||||||
ProspektusInvestasi ProspektusInvestasi?
|
|
||||||
|
|
||||||
MasterStatusInvestasi MasterStatusInvestasi? @relation(fields: [masterStatusInvestasiId], references: [id])
|
MasterStatusInvestasi MasterStatusInvestasi? @relation(fields: [masterStatusInvestasiId], references: [id])
|
||||||
masterStatusInvestasiId String? @default("2")
|
masterStatusInvestasiId String? @default("2")
|
||||||
|
ProspektusInvestasi ProspektusInvestasi?
|
||||||
BeritaInvestasi BeritaInvestasi[]
|
BeritaInvestasi BeritaInvestasi[]
|
||||||
DokumenInvestasi DokumenInvestasi[]
|
DokumenInvestasi DokumenInvestasi[]
|
||||||
|
TransaksiInvestasi TransaksiInvestasi[]
|
||||||
// Investor Investor[]
|
MasterProgresInvestasi MasterProgresInvestasi? @relation(fields: [masterProgresInvestasiId], references: [id])
|
||||||
TransaksiInvestasi TransaksiInvestasi[]
|
masterProgresInvestasiId String?
|
||||||
}
|
}
|
||||||
|
|
||||||
model MasterPencarianInvestor {
|
model MasterPencarianInvestor {
|
||||||
@@ -219,6 +216,15 @@ model MasterBank {
|
|||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
}
|
}
|
||||||
|
|
||||||
|
model MasterProgresInvestasi {
|
||||||
|
id String @id @default(cuid())
|
||||||
|
name String
|
||||||
|
active Boolean @default(true)
|
||||||
|
createdAt DateTime @default(now())
|
||||||
|
updatedAt DateTime @updatedAt
|
||||||
|
Investasi Investasi[]
|
||||||
|
}
|
||||||
|
|
||||||
model TransaksiInvestasi {
|
model TransaksiInvestasi {
|
||||||
id String @id @default(cuid())
|
id String @id @default(cuid())
|
||||||
Investasi Investasi @relation(fields: [investasiId], references: [id])
|
Investasi Investasi @relation(fields: [investasiId], references: [id])
|
||||||
@@ -262,16 +268,3 @@ model MasterStatusTransaksiInvestasi {
|
|||||||
TransaksiInvestasi TransaksiInvestasi[]
|
TransaksiInvestasi TransaksiInvestasi[]
|
||||||
}
|
}
|
||||||
|
|
||||||
// model Investor {
|
|
||||||
// id String @id @default(cuid())
|
|
||||||
// totalBeli String
|
|
||||||
// jumlahLembar String
|
|
||||||
// active Boolean @default(true)
|
|
||||||
// createdAt DateTime @default(now())
|
|
||||||
// updatedAt DateTime @updatedAt
|
|
||||||
|
|
||||||
// Investasi Investasi? @relation(fields: [investasiId], references: [id])
|
|
||||||
// investasiId String?
|
|
||||||
// User User? @relation(fields: [userId], references: [id])
|
|
||||||
// userId String?
|
|
||||||
// }
|
|
||||||
|
|||||||
BIN
public/aset/donasi/bukti.jpg
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
public/file/06714b9b-5ed3-44df-b512-36110c5b91dd.pdf
Normal file
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 268 KiB |
BIN
public/file/c8904500-c9fd-40e4-a500-7ccb9fb48eb5.pdf
Normal file
|
Before Width: | Height: | Size: 156 KiB |
BIN
public/file/e1366e3c-26c3-4939-8503-0ac3e2e68f03.pdf
Normal file
|
Before Width: | Height: | Size: 816 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 816 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 94 KiB |
BIN
public/investasi/4297c21c-529d-4f71-bb52-b2fcb60a2bac.png
Normal file
|
After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 816 KiB |
|
Before Width: | Height: | Size: 217 KiB After Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 156 KiB |
BIN
public/investasi/ddf1e9c2-92f0-4885-b467-01cc35d1bf46.png
Normal file
|
After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 217 KiB |
|
Before Width: | Height: | Size: 268 KiB After Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 94 KiB |
BIN
public/investasi/f3e7698b-44de-4dc5-9238-65196abc4fe7.png
Normal file
|
After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 156 KiB |
@@ -20,7 +20,7 @@ export async function POST(req: Request) {
|
|||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
await fetch(
|
await fetch(
|
||||||
`https://wa.wibudev.com/code?nom=${body.nomor}&text=${body.otp}`
|
`https://wa.wibudev.com/code?nom=${body.nomor}&text=Masukan Kode OTP:${body.otp}`
|
||||||
);
|
);
|
||||||
return NextResponse.json({
|
return NextResponse.json({
|
||||||
body,
|
body,
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ export async function GET(
|
|||||||
req: NextRequest,
|
req: NextRequest,
|
||||||
{ params }: { params: { id: string } }
|
{ params }: { params: { id: string } }
|
||||||
) {
|
) {
|
||||||
|
|
||||||
const data = await prisma.images.findUnique({
|
const data = await prisma.images.findUnique({
|
||||||
where: {
|
where: {
|
||||||
id: params.id,
|
id: params.id,
|
||||||
|
|||||||
9
src/app/api/investasi/midtrans/[id]/route.ts
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { NextRequest, NextResponse } from "next/server";
|
||||||
|
|
||||||
|
export async function POST(req: NextRequest, {params}: {params: {id: any}}) {
|
||||||
|
|
||||||
|
const body = await req.json()
|
||||||
|
console.log(body)
|
||||||
|
|
||||||
|
return NextResponse.json({ status: 200, message: "OK", data: body });
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ export async function GET(
|
|||||||
req: NextRequest,
|
req: NextRequest,
|
||||||
{ params }: { params: { id: string } }
|
{ params }: { params: { id: string } }
|
||||||
) {
|
) {
|
||||||
console.log(params.id)
|
// console.log(params.id)
|
||||||
const data = await prisma.prospektusInvestasi.findUnique({
|
const data = await prisma.prospektusInvestasi.findUnique({
|
||||||
where: { id: params.id },
|
where: { id: params.id },
|
||||||
select: {
|
select: {
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import pembagianDeviden from "./../../../bin/seeder/investasi/pembagian_deviden.
|
|||||||
import statusInvestasi from "./../../../bin/seeder/investasi/status_investasi.json";
|
import statusInvestasi from "./../../../bin/seeder/investasi/status_investasi.json";
|
||||||
import namaBank from "./../../../bin/seeder/investasi/nama_bank.json";
|
import namaBank from "./../../../bin/seeder/investasi/nama_bank.json";
|
||||||
import statusTransaksiInvestasi from "./../../../bin/seeder/investasi/status_transaksi_investasi.json";
|
import statusTransaksiInvestasi from "./../../../bin/seeder/investasi/status_transaksi_investasi.json";
|
||||||
|
import jenisProgres from "../../../bin/seeder/investasi/master_progres.json";
|
||||||
|
import userSeeder from "../../../bin/seeder/user_seeder.json";
|
||||||
|
|
||||||
export async function GET(req: Request) {
|
export async function GET(req: Request) {
|
||||||
const dev = new URL(req.url).searchParams.get("dev");
|
const dev = new URL(req.url).searchParams.get("dev");
|
||||||
@@ -28,6 +30,24 @@ export async function GET(req: Request) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (let i of userSeeder) {
|
||||||
|
await prisma.user.upsert({
|
||||||
|
where: {
|
||||||
|
nomor: i.nomor,
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
nomor: i.nomor,
|
||||||
|
username: i.name,
|
||||||
|
masterUserRoleId: i.masterUserRoleId,
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
nomor: i.nomor,
|
||||||
|
username: i.name,
|
||||||
|
masterUserRoleId: i.masterUserRoleId,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
for (let i of bidangBisnis) {
|
for (let i of bidangBisnis) {
|
||||||
await prisma.masterBidangBisnis.upsert({
|
await prisma.masterBidangBisnis.upsert({
|
||||||
where: {
|
where: {
|
||||||
@@ -146,6 +166,21 @@ export async function GET(req: Request) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (let i of jenisProgres) {
|
||||||
|
await prisma.masterProgresInvestasi.upsert({
|
||||||
|
where: {
|
||||||
|
id: i.id,
|
||||||
|
},
|
||||||
|
create: {
|
||||||
|
id: i.id,
|
||||||
|
name: i.name,
|
||||||
|
},
|
||||||
|
update: {
|
||||||
|
name: i.name,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return NextResponse.json({ success: true });
|
return NextResponse.json({ success: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
10
src/app/dev/admin/donasi/main/page.tsx
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import { AdminDonasi_Main } from "@/app_modules/admin/donasi";
|
||||||
|
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<AdminDonasi_Main />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/admin/donasi/table/publish/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { AdminDonasi_TablePublish } from "@/app_modules/admin/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<AdminDonasi_TablePublish/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
8
src/app/dev/donasi/cerita_penggalang/layout.tsx
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { LayoutCeritaPenggalangDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({children}: {children: React.ReactNode}) {
|
||||||
|
return<>
|
||||||
|
<LayoutCeritaPenggalangDonasi>{children}</LayoutCeritaPenggalangDonasi>
|
||||||
|
</>
|
||||||
|
}
|
||||||
9
src/app/dev/donasi/cerita_penggalang/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { CeritaPenggalangDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<CeritaPenggalangDonasi />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/create/cerita_penggalang/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { CreateCeritaPenggalangDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<CreateCeritaPenggalangDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/create/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutCreateDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutCreateDonasi>{children}</LayoutCreateDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
5
src/app/dev/donasi/create/page.tsx
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { CreateDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return <CreateDonasi/>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/detail/detail_donasi_saya/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDetailDonasiSaya } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDetailDonasiSaya>{children}</LayoutDetailDonasiSaya>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/detail/detail_donasi_saya/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { DetailDonasiSaya } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<DetailDonasiSaya/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/detail/detail_draft/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDetailDraftDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDetailDraftDonasi>{children}</LayoutDetailDraftDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/detail/detail_draft/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { DetailDraftDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Paeg() {
|
||||||
|
return<>
|
||||||
|
<DetailDraftDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/detail/detail_kabar/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDetailKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDetailKabarDonasi>{children}</LayoutDetailKabarDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
5
src/app/dev/donasi/detail/detail_kabar/page.tsx
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { DetailKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return <DetailKabarDonasi/>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/detail/detail_main/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDetailMainDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDetailMainDonasi>{children}</LayoutDetailMainDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
9
src/app/dev/donasi/detail/detail_main/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { DetailMainDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<DetailMainDonasi />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/detail/detail_publish/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDetailPublishDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDetailPublishDonasi>{children}</LayoutDetailPublishDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/detail/detail_publish/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { DetailPublishDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<DetailPublishDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
8
src/app/dev/donasi/detail/detail_reject/layout.tsx
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { LayoutDetailRejectDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({children}: {children: React.ReactNode}) {
|
||||||
|
return<>
|
||||||
|
<LayoutDetailRejectDonasi>{children}</LayoutDetailRejectDonasi>
|
||||||
|
</>
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/detail/detail_reject/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { DetailRejectDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<DetailRejectDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/detail/detail_review/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDetailReviewDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDetailReviewDonasi>{children}</LayoutDetailReviewDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/detail/detail_review/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { DetailReviewDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<DetailReviewDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/donatur/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutDonaturDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutDonaturDonasi>{children}</LayoutDonaturDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
8
src/app/dev/donasi/donatur/page.tsx
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import { DonaturDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<DonaturDonasi/>
|
||||||
|
|
||||||
|
</>
|
||||||
|
}
|
||||||
16
src/app/dev/donasi/edit/edit_cerita/layout.tsx
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { LayoutEditCeritaPenggalangDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutEditCeritaPenggalangDonasi>
|
||||||
|
{children}
|
||||||
|
</LayoutEditCeritaPenggalangDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/edit/edit_cerita/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { EditCeritaPenggalangDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<EditCeritaPenggalangDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/edit/edit_donasi/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutEditDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutEditDonasi>{children}</LayoutEditDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
9
src/app/dev/donasi/edit/edit_donasi/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { EditDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<EditDonasi />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/edit/update_kabar/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutUpdateKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutUpdateKabarDonasi>{children}</LayoutUpdateKabarDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
7
src/app/dev/donasi/edit/update_kabar/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import { UpdateKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return<>
|
||||||
|
<UpdateKabarDonasi/>
|
||||||
|
</>
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/kabar/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layout({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutKabarDonasi>{children}</LayoutKabarDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
9
src/app/dev/donasi/kabar/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { KabarDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<KabarDonasi />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
14
src/app/dev/donasi/list_kabar/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
import { LayoutListKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default async function Layput({
|
||||||
|
children,
|
||||||
|
}: {
|
||||||
|
children: React.ReactNode;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<LayoutListKabarDonasi>{children}</LayoutListKabarDonasi>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
9
src/app/dev/donasi/list_kabar/page.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { ListKabarDonasi } from "@/app_modules/donasi";
|
||||||
|
|
||||||
|
export default async function Page() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<ListKabarDonasi />
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||