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?
|
||||
Profile Profile?
|
||||
Investasi Investasi[]
|
||||
// Investor Investor[]
|
||||
TransaksiInvestasi TransaksiInvestasi[]
|
||||
}
|
||||
|
||||
@@ -124,19 +123,17 @@ model Investasi {
|
||||
masterPembagianDevidenId String?
|
||||
MasterPencarianInvestor MasterPencarianInvestor? @relation(fields: [masterPencarianInvestorId], references: [id])
|
||||
masterPencarianInvestorId String?
|
||||
|
||||
ImageInvestasi Images? @relation(fields: [imagesId], references: [id])
|
||||
imagesId String? @unique
|
||||
|
||||
ProspektusInvestasi ProspektusInvestasi?
|
||||
|
||||
MasterStatusInvestasi MasterStatusInvestasi? @relation(fields: [masterStatusInvestasiId], references: [id])
|
||||
masterStatusInvestasiId String? @default("2")
|
||||
ProspektusInvestasi ProspektusInvestasi?
|
||||
BeritaInvestasi BeritaInvestasi[]
|
||||
DokumenInvestasi DokumenInvestasi[]
|
||||
|
||||
// Investor Investor[]
|
||||
TransaksiInvestasi TransaksiInvestasi[]
|
||||
TransaksiInvestasi TransaksiInvestasi[]
|
||||
MasterProgresInvestasi MasterProgresInvestasi? @relation(fields: [masterProgresInvestasiId], references: [id])
|
||||
masterProgresInvestasiId String?
|
||||
}
|
||||
|
||||
model MasterPencarianInvestor {
|
||||
@@ -219,6 +216,15 @@ model MasterBank {
|
||||
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 {
|
||||
id String @id @default(cuid())
|
||||
Investasi Investasi @relation(fields: [investasiId], references: [id])
|
||||
@@ -262,16 +268,3 @@ model MasterStatusTransaksiInvestasi {
|
||||
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 {
|
||||
try {
|
||||
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({
|
||||
body,
|
||||
|
||||
@@ -6,6 +6,7 @@ export async function GET(
|
||||
req: NextRequest,
|
||||
{ params }: { params: { id: string } }
|
||||
) {
|
||||
|
||||
const data = await prisma.images.findUnique({
|
||||
where: {
|
||||
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,
|
||||
{ params }: { params: { id: string } }
|
||||
) {
|
||||
console.log(params.id)
|
||||
// console.log(params.id)
|
||||
const data = await prisma.prospektusInvestasi.findUnique({
|
||||
where: { id: params.id },
|
||||
select: {
|
||||
|
||||
@@ -8,6 +8,8 @@ import pembagianDeviden from "./../../../bin/seeder/investasi/pembagian_deviden.
|
||||
import statusInvestasi from "./../../../bin/seeder/investasi/status_investasi.json";
|
||||
import namaBank from "./../../../bin/seeder/investasi/nama_bank.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) {
|
||||
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) {
|
||||
await prisma.masterBidangBisnis.upsert({
|
||||
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 });
|
||||
}
|
||||
|
||||
|
||||
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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||