Compare commits
3 Commits
v1.5.21
...
mobile-rej
| Author | SHA1 | Date | |
|---|---|---|---|
| 276cf9e970 | |||
| 8ccf722c90 | |||
| 7ad7b3496a |
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
||||||
|
|
||||||
|
## [1.5.22](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.21...v1.5.22) (2025-12-03)
|
||||||
|
|
||||||
## [1.5.21](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.20...v1.5.21) (2025-12-03)
|
## [1.5.21](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.20...v1.5.21) (2025-12-03)
|
||||||
|
|
||||||
## [1.5.20](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.19...v1.5.20) (2025-12-02)
|
## [1.5.20](https://wibugit.wibudev.com/wibu/hipmi/compare/v1.5.19...v1.5.20) (2025-12-02)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "hipmi",
|
"name": "hipmi",
|
||||||
"version": "1.5.21",
|
"version": "1.5.22",
|
||||||
"private": true,
|
"private": true,
|
||||||
"prisma": {
|
"prisma": {
|
||||||
"seed": "bun prisma/seed.ts"
|
"seed": "bun prisma/seed.ts"
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import { NextResponse } from "next/server";
|
|||||||
|
|
||||||
export async function POST(req: Request) {
|
export async function POST(req: Request) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
const codeOtp = randomOTP();
|
const codeOtp = randomOTP();
|
||||||
const body = await req.json();
|
const body = await req.json();
|
||||||
console.log("[Masuk API]", body);
|
console.log("[Masuk API]", body);
|
||||||
@@ -39,23 +38,29 @@ export async function POST(req: Request) {
|
|||||||
{ status: 400 }
|
{ status: 400 }
|
||||||
);
|
);
|
||||||
|
|
||||||
const msg = `HIPMI - Kode ini bersifat RAHASIA dan JANGAN DI BAGIKAN KEPAADA SIAPAPUN, termasuk anggota ataupun pengurus HIPMI lainnya.\n\n\n> Kode OTP anda: ${codeOtp}.`;
|
// const msg = `HIPMI - Kode ini bersifat RAHASIA dan JANGAN DI BAGIKAN KEPAADA SIAPAPUN, termasuk anggota ataupun pengurus HIPMI lainnya.\n\n\n> Kode OTP anda: ${codeOtp}.`;
|
||||||
// const msg = `HIPMI%20-%20Kode%20ini%20bersifat%20RAHASIA%20dan%20JANGAN%20DI%20BAGIKAN%20KEPADA%20SIAPAPUN%2C%20termasuk%20anggota%20ataupun%20pengurus%20HIPMI%20lainnya.%20Kode%20OTP%20anda%3A%20${codeOtp}.`;
|
// const encodedMsg = encodeURIComponent(msg);
|
||||||
const encodedMsg = encodeURIComponent(msg);
|
const msg = `HIPMI%20-%20Kode%20ini%20bersifat%20RAHASIA%20dan%20JANGAN%20DI%20BAGIKAN%20KEPADA%20SIAPAPUN%2C%20termasuk%20anggota%20ataupun%20pengurus%20HIPMI%20lainnya.%20Kode%20OTP%20anda%3A%20${codeOtp}.`;
|
||||||
|
|
||||||
const res = await fetch(
|
const res = await fetch(
|
||||||
`https://wa.wibudev.com/code?nom=${nomor}&text=${encodedMsg}`,
|
`https://cld-dkr-prod-wajs-server.wibudev.com/api/wa/code?nom=${nomor}&text=${msg}`,
|
||||||
{ cache: "no-cache" }
|
{
|
||||||
|
cache: "no-cache",
|
||||||
|
headers: {
|
||||||
|
Authorization: `Bearer ${process.env.WA_SERVER_TOKEN}`,
|
||||||
|
},
|
||||||
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
const sendWa = await res.json();
|
if (res.status !== 200)
|
||||||
|
|
||||||
if (sendWa.status !== "success")
|
|
||||||
return NextResponse.json(
|
return NextResponse.json(
|
||||||
{ success: false, message: "Nomor Whatsapp Tidak Aktif" },
|
{ success: false, message: "Nomor Whatsapp Tidak Aktif" },
|
||||||
{ status: 400 }
|
{ status: 400 }
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const sendWa = await res.text();
|
||||||
|
console.log("WA Response:", sendWa);
|
||||||
|
|
||||||
return NextResponse.json(
|
return NextResponse.json(
|
||||||
{
|
{
|
||||||
success: true,
|
success: true,
|
||||||
|
|||||||
69
src/app/api/mobile/admin/master/donation/[id]/route.ts
Normal file
69
src/app/api/mobile/admin/master/donation/[id]/route.ts
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
import { NextResponse } from "next/server";
|
||||||
|
import prisma from "@/lib/prisma";
|
||||||
|
|
||||||
|
export { GET, PUT };
|
||||||
|
|
||||||
|
async function GET(request: Request, { params }: { params: { id: string } }) {
|
||||||
|
const { id } = params;
|
||||||
|
let fixData;
|
||||||
|
|
||||||
|
try {
|
||||||
|
fixData = await prisma.donasiMaster_Kategori.findUnique({
|
||||||
|
where: {
|
||||||
|
id: id,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
id: true,
|
||||||
|
name: true,
|
||||||
|
active: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return NextResponse.json({
|
||||||
|
success: true,
|
||||||
|
message: "Master berhasil diambil",
|
||||||
|
data: fixData,
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.log("[ERROR]", error);
|
||||||
|
return NextResponse.json({
|
||||||
|
success: false,
|
||||||
|
error: "Gagal mengambil data master",
|
||||||
|
reason: (error as Error).message,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function PUT(request: Request, { params }: { params: { id: string } }) {
|
||||||
|
const { id } = params;
|
||||||
|
const { data } = await request.json();
|
||||||
|
|
||||||
|
console.log("id", id);
|
||||||
|
console.log("data", data);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const updateData = await prisma.donasiMaster_Kategori.update({
|
||||||
|
where: {
|
||||||
|
id: id,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
name: data.name,
|
||||||
|
active: data.active,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return NextResponse.json({
|
||||||
|
success: true,
|
||||||
|
message: "Master berhasil diupdate",
|
||||||
|
data: updateData,
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.log("[ERROR]", error);
|
||||||
|
return NextResponse.json({
|
||||||
|
success: false,
|
||||||
|
error: "Gagal mengupdate data master",
|
||||||
|
reason: (error as Error).message,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
105
src/app/api/mobile/admin/master/donation/route.ts
Normal file
105
src/app/api/mobile/admin/master/donation/route.ts
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
import { NextResponse } from "next/server";
|
||||||
|
import prisma from "@/lib/prisma";
|
||||||
|
|
||||||
|
export { GET, POST };
|
||||||
|
|
||||||
|
async function GET(request: Request) {
|
||||||
|
const { searchParams } = new URL(request.url);
|
||||||
|
// const category = searchParams.get("category");
|
||||||
|
let fixData;
|
||||||
|
|
||||||
|
try {
|
||||||
|
fixData = await prisma.donasiMaster_Kategori.findMany({
|
||||||
|
orderBy: {
|
||||||
|
createdAt: "asc",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// if (category === "category") {
|
||||||
|
// fixData = await prisma.donasiMaster_Kategori.findMany({
|
||||||
|
// orderBy: {
|
||||||
|
// createdAt: "asc",
|
||||||
|
// },
|
||||||
|
// where: {
|
||||||
|
// active: true,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// } else if (category === "duration") {
|
||||||
|
// fixData = await prisma.donasiMaster_Durasi.findMany({
|
||||||
|
// orderBy: {
|
||||||
|
// createdAt: "asc",
|
||||||
|
// },
|
||||||
|
// where: {
|
||||||
|
// active: true,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// const category = await prisma.donasiMaster_Kategori.findMany({
|
||||||
|
// orderBy: {
|
||||||
|
// createdAt: "asc",
|
||||||
|
// },
|
||||||
|
// where: {
|
||||||
|
// active: true,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
|
||||||
|
// const duration = await prisma.donasiMaster_Durasi.findMany({
|
||||||
|
// orderBy: {
|
||||||
|
// createdAt: "asc",
|
||||||
|
// },
|
||||||
|
// where: {
|
||||||
|
// active: true,
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
|
||||||
|
// fixData = {
|
||||||
|
// category: category,
|
||||||
|
// duration: duration,
|
||||||
|
// };
|
||||||
|
// }
|
||||||
|
|
||||||
|
return NextResponse.json({
|
||||||
|
success: true,
|
||||||
|
message: "Master berhasil diambil",
|
||||||
|
data: fixData,
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.log("[ERROR]", error);
|
||||||
|
return NextResponse.json({
|
||||||
|
success: false,
|
||||||
|
error: "Gagal mengambil data master",
|
||||||
|
reason: (error as Error).message,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function POST(request: Request) {
|
||||||
|
const { data } = await request.json();
|
||||||
|
|
||||||
|
console.log("data", data);
|
||||||
|
|
||||||
|
try {
|
||||||
|
const count = await prisma.donasiMaster_Kategori.count();
|
||||||
|
const createNewId = count + 1;
|
||||||
|
|
||||||
|
const createData = await prisma.donasiMaster_Kategori.create({
|
||||||
|
data: {
|
||||||
|
id: createNewId.toString(),
|
||||||
|
name: data.name,
|
||||||
|
active: data.active,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return NextResponse.json({
|
||||||
|
success: true,
|
||||||
|
message: "Master berhasil ditambahkan",
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.log("[ERROR]", error);
|
||||||
|
return NextResponse.json({
|
||||||
|
success: false,
|
||||||
|
error: "Gagal menambah data master",
|
||||||
|
reason: (error as Error).message,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -24,18 +24,18 @@ async function POST(request: Request, { params }: { params: { id: string } }) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
fixData = createWithFile;
|
fixData = createWithFile;
|
||||||
|
} else {
|
||||||
|
const createWitOutFile = await prisma.beritaInvestasi.create({
|
||||||
|
data: {
|
||||||
|
investasiId: id,
|
||||||
|
title: _.startCase(data.title),
|
||||||
|
deskripsi: data.deskripsi,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
fixData = createWitOutFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
const createWitOutFile = await prisma.beritaInvestasi.create({
|
|
||||||
data: {
|
|
||||||
investasiId: id,
|
|
||||||
title: _.startCase(data.title),
|
|
||||||
deskripsi: data.deskripsi,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
fixData = createWitOutFile;
|
|
||||||
|
|
||||||
return NextResponse.json({
|
return NextResponse.json({
|
||||||
status: 201,
|
status: 201,
|
||||||
success: true,
|
success: true,
|
||||||
|
|||||||
4
types/env.d.ts
vendored
4
types/env.d.ts
vendored
@@ -9,7 +9,7 @@ declare namespace NodeJS {
|
|||||||
NEXT_PUBLIC_WIBU_REALTIME_TOKEN?: string;
|
NEXT_PUBLIC_WIBU_REALTIME_TOKEN?: string;
|
||||||
NEXT_PUBLIC_BASE_TOKEN_KEY?: string;
|
NEXT_PUBLIC_BASE_TOKEN_KEY?: string;
|
||||||
NEXT_PUBLIC_BASE_SESSION_KEY?: string;
|
NEXT_PUBLIC_BASE_SESSION_KEY?: string;
|
||||||
NEXT_PUBLIC_API_URL?: string;
|
RESEND_APIKEY?: string;
|
||||||
|
WA_SERVER_TOKEN?: string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user