diff --git a/package.json b/package.json index 44a695dd..30f6db17 100644 --- a/package.json +++ b/package.json @@ -54,6 +54,7 @@ "eslint": "8.45.0", "eslint-config-next": "13.4.12", "iron-session": "^6.3.1", + "jose": "^5.9.2", "jotai": "^2.4.3", "lodash": "^4.17.21", "mapbox-gl": "^3.5.2", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index c391b394..74ed0d31 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -60,14 +60,14 @@ model MasterUserRole { } model UserSession { - id String @id @default(cuid()) + 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 + 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 KodeOtp { @@ -147,6 +147,7 @@ model Portofolio { logoId String? Portofolio_MediaSosial Portofolio_MediaSosial? BusinessMaps BusinessMaps? + imageId String? } model Portofolio_MediaSosial { diff --git a/src/app/api/auth/login/route.ts b/src/app/api/auth/login/route.ts index f7442d2c..dd99a4b9 100644 --- a/src/app/api/auth/login/route.ts +++ b/src/app/api/auth/login/route.ts @@ -1,8 +1,4 @@ -import { redirect } from "next/navigation"; -import { myConsole } from "@/app/fun/my_console"; -import prisma from "@/app/lib/prisma"; -import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin"; import { NextResponse } from "next/server"; diff --git a/src/app/api/auth/register/route.ts b/src/app/api/auth/register/route.ts index 61382554..2c5ff71a 100644 --- a/src/app/api/auth/register/route.ts +++ b/src/app/api/auth/register/route.ts @@ -1,6 +1,5 @@ -import { myConsole } from "@/app/fun/my_console"; -import { PwdCookies } from "@/app/lib"; import prisma from "@/app/lib/prisma"; +import { ServerEnv } from "@/app/lib/server_env"; import { sealData } from "iron-session"; import { cookies } from "next/headers"; import { NextResponse } from "next/server"; @@ -16,8 +15,6 @@ export async function POST(req: Request) { }, }); - myConsole(cekUsername); - if (cekUsername) return NextResponse.json({ status: 400, message: "Username sudah ada" }); @@ -35,7 +32,7 @@ export async function POST(req: Request) { username: data.username, }), { - password: PwdCookies, + password: ServerEnv.value?.WIBU_PWD as string, } ); diff --git a/src/app/api/auth/validasi/route.ts b/src/app/api/auth/validasi/route.ts index 471e1434..27858a53 100644 --- a/src/app/api/auth/validasi/route.ts +++ b/src/app/api/auth/validasi/route.ts @@ -1,6 +1,5 @@ -import { myConsole } from "@/app/fun/my_console"; -import { PwdCookies } from "@/app/lib"; import prisma from "@/app/lib/prisma"; +import { ServerEnv } from "@/app/lib/server_env"; import { sealData } from "iron-session"; import { revalidatePath } from "next/cache"; import { cookies } from "next/headers"; @@ -22,8 +21,6 @@ export async function POST(req: Request) { }, }); - myConsole(data); - if (!data) return NextResponse.json({ status: 404 }); if (data) { @@ -33,7 +30,7 @@ export async function POST(req: Request) { username: data.username, }), { - password: await PwdCookies, + password: ServerEnv.value?.WIBU_PWD as string, } ); @@ -41,6 +38,7 @@ export async function POST(req: Request) { name: "ssn", value: res, maxAge: 60 * 60 * 24 * 7, + }); revalidatePath("/dev/home"); diff --git a/src/app/api/check-cookies/route.ts b/src/app/api/check-cookies/route.ts new file mode 100644 index 00000000..c6e67b93 --- /dev/null +++ b/src/app/api/check-cookies/route.ts @@ -0,0 +1,14 @@ +import _ from "lodash"; +import { cookies } from "next/headers"; +import { NextResponse } from "next/server"; + +export async function GET(req: Request) { + const cekCookies = cookies(); + const c = cekCookies.get("ssn"); + + if (!c || !c?.value || _.isEmpty(c?.value) || _.isUndefined(c?.value)) { + return NextResponse.json({ success: false }); + // return new Response(JSON.stringify({ success: false })); + } + return NextResponse.json({ success: true }); +} diff --git a/src/app/dev/admin/donasi/sub-menu/review/page.tsx b/src/app/dev/admin/donasi/sub-menu/review/page.tsx index 0031b08a..6e25d7fe 100644 --- a/src/app/dev/admin/donasi/sub-menu/review/page.tsx +++ b/src/app/dev/admin/donasi/sub-menu/review/page.tsx @@ -1,6 +1,5 @@ import { AdminDonasi_TableReview } from "@/app_modules/admin/donasi"; import adminDonasi_getListReview from "@/app_modules/admin/donasi/fun/get/get_list_review"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { const listReview = await adminDonasi_getListReview({page: 1}); diff --git a/src/app/dev/admin/layout.tsx b/src/app/dev/admin/layout.tsx index 3ee61021..e46fd26f 100644 --- a/src/app/dev/admin/layout.tsx +++ b/src/app/dev/admin/layout.tsx @@ -1,7 +1,7 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { AdminLayout } from "@/app_modules/admin/main_dashboard"; import adminNotifikasi_countNotifikasi from "@/app_modules/admin/notifikasi/fun/count/count_is_read"; import adminNotifikasi_getByUserId from "@/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; import React from "react"; @@ -10,8 +10,9 @@ export default async function Layout({ }: { children: React.ReactNode; }) { - const userId = await user_funGetOneUserId(); - const dataUser = await user_getOneByUserId(userId); + const userLoginId = await funGetUserIdByToken(); + + const dataUser = await user_getOneByUserId(userLoginId); const listNotif = await adminNotifikasi_getByUserId(); const countNotifikasi = await adminNotifikasi_countNotifikasi(); diff --git a/src/app/dev/auth/login/page.tsx b/src/app/dev/auth/login/page.tsx index 60cc8469..30fe153d 100644 --- a/src/app/dev/auth/login/page.tsx +++ b/src/app/dev/auth/login/page.tsx @@ -1,6 +1,6 @@ import { Login } from "@/app_modules/auth"; -export default function Page() { +export default async function Page() { return ( <> diff --git a/src/app/dev/auth/register/[id]/page.tsx b/src/app/dev/auth/register/[id]/page.tsx index b17e670f..ff588e30 100644 --- a/src/app/dev/auth/register/[id]/page.tsx +++ b/src/app/dev/auth/register/[id]/page.tsx @@ -1,8 +1,8 @@ import { Register } from "@/app_modules/auth"; -import { auth_getKodeOtpById } from "@/app_modules/auth/fun/get_kode_otp_by_id"; +import { auth_getCodeOtpByNumber } from "@/app_modules/auth/fun/get_kode_otp_by_id"; export default async function Page({ params }: { params: { id: string } }) { - let otpId = params.id - const dataOtp = await auth_getKodeOtpById(otpId) + let otpId = params.id; + const dataOtp = await auth_getCodeOtpByNumber({ kodeId: otpId }); return ; } diff --git a/src/app/dev/auth/splash/page.tsx b/src/app/dev/auth/splash/page.tsx index 0107e340..69fd531d 100644 --- a/src/app/dev/auth/splash/page.tsx +++ b/src/app/dev/auth/splash/page.tsx @@ -1,8 +1,8 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { SplashScreen } from "@/app_modules/auth"; -import { user_funGetOneUserId } from "@/app_modules/fun_global"; export default async function PageSplash() { - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/auth/validasi/[id]/page.tsx b/src/app/dev/auth/validasi/[id]/page.tsx index fbd553f8..a09b59c2 100644 --- a/src/app/dev/auth/validasi/[id]/page.tsx +++ b/src/app/dev/auth/validasi/[id]/page.tsx @@ -1,9 +1,12 @@ import { Validasi } from "@/app_modules/auth"; -import { auth_getKodeOtpById } from "@/app_modules/auth/fun/get_kode_otp_by_id"; +import { auth_getCodeOtpByNumber } from "@/app_modules/auth/fun/get_kode_otp_by_id"; +import { redirect } from "next/navigation"; +import { RouterAuth } from "@/app/lib/router_hipmi/router_auth"; export default async function Page({ params }: { params: { id: string } }) { - let kodeOtpId = params.id; - const dataOtp = await auth_getKodeOtpById(kodeOtpId); + let kodeId = params.id; + const dataOtp = await auth_getCodeOtpByNumber({ kodeId: kodeId }); + if (dataOtp === null) return redirect(RouterAuth.login); return ; } diff --git a/src/app/dev/check-cookies/page.tsx b/src/app/dev/check-cookies/page.tsx new file mode 100644 index 00000000..fb26eb65 --- /dev/null +++ b/src/app/dev/check-cookies/page.tsx @@ -0,0 +1,5 @@ +import { CheckCookies_UiView } from "@/app_modules/check_cookies"; + +export default function Page() { + return ; +} diff --git a/src/app/dev/colab/detail/group/[id]/page.tsx b/src/app/dev/colab/detail/group/[id]/page.tsx index 51c5968a..42f17eef 100644 --- a/src/app/dev/colab/detail/group/[id]/page.tsx +++ b/src/app/dev/colab/detail/group/[id]/page.tsx @@ -1,16 +1,14 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import adminColab_getOneRoomChatById from "@/app_modules/admin/colab/fun/get/get_one_room_chat_by_id"; -import { - Colab_DetailGrupDiskusi, - Colab_GroupChatView, -} from "@/app_modules/colab"; +import { Colab_GroupChatView } from "@/app_modules/colab"; import colab_getMessageByRoomId from "@/app_modules/colab/fun/get/room_chat/get_message_by_room_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; import _ from "lodash"; export default async function Page({ params }: { params: { id: string } }) { const roomId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const getData = (await adminColab_getOneRoomChatById({ roomId: roomId })) .data; const dataRoom = _.omit(getData, [ diff --git a/src/app/dev/colab/detail/main_detail/[id]/layout.tsx b/src/app/dev/colab/detail/main_detail/[id]/layout.tsx index fd2f6a6b..d07a0230 100644 --- a/src/app/dev/colab/detail/main_detail/[id]/layout.tsx +++ b/src/app/dev/colab/detail/main_detail/[id]/layout.tsx @@ -1,6 +1,6 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { LayoutColab_MainDetail } from "@/app_modules/colab"; import colab_getOneCollaborationById from "@/app_modules/colab/fun/get/get_one_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; import React from "react"; export default async function Layout({ @@ -11,9 +11,10 @@ export default async function Layout({ params: { id: string }; }) { const colabId = params.id; + const userLoginId = await funGetUserIdByToken(); + const dataColab = await colab_getOneCollaborationById(colabId); const authorId = dataColab?.Author?.id; - const userLoginId = await user_funGetOneUserId(); return ( <> diff --git a/src/app/dev/colab/detail/main_detail/[id]/page.tsx b/src/app/dev/colab/detail/main_detail/[id]/page.tsx index eb4eed2a..7571cb15 100644 --- a/src/app/dev/colab/detail/main_detail/[id]/page.tsx +++ b/src/app/dev/colab/detail/main_detail/[id]/page.tsx @@ -1,12 +1,13 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Colab_MainDetail } from "@/app_modules/colab"; import colab_funCekPartisipasiById from "@/app_modules/colab/fun/get/cek_partisipasi_by_user_id"; import colab_getListPartisipanByColabId from "@/app_modules/colab/fun/get/get_list_partisipan_by_id"; import colab_getOneCollaborationById from "@/app_modules/colab/fun/get/get_one_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let colabId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const dataColab = await colab_getOneCollaborationById(colabId); const listPartisipan = await colab_getListPartisipanByColabId(colabId); const cekPartisipan = await colab_funCekPartisipasiById(colabId); diff --git a/src/app/dev/colab/main/beranda/page.tsx b/src/app/dev/colab/main/beranda/page.tsx index a049bf12..723874e5 100644 --- a/src/app/dev/colab/main/beranda/page.tsx +++ b/src/app/dev/colab/main/beranda/page.tsx @@ -1,10 +1,10 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Colab_Beranda } from "@/app_modules/colab"; import colab_getListAllProyek from "@/app_modules/colab/fun/get/get_list_all_proyek"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - const listData = await colab_getListAllProyek({page: 1}); - const userLoginId = await user_funGetOneUserId(); + const listData = await colab_getListAllProyek({ page: 1 }); + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx b/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx index 1f141e66..160d135d 100644 --- a/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx +++ b/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx @@ -1,16 +1,16 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { CreateCeritaPenggalangDonasi } from "@/app_modules/donasi"; import { Donasi_getTemporaryCreate } from "@/app_modules/donasi/fun/get/get_temporary_create"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { const getTemporaryCreate = await Donasi_getTemporaryCreate(params.id); - const userId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> ); diff --git a/src/app/dev/donasi/create/create_donasi/page.tsx b/src/app/dev/donasi/create/create_donasi/page.tsx index d1d187a9..2202dfdf 100644 --- a/src/app/dev/donasi/create/create_donasi/page.tsx +++ b/src/app/dev/donasi/create/create_donasi/page.tsx @@ -3,7 +3,6 @@ import { Donasi_getMasterDurasi, Donasi_getMasterKategori, } from "@/app_modules/donasi/fun"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { const masterKategori = await Donasi_getMasterKategori(); diff --git a/src/app/dev/donasi/detail/detail_main/[id]/page.tsx b/src/app/dev/donasi/detail/detail_main/[id]/page.tsx index 804c103a..ef3f8022 100644 --- a/src/app/dev/donasi/detail/detail_main/[id]/page.tsx +++ b/src/app/dev/donasi/detail/detail_main/[id]/page.tsx @@ -1,17 +1,22 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { DetailMainDonasi } from "@/app_modules/donasi"; import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur"; import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let donasiId = params.id; + const userLoginId = await funGetUserIdByToken(); + const dataDonasi = await Donasi_getOneById(donasiId); - const countDonatur = await Donasi_getCountDonatur(donasiId) - const userLoginId = await user_funGetOneUserId(); + const countDonatur = await Donasi_getCountDonatur(donasiId); return ( <> - + ); } diff --git a/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx b/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx index b92e8928..b39b7180 100644 --- a/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx +++ b/src/app/dev/donasi/detail/detail_publish/[id]/page.tsx @@ -1,18 +1,20 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { DetailPublishDonasi } from "@/app_modules/donasi"; import { Donasi_getCountDonatur } from "@/app_modules/donasi/fun/count/get_count_donatur"; import { Donasi_getOneById } from "@/app_modules/donasi/fun/get/get_one_donasi_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { const dataPublish = await Donasi_getOneById(params.id); - const countDonatur= await Donasi_getCountDonatur(params.id) - const userLoginId = await user_funGetOneUserId(); - - // console.log(userLoginId) + const countDonatur = await Donasi_getCountDonatur(params.id); + const userLoginId = await funGetUserIdByToken(); return ( <> - + ); } diff --git a/src/app/dev/donasi/main/galang_dana/page.tsx b/src/app/dev/donasi/main/galang_dana/page.tsx index cda297bf..fca4f380 100644 --- a/src/app/dev/donasi/main/galang_dana/page.tsx +++ b/src/app/dev/donasi/main/galang_dana/page.tsx @@ -1,23 +1,23 @@ import { PostingDonasi } from "@/app_modules/donasi"; -import Donasi_getByStatus from "@/app_modules/donasi/fun/get/get_donasi_by_status"; import { donasi_funGetAllStatusDraft } from "@/app_modules/donasi/fun/get/status/get_all_status_draft"; import { donasi_funGetAllStatusPublish } from "@/app_modules/donasi/fun/get/status/get_all_status_publish"; import { donasi_funGetAllStatusReject } from "@/app_modules/donasi/fun/get/status/get_all_status_reject"; import { donasi_funGetAllStatusReview } from "@/app_modules/donasi/fun/get/status/get_all_status_review"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - const authorId = await user_funGetOneUserId(); - const listPublish = await donasi_funGetAllStatusPublish({page: 1}); - const listReview = await donasi_funGetAllStatusReview({page: 1}); - const listDraft = await donasi_funGetAllStatusDraft({page: 1}); - const listReject = await donasi_funGetAllStatusReject({page: 1}); - - + const listPublish = await donasi_funGetAllStatusPublish({ page: 1 }); + const listReview = await donasi_funGetAllStatusReview({ page: 1 }); + const listDraft = await donasi_funGetAllStatusDraft({ page: 1 }); + const listReject = await donasi_funGetAllStatusReject({ page: 1 }); return ( <> - + ); } diff --git a/src/app/dev/donasi/main/layout.tsx b/src/app/dev/donasi/main/layout.tsx index a37c2dd6..2a1803f9 100644 --- a/src/app/dev/donasi/main/layout.tsx +++ b/src/app/dev/donasi/main/layout.tsx @@ -1,6 +1,6 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { LayoutDonasi } from "@/app_modules/donasi"; import { Donasi_getNotifByUserId } from "@/app_modules/donasi/fun/get/get_notif_by_user_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; import React from "react"; export default async function Layout({ @@ -8,16 +8,15 @@ export default async function Layout({ }: { children: React.ReactNode; }) { - const userId = await user_funGetOneUserId(); - // console.log(userId) - const isRead = await Donasi_getNotifByUserId(userId).then((res: any) => - res.map((val: any) => val.isRead) + const userLoginId = await funGetUserIdByToken(); + + const isRead = await Donasi_getNotifByUserId(userLoginId).then((res: any) => + res.map((val: any) => val.isRead) ); - // console.log(isRead) return ( <> - + {children} diff --git a/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/page.tsx index 797d8742..3a32402a 100644 --- a/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/page.tsx +++ b/src/app/dev/donasi/proses_donasi/metode_pembayaran/[id]/page.tsx @@ -1,13 +1,19 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Donasi_MetodePembayaran } from "@/app_modules/donasi"; import { Donasi_getMasterBank } from "@/app_modules/donasi/fun/master/get_bank"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -export default async function Page({params}: {params: {id: string}}) { - let donasiId= params.id - const listBank = await Donasi_getMasterBank() - const authorId = await user_funGetOneUserId() +export default async function Page({ params }: { params: { id: string } }) { + let donasiId = params.id; + const listBank = await Donasi_getMasterBank(); + const userLoginId = await funGetUserIdByToken(); - return<> - + return ( + <> + -} \ No newline at end of file + ); +} diff --git a/src/app/dev/event/create/page.tsx b/src/app/dev/event/create/page.tsx index 96e80d5f..8997cc6b 100644 --- a/src/app/dev/event/create/page.tsx +++ b/src/app/dev/event/create/page.tsx @@ -1,13 +1,12 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Event_Create } from "@/app_modules/event"; import { Event_getMasterTipeAcara } from "@/app_modules/event/fun/master/get_tipe_acara"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import _ from "lodash"; export default async function Page() { - const userId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const listTipeAcara = await Event_getMasterTipeAcara(); return ( - + ); } diff --git a/src/app/dev/event/detail/main/[id]/page.tsx b/src/app/dev/event/detail/main/[id]/page.tsx index 9326b5ed..923ebbd3 100644 --- a/src/app/dev/event/detail/main/[id]/page.tsx +++ b/src/app/dev/event/detail/main/[id]/page.tsx @@ -1,17 +1,18 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Event_DetailMain } from "@/app_modules/event"; import { Event_countTotalPesertaById } from "@/app_modules/event/fun/count/count_total_peserta_by_id"; import { Event_CekUserJoinById } from "@/app_modules/event/fun/get/cek_user_join_by_id"; import { Event_getListPesertaById } from "@/app_modules/event/fun/get/get_list_peserta_by_id"; import { Event_getOneById } from "@/app_modules/event/fun/get/get_one_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let eventId = params.id; + const userLoginId = await funGetUserIdByToken(); + const dataEvent = await Event_getOneById(eventId); const listPeserta = await Event_getListPesertaById(eventId); - const userLoginId = await user_funGetOneUserId(); const isJoin = await Event_CekUserJoinById(eventId, userLoginId); - const totalPeserta = await Event_countTotalPesertaById(eventId) + const totalPeserta = await Event_countTotalPesertaById(eventId); return ( <> diff --git a/src/app/dev/event/detail/riwayat/[id]/page.tsx b/src/app/dev/event/detail/riwayat/[id]/page.tsx index 859ac000..af560086 100644 --- a/src/app/dev/event/detail/riwayat/[id]/page.tsx +++ b/src/app/dev/event/detail/riwayat/[id]/page.tsx @@ -1,10 +1,8 @@ import { Event_DetailRiwayat } from "@/app_modules/event"; import { Event_countTotalPesertaById } from "@/app_modules/event/fun/count/count_total_peserta_by_id"; -import { Event_CekUserJoinById } from "@/app_modules/event/fun/get/cek_user_join_by_id"; import { Event_getListPesertaById } from "@/app_modules/event/fun/get/get_list_peserta_by_id"; import { Event_getOneById } from "@/app_modules/event/fun/get/get_one_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let eventId = params.id; diff --git a/src/app/dev/event/main/kontribusi/page.tsx b/src/app/dev/event/main/kontribusi/page.tsx index c62ad6cd..0a883c1b 100644 --- a/src/app/dev/event/main/kontribusi/page.tsx +++ b/src/app/dev/event/main/kontribusi/page.tsx @@ -1,6 +1,5 @@ import { Event_Kontribusi } from "@/app_modules/event"; import { event_getListKontibusiByUserId } from "@/app_modules/event/fun/get/get_list_kontribusi_by_user_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { const listKontribusi = await event_getListKontibusiByUserId({page: 1}) diff --git a/src/app/dev/event/main/riwayat/page.tsx b/src/app/dev/event/main/riwayat/page.tsx index 0b44a8db..44f99fd3 100644 --- a/src/app/dev/event/main/riwayat/page.tsx +++ b/src/app/dev/event/main/riwayat/page.tsx @@ -1,7 +1,6 @@ import { Event_Riwayat } from "@/app_modules/event"; import { event_getListRiwayatSaya } from "@/app_modules/event/fun/get/get_list_riwayat_saya"; import { event_getListSemuaRiwayat } from "@/app_modules/event/fun/get/riwayat/get_list_semua_riwayat"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let eventId = params.id; diff --git a/src/app/dev/event/main/status_page/page.tsx b/src/app/dev/event/main/status_page/page.tsx index 6bb4d32a..4c02d9a1 100644 --- a/src/app/dev/event/main/status_page/page.tsx +++ b/src/app/dev/event/main/status_page/page.tsx @@ -1,12 +1,13 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Event_StatusPage } from "@/app_modules/event"; import { event_getAllDraft } from "@/app_modules/event/fun/get/status/get_all_draft"; import { event_getAllReject } from "@/app_modules/event/fun/get/status/get_all_reject"; import { event_getAllReview } from "@/app_modules/event/fun/get/status/get_all_review"; import { event_funGetAllStatusPublish } from "@/app_modules/event/fun/get/status/get_all_status_publish"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const listPublish = await event_funGetAllStatusPublish({ page: 1 }); const listReview = await event_getAllReview({ page: 1 }); const listDraft = await event_getAllDraft({ page: 1 }); @@ -14,7 +15,7 @@ export default async function Page() { return ( diff --git a/src/app/dev/forum/main/layout.tsx b/src/app/dev/forum/main/layout.tsx index f42ac00d..7f10d77f 100644 --- a/src/app/dev/forum/main/layout.tsx +++ b/src/app/dev/forum/main/layout.tsx @@ -1,5 +1,5 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { LayoutForum_Main } from "@/app_modules/forum"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; import React from "react"; @@ -8,12 +8,14 @@ export default async function Layout({ }: { children: React.ReactNode; }) { - const authorId = await user_funGetOneUserId(); - const dataAuthor = await user_getOneByUserId(authorId); + const userLoginId = await funGetUserIdByToken(); + const dataAuthor = await user_getOneByUserId(userLoginId); return ( <> - {children} + + {children} + ); } diff --git a/src/app/dev/forum/main/page.tsx b/src/app/dev/forum/main/page.tsx index 2b5bc1e8..f9ce25e5 100644 --- a/src/app/dev/forum/main/page.tsx +++ b/src/app/dev/forum/main/page.tsx @@ -1,12 +1,10 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Forum_Beranda } from "@/app_modules/forum"; import { forum_new_getAllPosting } from "@/app_modules/forum/fun/get/new_get_all_posting"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { + const userLoginId = await funGetUserIdByToken(); const listForum = await forum_new_getAllPosting({ page: 1 }); - const userLoginId = await user_funGetOneUserId(); - - // console.log(JSON.stringify(listForum, null, 2)); return ( <> diff --git a/src/app/dev/forum/report/komentar-lainnya/[id]/page.tsx b/src/app/dev/forum/report/komentar-lainnya/[id]/page.tsx index 8edbbf4f..6c9533b6 100644 --- a/src/app/dev/forum/report/komentar-lainnya/[id]/page.tsx +++ b/src/app/dev/forum/report/komentar-lainnya/[id]/page.tsx @@ -1,9 +1,9 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Forum_ReportKomentarLainnya } from "@/app_modules/forum"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let komentarId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/forum/report/komentar/[id]/page.tsx b/src/app/dev/forum/report/komentar/[id]/page.tsx index 11a226e5..e88c332d 100644 --- a/src/app/dev/forum/report/komentar/[id]/page.tsx +++ b/src/app/dev/forum/report/komentar/[id]/page.tsx @@ -1,11 +1,13 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Forum_ReportKomentar } from "@/app_modules/forum"; import { forum_getMasterKategoriReport } from "@/app_modules/forum/fun/master/get_master_kategori_report"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let komentarId = params.id; + const userLoginId = await funGetUserIdByToken(); + const listReport = await forum_getMasterKategoriReport(); - const userLoginId = await user_funGetOneUserId(); + return ( diff --git a/src/app/dev/forum/report/posting-lainnya/[id]/page.tsx b/src/app/dev/forum/report/posting-lainnya/[id]/page.tsx index 84b1abda..2f3cb327 100644 --- a/src/app/dev/forum/report/posting-lainnya/[id]/page.tsx +++ b/src/app/dev/forum/report/posting-lainnya/[id]/page.tsx @@ -1,9 +1,9 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Forum_ReportPostingLainnya } from "@/app_modules/forum"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let postingId = params.id; - const userLoginId = await user_funGetOneUserId() + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/forum/report/posting/[id]/page.tsx b/src/app/dev/forum/report/posting/[id]/page.tsx index 17f48e47..a19ed624 100644 --- a/src/app/dev/forum/report/posting/[id]/page.tsx +++ b/src/app/dev/forum/report/posting/[id]/page.tsx @@ -1,11 +1,12 @@ +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Forum_ReportPosting } from "@/app_modules/forum"; import { forum_getMasterKategoriReport } from "@/app_modules/forum/fun/master/get_master_kategori_report"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let postingId = params.id; + const userLoginId = await funGetUserIdByToken(); + const listReport = await forum_getMasterKategoriReport(); - const userLoginId = await user_funGetOneUserId(); return ( <> diff --git a/src/app/dev/home/page.tsx b/src/app/dev/home/page.tsx index f6878fd1..097eba0c 100644 --- a/src/app/dev/home/page.tsx +++ b/src/app/dev/home/page.tsx @@ -1,6 +1,6 @@ import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin"; import { RouterHome } from "@/app/lib/router_hipmi/router_home"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { HomeView } from "@/app_modules/home"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; import { job_getTwoForHomeView } from "@/app_modules/job/fun/get/get_two_for_home_view"; @@ -8,8 +8,9 @@ import notifikasi_countUserNotifikasi from "@/app_modules/notifikasi/fun/count/f import { redirect } from "next/navigation"; export default async function Page() { - const userId = await user_funGetOneUserId(); - const dataUser = await user_getOneByUserId(userId); + const userLoginId = await funGetUserIdByToken(); + + const dataUser = await user_getOneByUserId(userLoginId); const dataJob = await job_getTwoForHomeView(); if (dataUser?.active === false) { @@ -19,12 +20,6 @@ export default async function Page() { if (dataUser?.masterUserRoleId === "2" || dataUser?.masterUserRoleId === "3") return redirect(RouterAdminDashboard.splash_admin); - // if (dataUser?.Profile === null) return ; - - // await new Promise((a, b) => { - // setTimeout(a, 3000); - // }); - const countNotifikasi = await notifikasi_countUserNotifikasi(); return ( diff --git a/src/app/dev/investasi/detail/[id]/page.tsx b/src/app/dev/investasi/detail/[id]/page.tsx index 2effc19f..e1a4fef2 100644 --- a/src/app/dev/investasi/detail/[id]/page.tsx +++ b/src/app/dev/investasi/detail/[id]/page.tsx @@ -1,20 +1,18 @@ -import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { DetailInvestasi } from "@/app_modules/investasi"; import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import funProgressBar from "@/app_modules/investasi/fun/fun_progress_bar"; -import funTotalInvestorByIdInvestasi from "@/app_modules/investasi/fun/fun_total_investor_by_id"; export default async function Page({ params }: { params: { id: string } }) { -const investasiId = params.id + const investasiId = params.id; + const userLoginId = await funGetUserIdByToken(); + const dataInvestasi = await getOneInvestasiById(investasiId); - const loginUserId = await user_funGetOneUserId(); return ( <> ); diff --git a/src/app/dev/investasi/main/portofolio/page.tsx b/src/app/dev/investasi/main/portofolio/page.tsx index 681557a2..25df448f 100644 --- a/src/app/dev/investasi/main/portofolio/page.tsx +++ b/src/app/dev/investasi/main/portofolio/page.tsx @@ -1,25 +1,12 @@ -import { PortofolioInvestasi } from "@/app_modules/investasi"; -import { cookies } from "next/headers"; -import fs from "fs"; -import yaml from "yaml"; -import { unsealData } from "iron-session"; -import getInvestasiByStatusId from "@/app_modules/investasi/fun/get_investasi_by_id"; -import getStatusInvestasi from "@/app_modules/investasi/fun/master/get_status_investasi"; -import getPortoByStatusId from "@/app_modules/investasi/fun/get_porto_status_by_id"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import { Investasi_UiPortofolio } from "@/app_modules/investasi/_ui"; import { investasi_funGetAllInvestasiNonPublishByUserId, investasi_funGetAllPublishByUserId, } from "@/app_modules/investasi/_fun"; +import { Investasi_UiPortofolio } from "@/app_modules/investasi/_ui"; +import getStatusInvestasi from "@/app_modules/investasi/fun/master/get_status_investasi"; export default async function Page() { - const userId = await user_funGetOneUserId(); const listStatus = await getStatusInvestasi(); - const dataDraft = await getPortoByStatusId(userId, 1); - const dataReview = await getPortoByStatusId(userId, 2); - const dataPublish = await getPortoByStatusId(userId, 3); - const dataReject = await getPortoByStatusId(userId, 4); const listDataPublish = await investasi_funGetAllPublishByUserId({ page: 1 }); const listDataReview = await investasi_funGetAllInvestasiNonPublishByUserId({ @@ -30,22 +17,13 @@ export default async function Page() { page: 1, statusId: "3", }); - const listDataReject = await investasi_funGetAllInvestasiNonPublishByUserId({ - page: 1, - statusId: "4", - }); - - + const listDataReject = await investasi_funGetAllInvestasiNonPublishByUserId({ + page: 1, + statusId: "4", + }); return ( <> - {/* */} ); diff --git a/src/app/dev/investasi/proses_transaksi/[id]/page.tsx b/src/app/dev/investasi/proses_transaksi/[id]/page.tsx index 276b5b65..1fb2327c 100644 --- a/src/app/dev/investasi/proses_transaksi/[id]/page.tsx +++ b/src/app/dev/investasi/proses_transaksi/[id]/page.tsx @@ -1,11 +1,12 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { funGetUserProfile } from "@/app_modules/fun_global/get_user_profile"; import { ProsesTransaksiInvestasi } from "@/app_modules/investasi"; import getOneInvestasiById from "@/app_modules/investasi/fun/get_one_investasi_by_id"; export default async function Page({ params }: { params: { id: string } }) { - const authorId = await user_funGetOneUserId(); - const userLogin = await funGetUserProfile(authorId); + const userLoginId = await funGetUserIdByToken(); + + const userLogin = await funGetUserProfile(userLoginId); const dataInvestasi = await getOneInvestasiById(params.id); // console.log(dataInvestasi); diff --git a/src/app/dev/katalog/[id]/layout.tsx b/src/app/dev/katalog/[id]/layout.tsx index adc07fd4..1b4ef9c7 100644 --- a/src/app/dev/katalog/[id]/layout.tsx +++ b/src/app/dev/katalog/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { KatalogLayout } from "@/app_modules/katalog/main"; import { Profile_getOneProfileAndUserById } from "@/app_modules/katalog/profile/fun/get/get_one_user_profile"; @@ -10,10 +10,10 @@ export default async function Layout({ params: { id: string }; }) { const profileId = params.id; - const dataProfile = await Profile_getOneProfileAndUserById(profileId) + const dataProfile = await Profile_getOneProfileAndUserById(profileId); const authorId = dataProfile?.userId; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/katalog/[id]/page.tsx b/src/app/dev/katalog/[id]/page.tsx index 851209c8..24cccdab 100644 --- a/src/app/dev/katalog/[id]/page.tsx +++ b/src/app/dev/katalog/[id]/page.tsx @@ -1,12 +1,12 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Katalog_MainView } from "@/app_modules/katalog"; import { funGetListPortofolio } from "@/app_modules/katalog/portofolio/fun/get/get_list_portofolio"; import { Profile_getOneProfileAndUserById } from "@/app_modules/katalog/profile/fun/get/get_one_user_profile"; - export default async function Page({ params }: { params: { id: string } }) { let profileId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const listPorto = await funGetListPortofolio(profileId); const dataProfile = await Profile_getOneProfileAndUserById(profileId); @@ -15,7 +15,7 @@ export default async function Page({ params }: { params: { id: string } }) { ); diff --git a/src/app/dev/layout.tsx b/src/app/dev/layout.tsx new file mode 100644 index 00000000..b2521cdc --- /dev/null +++ b/src/app/dev/layout.tsx @@ -0,0 +1,16 @@ +import { funCheckToken } from "@/app_modules/_global/fun/get"; +import { redirect } from "next/navigation"; +import { RouterAuth } from "../lib/router_hipmi/router_auth"; +import { CheckCookies_UiLayout } from "@/app_modules/check_cookies"; + +export default async function Layout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + <> + {children} + + ); +} diff --git a/src/app/dev/portofolio/main/[id]/layout.tsx b/src/app/dev/portofolio/main/[id]/layout.tsx index 30f2c15e..a3be099c 100644 --- a/src/app/dev/portofolio/main/[id]/layout.tsx +++ b/src/app/dev/portofolio/main/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { PortofolioLayout } from "@/app_modules/katalog/portofolio"; import { portofolio_getOneById } from "@/app_modules/katalog/portofolio/fun/get/get_one_portofolio"; @@ -11,9 +11,8 @@ export default async function Layout({ }) { let portoId = params.id; const getPorto = await portofolio_getOneById(portoId); - const userLoginId = await user_funGetOneUserId(); - // console.log(userLoginId); - // console.log(getPorto?.Profile?.User?.id); + const userLoginId = await funGetUserIdByToken(); + return ( <> diff --git a/src/app/dev/profile/create/page.tsx b/src/app/dev/profile/create/page.tsx index 4c849b39..b8e3ca19 100644 --- a/src/app/dev/profile/create/page.tsx +++ b/src/app/dev/profile/create/page.tsx @@ -1,12 +1,12 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { CreateProfile } from "@/app_modules/katalog/profile"; export default async function Page() { - const userId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> - + ); } diff --git a/src/app/dev/user-not-active/page.tsx b/src/app/dev/user-not-active/page.tsx index 3437cade..f2a9cf38 100644 --- a/src/app/dev/user-not-active/page.tsx +++ b/src/app/dev/user-not-active/page.tsx @@ -1,13 +1,13 @@ -import { RouterAdminDashboard } from "@/app/lib/router_hipmi/router_admin"; import { RouterHome } from "@/app/lib/router_hipmi/router_home"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Home_UserNonActive } from "@/app_modules/home"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; import { redirect } from "next/navigation"; export default async function Page() { - const userId = await user_funGetOneUserId(); - const dataUser = await user_getOneByUserId(userId); + const userLoginId = await funGetUserIdByToken(); + + const dataUser = await user_getOneByUserId(userLoginId); if (dataUser?.active === true) { return redirect(RouterHome.main_home); diff --git a/src/app/dev/vote/detail/kontribusi/[id]/layout.tsx b/src/app/dev/vote/detail/kontribusi/[id]/layout.tsx index b580b73a..e591dd90 100644 --- a/src/app/dev/vote/detail/kontribusi/[id]/layout.tsx +++ b/src/app/dev/vote/detail/kontribusi/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { LayoutVote_DetailKontribusi } from "@/app_modules/vote"; import React from "react"; @@ -10,7 +10,7 @@ export default async function Layout({ params: { id: string }; }) { const votingId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/vote/detail/main/[id]/layout.tsx b/src/app/dev/vote/detail/main/[id]/layout.tsx index 5514893f..7a3d7e0d 100644 --- a/src/app/dev/vote/detail/main/[id]/layout.tsx +++ b/src/app/dev/vote/detail/main/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { LayoutVote_MainDetail } from "@/app_modules/vote"; import React from "react"; @@ -10,7 +10,7 @@ export default async function Layout({ params: { id: string }; }) { const votingId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); return ( <> diff --git a/src/app/dev/vote/detail/main/[id]/page.tsx b/src/app/dev/vote/detail/main/[id]/page.tsx index f331be1f..1792a614 100644 --- a/src/app/dev/vote/detail/main/[id]/page.tsx +++ b/src/app/dev/vote/detail/main/[id]/page.tsx @@ -1,19 +1,20 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { Vote_MainDetail } from "@/app_modules/vote"; import { Vote_cekKontributorById } from "@/app_modules/vote/fun/get/cek_kontributor_by_id"; +import { voting_funGetOneVotingbyId } from "@/app_modules/vote/fun/get/fun_get_one_by_id"; import { Vote_getHasilVoteById } from "@/app_modules/vote/fun/get/get_list_hasil_by_id"; import { Vote_getListKontributorById } from "@/app_modules/vote/fun/get/get_list_kontributor_by_id"; -import { voting_funGetOneVotingbyId } from "@/app_modules/vote/fun/get/fun_get_one_by_id"; import { Vote_getOnePilihanVotingByUserId } from "@/app_modules/vote/fun/get/get_one_pilihan_voting_by_user_id"; export default async function Page({ params }: { params: { id: string } }) { const voteId = params.id; + const userLoginId = await funGetUserIdByToken(); + const dataVote = await voting_funGetOneVotingbyId(voteId); const hasilVoting = await Vote_getHasilVoteById(voteId as any); const isKontributor = await Vote_cekKontributorById(voteId); const pilihanKontributor = await Vote_getOnePilihanVotingByUserId(voteId); const listKontributor = await Vote_getListKontributorById(voteId); - const userLoginId = await user_funGetOneUserId(); return ( <> diff --git a/src/app/dev/vote/detail/publish/[id]/layout.tsx b/src/app/dev/vote/detail/publish/[id]/layout.tsx index 1865f488..4047d0b1 100644 --- a/src/app/dev/vote/detail/publish/[id]/layout.tsx +++ b/src/app/dev/vote/detail/publish/[id]/layout.tsx @@ -1,4 +1,4 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { LayoutVote_DetailPublish } from "@/app_modules/vote"; import { Voting_funGetOneVotingbyId } from "@/app_modules/vote/fun/get"; import React from "react"; @@ -11,17 +11,13 @@ export default async function Layout({ params: { id: string }; }) { const votingId = params.id; - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const dataVoting = await Voting_funGetOneVotingbyId(votingId); - const authorId = dataVoting?.authorId; return ( <> - + {children} diff --git a/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx b/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx index 5906589f..7759f942 100644 --- a/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx +++ b/src/app/dev/vote/detail/semua_riwayat/[id]/layout.tsx @@ -1,4 +1,5 @@ -import { user_funGetOneUserId } from "@/app_modules/fun_global"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import { CheckCookies_UiView } from "@/app_modules/check_cookies"; import { LayoutVote_DetailSemuaRiwayat } from "@/app_modules/vote"; import React from "react"; @@ -9,9 +10,10 @@ export default async function Layout({ children: React.ReactNode; params: { id: string }; }) { - const votingId = params.id; - const userLoginId = await user_funGetOneUserId(); + const votingId = params.id; + const userLoginId = await funGetUserIdByToken(); + if (!userLoginId) return ; return ( <> diff --git a/src/app/fun/my_console.ts b/src/app/fun/my_console.ts deleted file mode 100644 index c6dd9398..00000000 --- a/src/app/fun/my_console.ts +++ /dev/null @@ -1,6 +0,0 @@ -export function myConsole(value: any) { - const onData = false - if (onData) { - console.log(value); - } -} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index b797258d..1c54d780 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,9 +2,37 @@ import MqttLoader from "@/util/mqtt_loader"; import RootStyleRegistry from "./emotion"; import "./globals.css"; import { TokenProvider } from "./lib/token"; +import dotenv from "dotenv"; +import { ServerEnv } from "./lib/server_env"; +dotenv.config({ + path: ".env", +}); const token = process.env.WS_APIKEY; -const pwdCookies = process.env.PWD; + +const DATABASE_URL = process.env.DATABASE_URL!; +const WIBU_PWD = process.env.WIBU_PWD!; +const Client_KEY = process.env.Client_KEY!; +const Server_KEY = process.env.Server_KEY!; +const MAPBOX_TOKEN = process.env.MAPBOX_TOKEN!; +const WS_APIKEY = process.env.WS_APIKEY!; + +if (!DATABASE_URL) throw new Error("Require DATABASE_URL"); +if (!WIBU_PWD) throw new Error("Require PWD"); +if (!Client_KEY) throw new Error("Require Client_KEY"); +if (!Server_KEY) throw new Error("Require Server_KEY"); +if (!MAPBOX_TOKEN) throw new Error("Require MAPBOX_TOKEN"); +if (!WS_APIKEY) throw new Error("Require WS_APIKEY"); + +const envObject = { + DATABASE_URL, + WIBU_PWD, + Client_KEY, + Server_KEY, + MAPBOX_TOKEN, + WS_APIKEY, +}; +ServerEnv.set(envObject); export default function RootLayout({ children, @@ -12,11 +40,11 @@ export default function RootLayout({ children: React.ReactNode; }) { if (!token) return <>Require Token Storage; - console.log(pwdCookies) + return ( - + {children} ); diff --git a/src/app/lib/index.ts b/src/app/lib/index.ts index 6fc9de69..e9c5bc8c 100644 --- a/src/app/lib/index.ts +++ b/src/app/lib/index.ts @@ -1,9 +1,7 @@ import APIs from "./APIs"; import DIRECTORY_ID from "./id-derectory"; import prisma from "./prisma"; -import { PwdCookies } from "./pwd"; export { DIRECTORY_ID }; export { prisma }; export { APIs }; -export { PwdCookies }; diff --git a/src/app/lib/pwd.ts b/src/app/lib/pwd.ts deleted file mode 100644 index 724e148a..00000000 --- a/src/app/lib/pwd.ts +++ /dev/null @@ -1,5 +0,0 @@ -import "dotenv/config"; -const dotenv = require("dotenv").config(".env"); -const PwdCookies = dotenv?.parsed.PWD; - -export { PwdCookies }; diff --git a/src/app/lib/router_hipmi/router_auth.ts b/src/app/lib/router_hipmi/router_auth.ts index 6149df2b..30e2b445 100644 --- a/src/app/lib/router_hipmi/router_auth.ts +++ b/src/app/lib/router_hipmi/router_auth.ts @@ -2,4 +2,5 @@ export const RouterAuth = { login: "/dev/auth/login", validasi: "/dev/auth/validasi/", register: "/dev/auth/register/", + check_cookies: "/dev/check-cookies", }; diff --git a/src/app/lib/server_env.ts b/src/app/lib/server_env.ts new file mode 100644 index 00000000..57b5294c --- /dev/null +++ b/src/app/lib/server_env.ts @@ -0,0 +1,15 @@ +type ENV = { + DATABASE_URL: string; + WIBU_PWD: string; + Client_KEY: string; + Server_KEY: string; + MAPBOX_TOKEN: string; + WS_APIKEY: string; +}; +export class ServerEnv { + static value: ENV | null = null; + + static set(val: ENV) { + ServerEnv.value = val; + } +} diff --git a/src/app/lib/token.ts b/src/app/lib/token.ts index 7ce27bae..78484de0 100644 --- a/src/app/lib/token.ts +++ b/src/app/lib/token.ts @@ -10,8 +10,31 @@ class TokenStorage { } } -function TokenProvider({ token }: { token: string }) { +type ENV = { + DATABASE_URL: string; + WIBU_PWD: string; + Client_KEY: string; + Server_KEY: string; + MAPBOX_TOKEN: string; + WS_APIKEY: string; +}; +export class GlobalEnv { + static value: ENV | null = null; + + static set(val: ENV) { + GlobalEnv.value = val; + } +} + +function TokenProvider({ + token, + envObject, +}: { + token: string; + envObject: ENV; +}) { TokenStorage.set(token); + GlobalEnv.set(envObject); return null; } diff --git a/src/app/makuro/page.tsx b/src/app/makuro/page.tsx index 62e9732c..6c7195c5 100644 --- a/src/app/makuro/page.tsx +++ b/src/app/makuro/page.tsx @@ -1,51 +1,9 @@ -"use client"; -import Coba from "@/ui/Coba"; -import { useState } from "react"; -// Beda Package -import InfiniteScroll from "react-infinite-scroll-component"; +import { ServerEnv } from "../lib/server_env"; export default function App() { - const [data, setData] = useState([]); - const [isLoading, setIsLoading] = useState(false); - - const ttlData = Array.from({ length: 21 }); - const [list, setList] = useState(ttlData); - - // useShallowEffect(() => { - // setData(createItems()); - // }, []); - - // const next = async (direction: ScrollDirection) => { - // console.log("next", direction); - // try { - // setIsLoading(true); - // const newData = await loadMore(); - - // const d = direction === "up" ? [...newData, ...data] : []; - // setData(d); - // } finally { - // setIsLoading(false); - // } - // }; - - // const ref = useInfiniteScroll({ - // next, - // rowCount: data.length, - // hasMore: { up: true }, - // }); - - const fetchMoreData = () => { - setTimeout(() => { - setList(list.concat(Array.from({ length: 20 }))); - }, 100); - }; - - const style = { - height: 30, - border: "1px solid green", - margin: 6, - padding: 8, - }; - - return <>; + return ( +
+
{JSON.stringify(ServerEnv.value, null, 2)}
+
+ ); } diff --git a/src/app_modules/_global/component/comp_box_upload_image.tsx b/src/app_modules/_global/component/comp_box_upload_image.tsx new file mode 100644 index 00000000..8b59b73f --- /dev/null +++ b/src/app_modules/_global/component/comp_box_upload_image.tsx @@ -0,0 +1,24 @@ +import { ComponentGlobal_CardStyles } from "@/app_modules/_global/component"; +import { Box } from "@mantine/core"; + +export function ComponentGlobal_BoxUploadImage({ + children, +}: { + children: React.ReactNode; +}) { + return ( + <> + + + {children} + + + + ); +} diff --git a/src/app_modules/_global/component/index.ts b/src/app_modules/_global/component/index.ts index dcd7dc74..1191da65 100644 --- a/src/app_modules/_global/component/index.ts +++ b/src/app_modules/_global/component/index.ts @@ -1,5 +1,6 @@ import ComponentGlobal_BoxInformation from "./box_information"; import ComponentGlobal_AvatarAndAuthorName from "./comp_author_name_and_avatar"; +import { ComponentGlobal_BoxUploadImage } from "./comp_box_upload_image"; import { ComponentGlobal_CardStyles } from "./comp_card_box_and_background"; import ComponentGlobal_CardLoadingOverlay from "./comp_loading_card"; import ComponentGlobal_TampilanAngkaRatusan from "./comp_tampilan_angka_ratusan"; @@ -13,3 +14,4 @@ export { ComponentGlobal_CardLoadingOverlay }; export { ComponentGlobal_BoxInformation }; export { ComponentGlobal_InputCountDown }; export { ComponentGlobal_CardStyles }; +export { ComponentGlobal_BoxUploadImage }; diff --git a/src/app_modules/_global/fun/get/fun_cek_token.ts b/src/app_modules/_global/fun/get/fun_cek_token.ts new file mode 100644 index 00000000..f0b16bc0 --- /dev/null +++ b/src/app_modules/_global/fun/get/fun_cek_token.ts @@ -0,0 +1,17 @@ +"use server"; + +import { prisma } from "@/app/lib"; +import _ from "lodash"; +import { cookies } from "next/headers"; + +export async function funCheckToken() { + const c = cookies().get("ssn"); + const cekToken = await prisma.userSession.findFirst({ + where: { + token: c?.value, + }, + }); + + if (cekToken === null) return false; + return true; +} diff --git a/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts b/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts new file mode 100644 index 00000000..489e8172 --- /dev/null +++ b/src/app_modules/_global/fun/get/fun_get_user_id_by_token.ts @@ -0,0 +1,18 @@ +"use server"; + +import { cookies } from "next/headers"; +import prisma from "@/app/lib/prisma"; +import { redirect } from "next/navigation"; +import { RouterAuth } from "@/app/lib/router_hipmi/router_auth"; + +export async function funGetUserIdByToken() { + const c = cookies().get("ssn"); + const cekToken = await prisma.userSession.findFirst({ + where: { + token: c?.value, + }, + }); + + if (cekToken === null) return redirect(RouterAuth.login); + return cekToken.userId; +} diff --git a/src/app_modules/_global/fun/get/index.ts b/src/app_modules/_global/fun/get/index.ts index 3e6f8403..e3fe3fa9 100644 --- a/src/app_modules/_global/fun/get/index.ts +++ b/src/app_modules/_global/fun/get/index.ts @@ -1,5 +1,9 @@ +import { funCheckToken } from "./fun_cek_token"; import { funGlobal_getNomorAdmin } from "./fun_get_nomor_admin"; +import { funGetUserIdByToken } from "./fun_get_user_id_by_token"; import { funGlobal_getMasterKategoriApp } from "./fun_master_kategori_app"; export { funGlobal_getMasterKategoriApp }; export { funGlobal_getNomorAdmin }; +export { funCheckToken }; +export { funGetUserIdByToken }; diff --git a/src/app_modules/admin/_admin_global/logout.tsx b/src/app_modules/admin/_admin_global/logout.tsx index 837d3423..abace7b6 100644 --- a/src/app_modules/admin/_admin_global/logout.tsx +++ b/src/app_modules/admin/_admin_global/logout.tsx @@ -28,7 +28,7 @@ export default function Admin_Logout() { const [loadingLogout, setLoadingLogout] = useState(false); async function onClickLogout() { - await auth_Logout(kodeId).then((res) => { + await auth_Logout().then((res) => { if (res.status === 200) { setLoadingLogout(true); ComponentGlobal_NotifikasiBerhasil(res.message); diff --git a/src/app_modules/admin/colab/fun/edit/fun_report_project_by_id.ts b/src/app_modules/admin/colab/fun/edit/fun_report_project_by_id.ts index 9dba8149..fd1657b4 100644 --- a/src/app_modules/admin/colab/fun/edit/fun_report_project_by_id.ts +++ b/src/app_modules/admin/colab/fun/edit/fun_report_project_by_id.ts @@ -2,7 +2,7 @@ import prisma from "@/app/lib/prisma"; import { RouterAdminColab } from "@/app/lib/router_admin/router_admin_colab"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { revalidatePath } from "next/cache"; export default async function adminColab_funReportProjectById({ @@ -12,7 +12,7 @@ export default async function adminColab_funReportProjectById({ colabId: string; report: string; }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const projectUpdate = await prisma.projectCollaboration.update({ where: { @@ -33,7 +33,7 @@ export default async function adminColab_funReportProjectById({ const updateReport = await prisma.projectCollaboration_Notifikasi.create({ data: { projectCollaborationId: colabId, - adminId: authorId, + adminId: userLoginId, userId: projectUpdate.userId as any, note: "Project Anda Telah Direport Admin", }, diff --git a/src/app_modules/admin/job/child/review/index.tsx b/src/app_modules/admin/job/child/review/index.tsx index bc794da0..6773ca72 100644 --- a/src/app_modules/admin/job/child/review/index.tsx +++ b/src/app_modules/admin/job/child/review/index.tsx @@ -353,6 +353,11 @@ async function onPublish({ "USER", JSON.stringify({ userId: publish?.data?.authorId, count: 1 }) ); + + mqtt_client.publish( + "Job_new_post", + JSON.stringify({ isNewPost: true, count: 1 }) + ); } ComponentGlobal_NotifikasiBerhasil(publish.message); diff --git a/src/app_modules/admin/notifikasi/fun/count/count_is_read.ts b/src/app_modules/admin/notifikasi/fun/count/count_is_read.ts index 646069ea..fd6f9357 100644 --- a/src/app_modules/admin/notifikasi/fun/count/count_is_read.ts +++ b/src/app_modules/admin/notifikasi/fun/count/count_is_read.ts @@ -1,14 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function adminNotifikasi_countNotifikasi() { - const adminId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const data = await prisma.notifikasi.findMany({ where: { - adminId: adminId, + adminId: userLoginId, isRead: false, userRoleId: "2", }, diff --git a/src/app_modules/admin/notifikasi/fun/create/fun_create_notif_user.ts b/src/app_modules/admin/notifikasi/fun/create/fun_create_notif_user.ts index fd4dfcfb..2bc156fa 100644 --- a/src/app_modules/admin/notifikasi/fun/create/fun_create_notif_user.ts +++ b/src/app_modules/admin/notifikasi/fun/create/fun_create_notif_user.ts @@ -1,7 +1,7 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { MODEL_NOTIFIKASI } from "@/app_modules/notifikasi/model/interface"; export default async function adminNotifikasi_funCreateToUser({ @@ -9,11 +9,11 @@ export default async function adminNotifikasi_funCreateToUser({ }: { data: MODEL_NOTIFIKASI; }) { - const adminId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const create = await prisma.notifikasi.create({ data: { - adminId: adminId, + adminId: userLoginId, userId: data.userId, appId: data.appId, status: data.status, diff --git a/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts b/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts index 5df0ec4b..f06f543b 100644 --- a/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts +++ b/src/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id.ts @@ -1,11 +1,10 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import { NextRequest } from "next/server"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function adminNotifikasi_getByUserId() { - const adminId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const data = await prisma.notifikasi.findMany({ orderBy: [ @@ -17,7 +16,7 @@ export default async function adminNotifikasi_getByUserId() { }, ], where: { - adminId: adminId, + adminId: userLoginId, userRoleId: "2", }, }); diff --git a/src/app_modules/auth/fun/fun_login.ts b/src/app_modules/auth/fun/fun_login.ts index 7f53c3a2..1f2f944f 100644 --- a/src/app_modules/auth/fun/fun_login.ts +++ b/src/app_modules/auth/fun/fun_login.ts @@ -3,7 +3,7 @@ import prisma from "@/app/lib/prisma"; import { randomOTP } from "./rondom_otp"; -export async function auth_funLogin(nomor: string) { +export async function auth_funLogin({ nomor }: { nomor: string }) { const codeOtp = randomOTP(); // console.log(nomor) @@ -17,7 +17,7 @@ export async function auth_funLogin(nomor: string) { const sendWa = await res.json(); if (sendWa.status !== "success") - return { status: 400, message: "WA Tidak Terdaftar" }; + return { status: 400, message: "WA Tidak Terdaftar", kodeId: {} }; const createOtpId = await prisma.kodeOtp.create({ data: { @@ -26,15 +26,16 @@ export async function auth_funLogin(nomor: string) { }, }); - if (!createOtpId) return { status: 400, message: "Gagal Membuat Kode OTP" }; + if (!createOtpId) + return { status: 400, message: "Gagal Membuat Kode OTP", kodeId: {} }; return { status: 200, message: "Kode Verifikasi Dikirim", - kodeOtpId: createOtpId.id, + kodeId: createOtpId.id, }; } catch (error) { console.log(error); - return { status: 500, message: "Server Error !!!" }; + return { status: 500, message: "Server Error !!!", kodeId: {} }; } } diff --git a/src/app_modules/auth/fun/fun_logout.ts b/src/app_modules/auth/fun/fun_logout.ts index 88c8d311..59998447 100644 --- a/src/app_modules/auth/fun/fun_logout.ts +++ b/src/app_modules/auth/fun/fun_logout.ts @@ -1,25 +1,32 @@ "use server"; import prisma from "@/app/lib/prisma"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { revalidatePath } from "next/cache"; import { cookies } from "next/headers"; -export async function auth_Logout(kodeId: string) { - cookies().set({ - name: "ssn", - value: "", - maxAge: 0, - }); - - const c = cookies().get("ssn"); - if (c?.value !== "") return { status: 400, message: "Gagal Logout" }; +export async function auth_Logout() { + const userId = await funGetUserIdByToken(); - // const del = await prisma.kodeOtp.delete({ - // where: { - // id: kodeId, - // }, - // }); - // if (!del) return { status: 400, message: "Gagal Hapus Kode OTP Id"}; - // revalidatePath("/dev/katalog") + try { + const delToken = await prisma.userSession.delete({ + where: { + userId: userId, + }, + }); + + if (!delToken) return { status: 400, message: "Gagal Hapus User Session" }; + cookies().set({ + name: "ssn", + value: "", + + }); + + return { status: 200, message: "Logout Berhasil" }; + } catch (error) { + console.log(error); + } + + revalidatePath("/"); return { status: 200, message: "Logout Berhasil" }; } diff --git a/src/app_modules/auth/fun/fun_register.ts b/src/app_modules/auth/fun/fun_register.ts index 390b7b1c..10886f0a 100644 --- a/src/app_modules/auth/fun/fun_register.ts +++ b/src/app_modules/auth/fun/fun_register.ts @@ -1,13 +1,18 @@ "use server"; -import { PwdCookies } from "@/app/lib"; import prisma from "@/app/lib/prisma"; +import { RouterHome } from "@/app/lib/router_hipmi/router_home"; import { sealData } from "iron-session"; +import { revalidatePath } from "next/cache"; import { cookies } from "next/headers"; - -export async function Auth_funRegister(data: any) { - +export async function Auth_funRegister({ + data, + HIPMI_PWD, +}: { + data: any; + HIPMI_PWD: string; +}) { const cekUsername = await prisma.user.findUnique({ where: { username: data.username, @@ -28,21 +33,36 @@ export async function Auth_funRegister(data: any) { }); if (!create) return { status: 400, message: "Gagal Mendaftar" }; - const seal = await sealData( + const sealToken = await sealData( JSON.stringify({ id: create.id, username: create.username, }), { - password: PwdCookies + password: HIPMI_PWD, } ); cookies().set({ name: "ssn", - value: seal, - maxAge: 60 * 60 * 24 * 7, + value: sealToken, + // maxAge: 60 * 60 * 24 * 7, }); + try { + const createUserSession = await prisma.userSession.create({ + data: { + token: sealToken, + userId: create.id, + }, + }); + + if (!createUserSession) + return { status: 401, message: "Gagal Membuat User Session" }; + + revalidatePath(RouterHome.main_home); + } catch (error) { + console.log(error); + } return { status: 200, message: "Berhasil Mendaftar" }; } diff --git a/src/app_modules/auth/fun/fun_validasi.ts b/src/app_modules/auth/fun/fun_validasi.ts index 0e215288..0743df66 100644 --- a/src/app_modules/auth/fun/fun_validasi.ts +++ b/src/app_modules/auth/fun/fun_validasi.ts @@ -1,15 +1,19 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { sealData } from "iron-session"; -import { cookies } from "next/headers"; -import { revalidatePath } from "next/cache"; import { RouterHome } from "@/app/lib/router_hipmi/router_home"; -import { PwdCookies } from "@/app/lib"; +import { sealData, unsealData } from "iron-session"; +import { revalidatePath } from "next/cache"; +import { cookies } from "next/headers"; - -export async function auth_funValidasi(nomor: string) { - const cek = await prisma.user.findUnique({ +export async function auth_funValidasi({ + nomor, + HIPMI_PWD, +}: { + nomor: string; + HIPMI_PWD: string; +}) { + const cekUser = await prisma.user.findUnique({ where: { nomor: nomor, }, @@ -21,30 +25,58 @@ export async function auth_funValidasi(nomor: string) { }, }); - if (cek === null) return { status: 400, message: "Nomor Belum Terdaftar" }; - if (cek) { - const res = await sealData( - JSON.stringify({ - id: cek.id, - username: cek.username, - }), - { - password: PwdCookies, - } - ); + if (cekUser === null) + return { status: 400, message: "Nomor Belum Terdaftar", role: {} }; - cookies().set({ - name: "ssn", - value: res, - maxAge: 60 * 60 * 24 * 30, + const sealToken = await sealData( + JSON.stringify({ + id: cekUser.id, + username: cekUser.username, + }), + { + password: HIPMI_PWD, + } + ); + + cookies().set({ + name: "ssn", + value: sealToken, + maxAge: 60 * 60 * 24 * 30, + }); + + const cekSessionUser = await prisma.userSession.findFirst({ + where: { + userId: cekUser.id, + }, + }); + + if (cekSessionUser !== null) { + await prisma.userSession.delete({ + where: { + userId: cekUser.id, + }, + }); + } + + try { + const createUserSession = await prisma.userSession.create({ + data: { + token: sealToken, + userId: cekUser.id, + }, }); + if (!createUserSession) + return { status: 401, message: "Gagal Membuat User Session", role: {} }; + revalidatePath(RouterHome.main_home); + } catch (error) { + console.log(error); } return { status: 200, message: "Nomor Terverifikasi", - role: cek.masterUserRoleId, + role: cekUser.masterUserRoleId, }; } diff --git a/src/app_modules/auth/fun/get_kode_otp_by_id.ts b/src/app_modules/auth/fun/get_kode_otp_by_id.ts index 7780afad..67a74ce8 100644 --- a/src/app_modules/auth/fun/get_kode_otp_by_id.ts +++ b/src/app_modules/auth/fun/get_kode_otp_by_id.ts @@ -2,10 +2,10 @@ import prisma from "@/app/lib/prisma"; -export async function auth_getKodeOtpById(otpId: string) { +export async function auth_getCodeOtpByNumber({kodeId}: {kodeId: string}) { const data = await prisma.kodeOtp.findFirst({ where: { - id: otpId, + id: kodeId, }, }); diff --git a/src/app_modules/auth/login/view.tsx b/src/app_modules/auth/login/view.tsx index 1651faf3..cf1b432d 100644 --- a/src/app_modules/auth/login/view.tsx +++ b/src/app_modules/auth/login/view.tsx @@ -6,8 +6,6 @@ import { MainColor, } from "@/app_modules/_global/color/color_pallet"; import ComponentGlobal_ErrorInput from "@/app_modules/_global/component/error_input"; -import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil"; -import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan"; import { auth_funLogin } from "@/app_modules/auth/fun/fun_login"; import { BackgroundImage, @@ -17,37 +15,35 @@ import { Text, Title, } from "@mantine/core"; -import { useFocusTrap } from "@mantine/hooks"; import { useAtom } from "jotai"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { PhoneInput } from "react-international-phone"; import "react-international-phone/style.css"; import { gs_kodeId } from "../state/state"; +import { + ComponentGlobal_NotifikasiBerhasil, + ComponentGlobal_NotifikasiPeringatan, +} from "@/app_modules/_global/notif_global"; export default function Login() { const router = useRouter(); - const [kodeId, setKodeId] = useAtom(gs_kodeId); - const focusTrapRef = useFocusTrap(); const [phone, setPhone] = useState(""); const [loading, setLoading] = useState(false); const [isError, setError] = useState(false); async function onLogin() { - const nomorHp = phone.substring(1); + const nomor = phone.substring(1); + if (nomor.length <= 4) return setError(true); - if (nomorHp.length <= 4) return setError(true); - - await auth_funLogin(nomorHp).then((res) => { - if (res.status === 200) { - setLoading(true); - ComponentGlobal_NotifikasiBerhasil(res.message, 2000); - setKodeId(res.kodeOtpId); - router.push(RouterAuth.validasi + res.kodeOtpId); - } else { - ComponentGlobal_NotifikasiPeringatan(res.message); - } - }); + const res = await auth_funLogin({ nomor: nomor }); + if (res.status === 200) { + setLoading(true); + ComponentGlobal_NotifikasiBerhasil(res.message, 2000); + router.push(RouterAuth.validasi + res.kodeId, { scroll: false }); + } else { + ComponentGlobal_NotifikasiPeringatan(res.message); + } // await fetch(ApiHipmi.login, { // method: "POST", diff --git a/src/app_modules/auth/logout/view.tsx b/src/app_modules/auth/logout/view.tsx index 5562145c..4f26f061 100644 --- a/src/app_modules/auth/logout/view.tsx +++ b/src/app_modules/auth/logout/view.tsx @@ -4,33 +4,21 @@ import { Warna } from "@/app/lib/warna"; import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil"; import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan"; import UIGlobal_Modal from "@/app_modules/_global/ui/ui_modal"; -import { - ActionIcon, - Button, - Stack, - Text -} from "@mantine/core"; +import { ActionIcon, Button, Stack, Text } from "@mantine/core"; import { IconLogout } from "@tabler/icons-react"; -import { useAtom } from "jotai"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { auth_Logout } from "../fun/fun_logout"; -import { gs_kodeId } from "../state/state"; export default function Component_Logout() { const router = useRouter(); const [opened, setOpened] = useState(false); - const [kodeId, setKodeId] = useAtom(gs_kodeId); const [loading, setLoading] = useState(false); async function onClickLogout() { - // await auth_Logout(kodeId).then((res) => { - // ComponentGlobal_NotifikasiBerhasil("Berhasil Logout"); - // }); - await auth_Logout(kodeId).then((res) => { + await auth_Logout().then((res) => { if (res.status === 200) { ComponentGlobal_NotifikasiBerhasil(res.message); - setKodeId(""); } else { ComponentGlobal_NotifikasiPeringatan(res.message); } diff --git a/src/app_modules/auth/register/view.tsx b/src/app_modules/auth/register/view.tsx index 087db307..af8f4bd2 100644 --- a/src/app_modules/auth/register/view.tsx +++ b/src/app_modules/auth/register/view.tsx @@ -15,17 +15,16 @@ import { Stack, Text, TextInput, - Title + Title, } from "@mantine/core"; import { useFocusTrap } from "@mantine/hooks"; -import { - IconUserCircle -} from "@tabler/icons-react"; +import { IconUserCircle } from "@tabler/icons-react"; import _ from "lodash"; import { useRouter } from "next/navigation"; import { useState } from "react"; import { auth_funDeleteAktivasiKodeOtpById } from "../fun/fun_edit_aktivasi_kode_otp_by_id"; import { Auth_funRegister } from "../fun/fun_register"; +import { GlobalEnv } from "@/app/lib/token"; export default function Register({ dataOtp }: { dataOtp: any }) { const router = useRouter(); @@ -40,7 +39,6 @@ export default function Register({ dataOtp }: { dataOtp: any }) { username: value, nomor: nomor, }; - // console.log(body); if (body.username === "") { setIsValue(true); @@ -49,7 +47,7 @@ export default function Register({ dataOtp }: { dataOtp: any }) { if (body.username.length < 5) return null; if (_.values(body.username).includes(" ")) return null; - const res = await Auth_funRegister(body) + const res = await Auth_funRegister({data: body, HIPMI_PWD: GlobalEnv.value?.WIBU_PWD as string}); if (res.status === 200) { await auth_funDeleteAktivasiKodeOtpById(dataOtp.id).then((val) => { if (val.status === 200) { @@ -67,16 +65,12 @@ export default function Register({ dataOtp }: { dataOtp: any }) { return ( <> - {/*
{JSON.stringify(dataOtp,null,2)}
*/} - +
REGISTRASI + {GlobalEnv.value?.DATABASE_URL} diff --git a/src/app_modules/auth/validasi/view.tsx b/src/app_modules/auth/validasi/view.tsx index c80cab25..faf637c3 100644 --- a/src/app_modules/auth/validasi/view.tsx +++ b/src/app_modules/auth/validasi/view.tsx @@ -26,6 +26,7 @@ import { useRouter } from "next/navigation"; import { useState } from "react"; import { auth_funDeleteAktivasiKodeOtpById } from "../fun/fun_edit_aktivasi_kode_otp_by_id"; import { auth_funValidasi } from "../fun/fun_validasi"; +import { GlobalEnv } from "@/app/lib/token"; export default function Validasi({ dataOtp }: { dataOtp: any }) { const router = useRouter(); @@ -41,9 +42,11 @@ export default function Validasi({ dataOtp }: { dataOtp: any }) { if (code != inputCode) return ComponentGlobal_NotifikasiPeringatan("Kode Salah"); - const res = await auth_funValidasi(nomor); + const res = await auth_funValidasi({ + nomor: nomor, + HIPMI_PWD: GlobalEnv.value?.WIBU_PWD as string, + }); if (res.status === 200) { - const resAktivasi = await auth_funDeleteAktivasiKodeOtpById(dataOtp.id); if (resAktivasi.status === 200) { if (res.role === "1") { @@ -51,16 +54,27 @@ export default function Validasi({ dataOtp }: { dataOtp: any }) { setLoading(true); router.push(RouterHome.main_home, { scroll: false }); } else { - router.push(RouterAdminDashboard.splash_admin); + ComponentGlobal_NotifikasiBerhasil("Admin Logged in"); + setLoading(true); + router.push(RouterAdminDashboard.splash_admin, { scroll: false }); } } else { ComponentGlobal_NotifikasiPeringatan(resAktivasi.message); } + } - } else { + if (res.status === 400) { ComponentGlobal_NotifikasiBerhasil(res.message); router.push(RouterAuth.register + dataOtp.id, { scroll: false }); } + + if (res.status === 401) { + const resAktivasi = await auth_funDeleteAktivasiKodeOtpById(dataOtp.id); + if (resAktivasi.status === 200) { + ComponentGlobal_NotifikasiPeringatan(res.message); + router.push(RouterAuth.login, { scroll: false }); + } + } } return ( diff --git a/src/app_modules/check_cookies/index.ts b/src/app_modules/check_cookies/index.ts new file mode 100644 index 00000000..c5fdd44c --- /dev/null +++ b/src/app_modules/check_cookies/index.ts @@ -0,0 +1,5 @@ +import { CheckCookies_UiLayout } from "./layout_cek_cookies"; +import { CheckCookies_UiView } from "./ui_check_cookies"; + +export { CheckCookies_UiView }; +export { CheckCookies_UiLayout }; diff --git a/src/app_modules/check_cookies/layout_cek_cookies.tsx b/src/app_modules/check_cookies/layout_cek_cookies.tsx new file mode 100644 index 00000000..75070c50 --- /dev/null +++ b/src/app_modules/check_cookies/layout_cek_cookies.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { RouterAuth } from "@/app/lib/router_hipmi/router_auth"; +import { useShallowEffect } from "@mantine/hooks"; +import { useRouter } from "next/navigation"; + +export function CheckCookies_UiLayout({ + children, +}: { + children: React.ReactNode; +}) { + const router = useRouter(); + + useShallowEffect(() => { + onCheckCookies(); + }, []); + + async function onCheckCookies() { + const cek = await fetch("/api/check-cookies"); + const result = await cek.json(); + if (result.success === false) { + router.push(RouterAuth.login); + } + } + + return <>{children}; +} diff --git a/src/app_modules/check_cookies/ui_check_cookies.tsx b/src/app_modules/check_cookies/ui_check_cookies.tsx new file mode 100644 index 00000000..9a62aca7 --- /dev/null +++ b/src/app_modules/check_cookies/ui_check_cookies.tsx @@ -0,0 +1,23 @@ +"use client"; + +import { Button, Center } from "@mantine/core"; +import { UIGlobal_LayoutTamplate } from "../_global/ui"; +import { RouterAuth } from "@/app/lib/router_hipmi/router_auth"; +import { useRouter } from "next/navigation"; +import { useShallowEffect } from "@mantine/hooks"; + +export function CheckCookies_UiView() { + const router = useRouter(); + + return ( + <> + +
+ +
+
+ + ); +} diff --git a/src/app_modules/colab/fun/create/fun_create_proyek.ts b/src/app_modules/colab/fun/create/fun_create_proyek.ts index 77ad80a2..22e689ea 100644 --- a/src/app_modules/colab/fun/create/fun_create_proyek.ts +++ b/src/app_modules/colab/fun/create/fun_create_proyek.ts @@ -1,16 +1,15 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { MODEL_COLLABORATION } from "../../model/interface"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import { revalidatePath } from "next/cache"; import { RouterColab } from "@/app/lib/router_hipmi/router_colab"; -import _ from "lodash"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import { revalidatePath } from "next/cache"; +import { MODEL_COLLABORATION } from "../../model/interface"; export default async function colab_funCreateProyek( value: MODEL_COLLABORATION ) { - const AuthorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const data = await prisma.projectCollaboration.create({ data: { @@ -20,7 +19,7 @@ export default async function colab_funCreateProyek( benefit: value.benefit, projectCollaborationMaster_IndustriId: value.projectCollaborationMaster_IndustriId, - userId: AuthorId, + userId: userLoginId, // jumlah_partisipan: + value.jumlah_partisipan, }, }); diff --git a/src/app_modules/colab/fun/create/fun_create_room_chat.ts b/src/app_modules/colab/fun/create/fun_create_room_chat.ts index 8111d59c..d697c5ff 100644 --- a/src/app_modules/colab/fun/create/fun_create_room_chat.ts +++ b/src/app_modules/colab/fun/create/fun_create_room_chat.ts @@ -1,19 +1,19 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_funCreateRoomChat( nameRoom: string, value: any[], colabId: string ) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const createRoom = await prisma.projectCollaboration_RoomChat.create({ data: { name: nameRoom, - userId: authorId, + userId: userLoginId, projectCollaborationId: colabId, }, }); @@ -51,7 +51,7 @@ export default async function colab_funCreateRoomChat( const createForAuthor = await prisma.projectCollaboration_AnggotaRoomChat.create({ data: { - userId: authorId, + userId: userLoginId, projectCollaboration_RoomChatId: createRoom.id, }, }); diff --git a/src/app_modules/colab/fun/create/room/fun_create_message_by_user_id.ts b/src/app_modules/colab/fun/create/room/fun_create_message_by_user_id.ts index 491d858e..f10a3e9b 100644 --- a/src/app_modules/colab/fun/create/room/fun_create_message_by_user_id.ts +++ b/src/app_modules/colab/fun/create/room/fun_create_message_by_user_id.ts @@ -2,14 +2,15 @@ import prisma from "@/app/lib/prisma"; import { RouterColab } from "@/app/lib/router_hipmi/router_colab"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { revalidatePath } from "next/cache"; export default async function colab_funCreateMessageByUserId( message: string, roomId: string ) { - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const msg = await prisma.projectCollaboration_Message.create({ data: { userId: userLoginId, diff --git a/src/app_modules/colab/fun/get/cek_notifikasi.ts b/src/app_modules/colab/fun/get/cek_notifikasi.ts index a22e80f6..78c16068 100644 --- a/src/app_modules/colab/fun/get/cek_notifikasi.ts +++ b/src/app_modules/colab/fun/get/cek_notifikasi.ts @@ -1,14 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_CekNotifikasi() { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const cekNotif = await prisma.projectCollaboration_Notifikasi.findMany({ where: { - userId: authorId, + userId: userLoginId, isRead: false, }, select: { diff --git a/src/app_modules/colab/fun/get/cek_partisipasi_by_user_id.ts b/src/app_modules/colab/fun/get/cek_partisipasi_by_user_id.ts index cb8c3aa1..4afacf5c 100644 --- a/src/app_modules/colab/fun/get/cek_partisipasi_by_user_id.ts +++ b/src/app_modules/colab/fun/get/cek_partisipasi_by_user_id.ts @@ -1,22 +1,21 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_funCekPartisipasiById(colabId: string) { - const UserLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const cek = await prisma.projectCollaboration_Partisipasi.findFirst({ where: { projectCollaborationId: colabId, - userId: UserLoginId, + userId: userLoginId, }, }); - if (cek === null) { - return (false); + return false; } else { - return (true); + return true; } } diff --git a/src/app_modules/colab/fun/get/get_list_by_status_id.ts b/src/app_modules/colab/fun/get/get_list_by_status_id.ts index 926ae766..80800b55 100644 --- a/src/app_modules/colab/fun/get/get_list_by_status_id.ts +++ b/src/app_modules/colab/fun/get/get_list_by_status_id.ts @@ -1,13 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_getListByStatusId(statusId: number) { - const AuthorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const data = await prisma.projectCollaboration.findMany({ where: { - userId: AuthorId, + userId: userLoginId, projectCollaborationMaster_StatusId: statusId, }, select: { diff --git a/src/app_modules/colab/fun/get/get_list_notifikasi_by_user_id.ts b/src/app_modules/colab/fun/get/get_list_notifikasi_by_user_id.ts index 523f5146..d682a291 100644 --- a/src/app_modules/colab/fun/get/get_list_notifikasi_by_user_id.ts +++ b/src/app_modules/colab/fun/get/get_list_notifikasi_by_user_id.ts @@ -1,20 +1,20 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_getListNotifikasiByUserId() { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const get = await prisma.projectCollaboration_Notifikasi.findMany({ orderBy: { - createdAt: "desc", + createdAt: "desc", }, where: { - userId: authorId, + userId: userLoginId, }, select: { - id:true, + id: true, createdAt: true, isRead: true, note: true, diff --git a/src/app_modules/colab/fun/get/pasrtisipan/get_list_partisipasi_proyek_by_author_id.ts b/src/app_modules/colab/fun/get/pasrtisipan/get_list_partisipasi_proyek_by_author_id.ts index 147fe2a7..f65e3d82 100644 --- a/src/app_modules/colab/fun/get/pasrtisipan/get_list_partisipasi_proyek_by_author_id.ts +++ b/src/app_modules/colab/fun/get/pasrtisipan/get_list_partisipasi_proyek_by_author_id.ts @@ -1,14 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_getListPartisipasiProyekByAuthorId({ page, }: { page: number; }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 5; const skipData = page * takeData - takeData; @@ -20,7 +20,7 @@ export default async function colab_getListPartisipasiProyekByAuthorId({ createdAt: "desc", }, where: { - userId: authorId, + userId: userLoginId, isActive: true, AND: { ProjectCollaboration: { diff --git a/src/app_modules/colab/fun/get/pasrtisipan/get_list_proyek_saya_by_author_id.ts b/src/app_modules/colab/fun/get/pasrtisipan/get_list_proyek_saya_by_author_id.ts index 594d9398..7b149e7e 100644 --- a/src/app_modules/colab/fun/get/pasrtisipan/get_list_proyek_saya_by_author_id.ts +++ b/src/app_modules/colab/fun/get/pasrtisipan/get_list_proyek_saya_by_author_id.ts @@ -1,14 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function colab_getListAllProyekSayaByAuthorId({ page, }: { page: number; }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 5; const skipData = page * takeData - takeData; @@ -17,7 +17,7 @@ export default async function colab_getListAllProyekSayaByAuthorId({ take: takeData, skip: skipData, orderBy: { createdAt: "desc" }, - where: { userId: authorId, isActive: true }, + where: { userId: userLoginId, isActive: true }, select: { id: true, isActive: true, diff --git a/src/app_modules/colab/fun/get/room_chat/get_list_room_by_author_id.ts b/src/app_modules/colab/fun/get/room_chat/get_list_room_by_author_id.ts index f0da803f..2f53e1f9 100644 --- a/src/app_modules/colab/fun/get/room_chat/get_list_room_by_author_id.ts +++ b/src/app_modules/colab/fun/get/room_chat/get_list_room_by_author_id.ts @@ -1,10 +1,15 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; + +export default async function colab_getListRoomChatByAuthorId({ + page, +}: { + page: number; +}) { + const userLoginId = await funGetUserIdByToken(); -export default async function colab_getListRoomChatByAuthorId({page}: {page: number}) { - const userLoginId = await user_funGetOneUserId(); const takeData = 10; const skipData = page * takeData - takeData; @@ -36,5 +41,4 @@ export default async function colab_getListRoomChatByAuthorId({page}: {page: num // console.log(listRoom); return listRoom; - } diff --git a/src/app_modules/donasi/fun/get/get_all_invoice_by_author_id.tsx b/src/app_modules/donasi/fun/get/get_all_invoice_by_author_id.tsx index 9daafdf1..079c1047 100644 --- a/src/app_modules/donasi/fun/get/get_all_invoice_by_author_id.tsx +++ b/src/app_modules/donasi/fun/get/get_all_invoice_by_author_id.tsx @@ -1,14 +1,15 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function donasi_funGetAllInvoiceByAuthorId({ page, }: { page: number; }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 5; const skipData = page * takeData - takeData; @@ -19,7 +20,7 @@ export async function donasi_funGetAllInvoiceByAuthorId({ createdAt: "desc", }, where: { - authorId: authorId, + authorId: userLoginId, }, select: { id: true, diff --git a/src/app_modules/donasi/fun/get/status/get_all_status_draft.ts b/src/app_modules/donasi/fun/get/status/get_all_status_draft.ts index e0a9f38f..ba740354 100644 --- a/src/app_modules/donasi/fun/get/status/get_all_status_draft.ts +++ b/src/app_modules/donasi/fun/get/status/get_all_status_draft.ts @@ -1,10 +1,11 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function donasi_funGetAllStatusDraft({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 5; const skipData = page * takeData - takeData; @@ -15,10 +16,10 @@ export async function donasi_funGetAllStatusDraft({ page }: { page: number }) { updatedAt: "desc", }, where: { - authorId: authorId, + authorId: userLoginId, donasiMaster_StatusDonasiId: "3", }, }); - + return data; } diff --git a/src/app_modules/donasi/fun/get/status/get_all_status_publish.ts b/src/app_modules/donasi/fun/get/status/get_all_status_publish.ts index bd1b4b9b..623fd1eb 100644 --- a/src/app_modules/donasi/fun/get/status/get_all_status_publish.ts +++ b/src/app_modules/donasi/fun/get/status/get_all_status_publish.ts @@ -1,14 +1,18 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; + +export async function donasi_funGetAllStatusPublish({ + page, +}: { + page: number; +}) { + const userLoginId = await funGetUserIdByToken(); -export async function donasi_funGetAllStatusPublish({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); const takeData = 5; const skipData = page * takeData - takeData; - const data = await prisma.donasi.findMany({ take: takeData, skip: skipData, @@ -16,7 +20,7 @@ export async function donasi_funGetAllStatusPublish({ page }: { page: number }) publishTime: "desc", }, where: { - authorId: authorId, + authorId: userLoginId, donasiMaster_StatusDonasiId: "1", active: true, }, diff --git a/src/app_modules/donasi/fun/get/status/get_all_status_reject.ts b/src/app_modules/donasi/fun/get/status/get_all_status_reject.ts index c528212d..b4781315 100644 --- a/src/app_modules/donasi/fun/get/status/get_all_status_reject.ts +++ b/src/app_modules/donasi/fun/get/status/get_all_status_reject.ts @@ -1,10 +1,11 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function donasi_funGetAllStatusReject({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 5; const skipData = page * takeData - takeData; @@ -15,7 +16,7 @@ export async function donasi_funGetAllStatusReject({ page }: { page: number }) { updatedAt: "desc", }, where: { - authorId: authorId, + authorId: userLoginId, donasiMaster_StatusDonasiId: "4", }, }); diff --git a/src/app_modules/donasi/fun/get/status/get_all_status_review.ts b/src/app_modules/donasi/fun/get/status/get_all_status_review.ts index 81266566..272cf89f 100644 --- a/src/app_modules/donasi/fun/get/status/get_all_status_review.ts +++ b/src/app_modules/donasi/fun/get/status/get_all_status_review.ts @@ -1,24 +1,25 @@ -"use server" +"use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; -export async function donasi_funGetAllStatusReview({page}: {page: number}) { - const authorId = await user_funGetOneUserId(); - const takeData = 5; - const skipData = page * takeData - takeData; +export async function donasi_funGetAllStatusReview({ page }: { page: number }) { + const userLoginId = await funGetUserIdByToken(); - const data = await prisma.donasi.findMany({ - take: takeData, - skip: skipData, - orderBy: { - updatedAt: "desc", - }, - where: { - authorId: authorId, - donasiMaster_StatusDonasiId: "2", - }, - }); + const takeData = 5; + const skipData = page * takeData - takeData; - return data; -} \ No newline at end of file + const data = await prisma.donasi.findMany({ + take: takeData, + skip: skipData, + orderBy: { + updatedAt: "desc", + }, + where: { + authorId: userLoginId, + donasiMaster_StatusDonasiId: "2", + }, + }); + + return data; +} diff --git a/src/app_modules/event/fun/get/get_list_kontribusi_by_user_id.ts b/src/app_modules/event/fun/get/get_list_kontribusi_by_user_id.ts index daf92344..e715788b 100644 --- a/src/app_modules/event/fun/get/get_list_kontribusi_by_user_id.ts +++ b/src/app_modules/event/fun/get/get_list_kontribusi_by_user_id.ts @@ -1,10 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; -export async function event_getListKontibusiByUserId({page}: {page: number}) { - const userLoginId = await user_funGetOneUserId(); +export async function event_getListKontibusiByUserId({ + page, +}: { + page: number; +}) { + const userLoginId = await funGetUserIdByToken(); const takeData = 10; const skipData = page * takeData - takeData; @@ -41,8 +45,8 @@ export async function event_getListKontibusiByUserId({page}: {page: number}) { userId: true, User: { select: { - Profile: true - } + Profile: true, + }, }, }, }, @@ -50,7 +54,7 @@ export async function event_getListKontibusiByUserId({page}: {page: number}) { }, }, }); -// console.log(data); + // console.log(data); return data; } diff --git a/src/app_modules/event/fun/get/get_list_riwayat_saya.ts b/src/app_modules/event/fun/get/get_list_riwayat_saya.ts index dabb4675..76432ab5 100644 --- a/src/app_modules/event/fun/get/get_list_riwayat_saya.ts +++ b/src/app_modules/event/fun/get/get_list_riwayat_saya.ts @@ -1,16 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import _ from "lodash"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; -export async function event_getListRiwayatSaya({page}: {page: number}) { - const authorId = await user_funGetOneUserId(); +export async function event_getListRiwayatSaya({ page }: { page: number }) { + const userLoginId = await funGetUserIdByToken(); const takeData = 10; const skipData = page * takeData - takeData; - const data = await prisma.event.findMany({ take: takeData, skip: skipData, @@ -18,7 +16,7 @@ export async function event_getListRiwayatSaya({page}: {page: number}) { tanggal: "desc", }, where: { - authorId: authorId, + authorId: userLoginId, eventMaster_StatusId: "1", tanggal: { lte: new Date(), diff --git a/src/app_modules/event/fun/get/status/get_all_draft.ts b/src/app_modules/event/fun/get/status/get_all_draft.ts index 4bcd2da8..2bfcdcb3 100644 --- a/src/app_modules/event/fun/get/status/get_all_draft.ts +++ b/src/app_modules/event/fun/get/status/get_all_draft.ts @@ -1,10 +1,11 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function event_getAllDraft({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +18,7 @@ export async function event_getAllDraft({ page }: { page: number }) { where: { active: true, eventMaster_StatusId: "3", - authorId: authorId, + authorId: userLoginId, }, select: { id: true, diff --git a/src/app_modules/event/fun/get/status/get_all_reject.ts b/src/app_modules/event/fun/get/status/get_all_reject.ts index d6622298..7cb1d020 100644 --- a/src/app_modules/event/fun/get/status/get_all_reject.ts +++ b/src/app_modules/event/fun/get/status/get_all_reject.ts @@ -1,10 +1,11 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function event_getAllReject({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +18,7 @@ export async function event_getAllReject({ page }: { page: number }) { where: { active: true, eventMaster_StatusId: "4", - authorId: authorId, + authorId: userLoginId, }, select: { id: true, diff --git a/src/app_modules/event/fun/get/status/get_all_review.ts b/src/app_modules/event/fun/get/status/get_all_review.ts index 37d84f9a..facb92ba 100644 --- a/src/app_modules/event/fun/get/status/get_all_review.ts +++ b/src/app_modules/event/fun/get/status/get_all_review.ts @@ -1,10 +1,11 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function event_getAllReview({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +18,7 @@ export async function event_getAllReview({ page }: { page: number }) { where: { active: true, eventMaster_StatusId: "2", - authorId: authorId, + authorId: userLoginId, }, select: { id: true, diff --git a/src/app_modules/event/fun/get/status/get_all_status_publish.ts b/src/app_modules/event/fun/get/status/get_all_status_publish.ts index 73dd34af..a4acc07c 100644 --- a/src/app_modules/event/fun/get/status/get_all_status_publish.ts +++ b/src/app_modules/event/fun/get/status/get_all_status_publish.ts @@ -1,10 +1,11 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function event_funGetAllStatusPublish({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +18,7 @@ export async function event_funGetAllStatusPublish({ page }: { page: number }) { where: { active: true, eventMaster_StatusId: "1", - authorId: authorId, + authorId: userLoginId, tanggal: { gte: new Date(), }, diff --git a/src/app_modules/forum/component/komentar_component/komentar_button_more.tsx b/src/app_modules/forum/component/komentar_component/komentar_button_more.tsx index a6b4b9be..40de0bae 100644 --- a/src/app_modules/forum/component/komentar_component/komentar_button_more.tsx +++ b/src/app_modules/forum/component/komentar_component/komentar_button_more.tsx @@ -3,38 +3,30 @@ import { RouterForum } from "@/app/lib/router_hipmi/router_forum"; import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil"; import { - Drawer, - Stack, - Grid, - Button, - Modal, - Title, - Group, ActionIcon, - Text, - Box, - Center, + Button, + Drawer, + Grid, + Group, Loader, + Modal, + Stack, + Text, + Title, } from "@mantine/core"; -import { useDisclosure, useShallowEffect } from "@mantine/hooks"; -import { IconTrash, IconEdit, IconFlag3, IconDots } from "@tabler/icons-react"; +import { useDisclosure } from "@mantine/hooks"; +import { IconDots, IconFlag3, IconTrash } from "@tabler/icons-react"; import { useRouter } from "next/navigation"; import { useState } from "react"; -import { createStyles } from "@mantine/core"; -import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2"; -import { useAtom } from "jotai"; -import { gs_forum_loading_edit_posting } from "../../global_state"; -import ComponentForum_LoadingDrawer from "../loading_drawer"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import { forum_funDeletePostingById } from "../../fun/delete/fun_delete_posting_by_id"; -import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal"; -import { forum_funDeleteKomentarById } from "../../fun/delete/fun_delete_komentar_by_id"; -import { forum_funGetAllKomentarById } from "../../fun/get/get_all_komentar_by_id"; import { AccentColor, MainColor, } from "@/app_modules/_global/color/color_pallet"; +import ComponentGlobal_V2_LoadingPage from "@/app_modules/_global/loading_page_v2"; +import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal"; +import { forum_funDeleteKomentarById } from "../../fun/delete/fun_delete_komentar_by_id"; +import { forum_funGetAllKomentarById } from "../../fun/get/get_all_komentar_by_id"; export default function ComponentForum_KomentarButtonMore({ userId, @@ -200,7 +192,9 @@ function ButtonDelete({ return ( <> - Yakin menghapus komentar ini ? + + Yakin menghapus komentar ini ? + +
+ + + ); +} diff --git a/src/app_modules/job/component/button/comp_button_update.tsx b/src/app_modules/job/component/button/comp_button_update_data.tsx similarity index 97% rename from src/app_modules/job/component/button/comp_button_update.tsx rename to src/app_modules/job/component/button/comp_button_update_data.tsx index 225cb84d..edee3ede 100644 --- a/src/app_modules/job/component/button/comp_button_update.tsx +++ b/src/app_modules/job/component/button/comp_button_update_data.tsx @@ -15,7 +15,7 @@ import { MODEL_JOB } from "../../model/interface"; import { funGlobal_UploadToStorage } from "@/app_modules/_global/fun"; import { DIRECTORY_ID } from "@/app/lib"; -export function Job_ComponentButtonUpdate({ +export function Job_ComponentButtonUpdateData({ value, file, }: { @@ -48,6 +48,7 @@ export function Job_ComponentButtonUpdate({ const updateWithFile = await job_EditById({ data: value, + fileId: uploadFile.data.id, }); if (updateWithFile.status !== 200) return ComponentGlobal_NotifikasiGagal(updateWithFile.message); diff --git a/src/app_modules/job/component/button/create_button.tsx b/src/app_modules/job/component/button/create_button.tsx deleted file mode 100644 index 27e83118..00000000 --- a/src/app_modules/job/component/button/create_button.tsx +++ /dev/null @@ -1,66 +0,0 @@ -"use client"; - -import { RouterJob } from "@/app/lib/router_hipmi/router_job"; -import { AccentColor } from "@/app_modules/_global/color/color_pallet"; -import { Affix, rem, ActionIcon, Loader, Box } from "@mantine/core"; -import { IconPencilPlus } from "@tabler/icons-react"; -import { useRouter } from "next/navigation"; -import { useState } from "react"; - -export default function ComponentJob_CreateButton() { - const router = useRouter(); - const [isLoading, setLoading] = useState(false); - - return ( - <> - { - setLoading(true); - router.push(RouterJob.create); - }} - > - {isLoading ? ( - - ) : ( - - )} - - - {/* - { - setLoading(true); - router.push(RouterJob.create); - }} - > - {isLoading ? ( - - ) : ( - - )} - - */} - - ); -} diff --git a/src/app_modules/job/component/index.ts b/src/app_modules/job/component/index.ts index 616e108c..810f60b3 100644 --- a/src/app_modules/job/component/index.ts +++ b/src/app_modules/job/component/index.ts @@ -1,7 +1,9 @@ import Job_ComponentButtonSaveCreate from "./button/comp_button_save_create"; -import { Job_ComponentButtonUpdate } from "./button/comp_button_update"; +import { Job_ComponentButtonUpdateBeranda } from "./button/comp_button_update_beranda"; +import { Job_ComponentButtonUpdateData } from "./button/comp_button_update_data"; import { Job_ComponentBoxUploadImage } from "./detail/comp_box_upload_image"; export { Job_ComponentButtonSaveCreate }; export { Job_ComponentBoxUploadImage }; -export { Job_ComponentButtonUpdate }; +export { Job_ComponentButtonUpdateData as Job_ComponentButtonUpdate }; +export { Job_ComponentButtonUpdateBeranda }; diff --git a/src/app_modules/job/create/view.tsx b/src/app_modules/job/create/view.tsx index 23c6bcce..c111b3ee 100644 --- a/src/app_modules/job/create/view.tsx +++ b/src/app_modules/job/create/view.tsx @@ -2,7 +2,6 @@ import { AspectRatio, - Box, Button, Center, FileButton, @@ -29,13 +28,11 @@ import { import { ComponentGlobal_BoxInformation, + ComponentGlobal_BoxUploadImage, ComponentGlobal_CardStyles, ComponentGlobal_InputCountDown, } from "@/app_modules/_global/component"; -import { - Job_ComponentBoxUploadImage, - Job_ComponentButtonSaveCreate, -} from "../component"; +import { Job_ComponentButtonSaveCreate } from "../component"; import { defaultDeskripsi, defaultSyarat } from "../component/default_value"; export default function Job_Create() { @@ -57,7 +54,7 @@ export default function Job_Create() { - + {img ? ( )} - +
{ return import("react-quill"); }, { ssr: false } ); -import "react-quill/dist/quill.snow.css"; -import { Job_ComponentBoxUploadImage, Job_ComponentButtonUpdate } from "../component"; -import { APIs } from "@/app/lib"; -import { ComponentGlobal_CardStyles } from "@/app_modules/_global/component"; export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) { const [value, setValue] = useState(dataJob); @@ -63,7 +45,7 @@ export default function Job_Edit({ dataJob }: { dataJob: MODEL_JOB }) { <> - + {value.imageId ? ( )} - +
{ + onLoadNewData({ + onLoad(val) { + setData(val); + }, + }); + + mqtt_client.subscribe("Job_new_post"); + mqtt_client.on("message", (topic, message) => { + if (topic === "Job_new_post") { + setIsNewPost(true); + } + }); + }, [setIsNewPost, setData]); + + async function onLoadNewData({ onLoad }: { onLoad: (val: any) => void }) { + const loadData = await job_getAllListPublish({ page: 1 }); + onLoad(loadData); + } + return ( <> - {/* */} - + {isNewPost && ( + setIsNewPost(val)} + onSetData={(val) => setData(val)} + /> + )} + } + icon={} placeholder="Pekerjaan apa yang anda cari ?" onChange={(val) => { onSearch(val.currentTarget.value); diff --git a/src/app_modules/katalog/component/index.ts b/src/app_modules/katalog/component/index.ts new file mode 100644 index 00000000..e69de29b diff --git a/src/app_modules/katalog/portofolio/component/button/comp_button_selanjutnya.tsx b/src/app_modules/katalog/portofolio/component/button/comp_button_selanjutnya.tsx new file mode 100644 index 00000000..6b4e307a --- /dev/null +++ b/src/app_modules/katalog/portofolio/component/button/comp_button_selanjutnya.tsx @@ -0,0 +1,83 @@ +import { RouterMap } from "@/app/lib/router_hipmi/router_map"; +import { MainColor } from "@/app_modules/_global/color"; +import { + ComponentGlobal_NotifikasiGagal, + ComponentGlobal_NotifikasiPeringatan, +} from "@/app_modules/_global/notif_global"; +import { MODEL_PORTOFOLIO_OLD } from "@/app_modules/model_global/portofolio"; +import { Button } from "@mantine/core"; +import _ from "lodash"; + +import { useRouter } from "next/navigation"; +import { useState } from "react"; +import funCreatePortofolio from "../../fun/fun_create_portofolio"; + +export function Portofolio_ComponentButtonSelanjutnya({ + profileId, + dataPorto, + file, + dataMedsos, + setIsFile, +}: { + profileId: string; + dataPorto: MODEL_PORTOFOLIO_OLD; + file: FormData; + dataMedsos: any; + setIsFile: any; +}) { + const router = useRouter(); + const [loading, setLoading] = useState(false); + + async function onSubmit() { + const porto = { + namaBisnis: dataPorto.namaBisnis, + masterBidangBisnisId: dataPorto.masterBidangBisnisId, + alamatKantor: dataPorto.alamatKantor, + tlpn: dataPorto.tlpn, + deskripsi: dataPorto.deskripsi, + }; + + if (_.values(porto).includes("")) + return ComponentGlobal_NotifikasiPeringatan("Lengkapi Data"); + if (file === null) { + setIsFile(true); + return null; + } + + const gambar = new FormData(); + gambar.append("file", file as any); + + const res = await funCreatePortofolio( + profileId, + porto as any, + gambar, + dataMedsos + ); + if (res.status === 201) { + setLoading(true); + // ComponentGlobal_NotifikasiBerhasil("Berhasil disimpan"); + router.replace(RouterMap.create + res.id, { scroll: false }); + } else { + ComponentGlobal_NotifikasiGagal("Gagal disimpan"); + } + } + return ( + <> + + + ); +} diff --git a/src/app_modules/katalog/portofolio/component/index.ts b/src/app_modules/katalog/portofolio/component/index.ts index ce8e74ee..ef253d5f 100644 --- a/src/app_modules/katalog/portofolio/component/index.ts +++ b/src/app_modules/katalog/portofolio/component/index.ts @@ -1 +1,4 @@ +import { Portofolio_ComponentButtonSelanjutnya } from "./button/comp_button_selanjutnya"; + export { ComponentPortofolio_DetailDataMap } from "./detail_data_drawer_map"; +export { Portofolio_ComponentButtonSelanjutnya }; diff --git a/src/app_modules/katalog/portofolio/create/view.tsx b/src/app_modules/katalog/portofolio/create/view.tsx index b11ed7fe..760038cb 100644 --- a/src/app_modules/katalog/portofolio/create/view.tsx +++ b/src/app_modules/katalog/portofolio/create/view.tsx @@ -34,6 +34,8 @@ import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.share import { useRouter } from "next/navigation"; import { useState } from "react"; import funCreatePortofolio from "../fun/fun_create_portofolio"; +import { Portofolio_ComponentButtonSelanjutnya } from "../component"; +import { ComponentGlobal_BoxUploadImage } from "@/app_modules/_global/component"; export default function CreatePortofolio({ bidangBisnis, @@ -42,9 +44,7 @@ export default function CreatePortofolio({ bidangBisnis: BIDANG_BISNIS_OLD; profileId: any; }) { - const router = useRouter(); - const [loading, setLoading] = useState(false); - const [value, setValue] = useState({ + const [dataPortofolio, setDataPortofolio] = useState({ namaBisnis: "", masterBidangBisnisId: "", alamatKantor: "", @@ -52,7 +52,7 @@ export default function CreatePortofolio({ deskripsi: "", }); - const [medsos, setMedsos] = useState({ + const [dataMedsos, setDataMedsos] = useState({ facebook: "", twitter: "", instagram: "", @@ -82,8 +82,8 @@ export default function CreatePortofolio({ placeholder="Nama bisnis" maxLength={100} onChange={(val) => { - setValue({ - ...value, + setDataPortofolio({ + ...dataPortofolio, namaBisnis: _.startCase(val.target.value), }); }} @@ -102,8 +102,8 @@ export default function CreatePortofolio({ label: e.name, }))} onChange={(val) => { - setValue({ - ...value, + setDataPortofolio({ + ...dataPortofolio, masterBidangBisnisId: val as any, }); }} @@ -119,8 +119,8 @@ export default function CreatePortofolio({ placeholder="Alamat bisnis" maxLength={100} onChange={(val) => { - setValue({ - ...value, + setDataPortofolio({ + ...dataPortofolio, alamatKantor: val.target.value, }); }} @@ -136,8 +136,8 @@ export default function CreatePortofolio({ placeholder="Nomor telepon " type="number" onChange={(val) => { - setValue({ - ...value, + setDataPortofolio({ + ...dataPortofolio, tlpn: val.target.value, }); }} @@ -157,15 +157,15 @@ export default function CreatePortofolio({ label="Deskripsi" placeholder="Deskripsi singkat mengenai usaha" onChange={(val) => { - setValue({ - ...value, + setDataPortofolio({ + ...dataPortofolio, deskripsi: val.target.value, }); }} /> @@ -182,52 +182,25 @@ export default function CreatePortofolio({ {isFile ? : ""} */} - {img ? ( - - + + {img ? ( + Foto - - - ) : ( - - - - - Upload Logo Bisnis - - Masukan logo bisnis anda untuk ditampilkan dalam - portofolio - - - - - - )} + + ) : ( + + Upload Logo Bisnis + + Masukan logo bisnis anda untuk ditampilkan dalam portofolio + + + )} +
{ - setMedsos({ - ...medsos, + setDataMedsos({ + ...dataMedsos, facebook: val.target.value, }); }} @@ -296,8 +269,8 @@ export default function CreatePortofolio({ maxLength={100} placeholder="Instagram" onChange={(val) => { - setMedsos({ - ...medsos, + setDataMedsos({ + ...dataMedsos, instagram: val.target.value, }); }} @@ -312,8 +285,8 @@ export default function CreatePortofolio({ maxLength={100} placeholder="Tiktok" onChange={(val) => { - setMedsos({ - ...medsos, + setDataMedsos({ + ...dataMedsos, tiktok: val.target.value, }); }} @@ -328,8 +301,8 @@ export default function CreatePortofolio({ maxLength={100} placeholder="Twitter" onChange={(val) => { - setMedsos({ - ...medsos, + setDataMedsos({ + ...dataMedsos, twitter: val.target.value, }); }} @@ -344,82 +317,24 @@ export default function CreatePortofolio({ maxLength={100} placeholder="Youtube" onChange={(val) => { - setMedsos({ - ...medsos, + setDataMedsos({ + ...dataMedsos, youtube: val.target.value, }); }} /> - + {/*
 {JSON.stringify(bidangBisnis, null, 2)}
*/} ); } - -async function onSubmit( - router: AppRouterInstance, - profileId: string, - dataPorto: MODEL_PORTOFOLIO_OLD, - file: FormData, - dataMedsos: any, - setLoading: any, - setIsFile: any -) { - const porto = { - namaBisnis: dataPorto.namaBisnis, - masterBidangBisnisId: dataPorto.masterBidangBisnisId, - alamatKantor: dataPorto.alamatKantor, - tlpn: dataPorto.tlpn, - deskripsi: dataPorto.deskripsi, - }; - - if (_.values(porto).includes("")) - return ComponentGlobal_NotifikasiPeringatan("Lengkapi Data"); - if (file === null) { - setIsFile(true); - return null; - } - - const gambar = new FormData(); - gambar.append("file", file as any); - - const res = await funCreatePortofolio( - profileId, - porto as any, - gambar, - dataMedsos - ); - if (res.status === 201) { - setLoading(true); - // ComponentGlobal_NotifikasiBerhasil("Berhasil disimpan"); - router.replace(RouterMap.create + res.id , {scroll: false}); - } else { - ComponentGlobal_NotifikasiGagal("Gagal disimpan"); - } -} diff --git a/src/app_modules/katalog/profile/_component/button/comp_create_new_profile.tsx b/src/app_modules/katalog/profile/_component/button/comp_create_new_profile.tsx new file mode 100644 index 00000000..8dc4def5 --- /dev/null +++ b/src/app_modules/katalog/profile/_component/button/comp_create_new_profile.tsx @@ -0,0 +1,86 @@ +"use client" + +import { RouterHome } from "@/app/lib/router_hipmi/router_home"; +import { MainColor, AccentColor } from "@/app_modules/_global/color"; +import { ComponentGlobal_NotifikasiPeringatan, ComponentGlobal_NotifikasiBerhasil, ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global"; +import { validRegex } from "@/app_modules/katalog/component/regular_expressions"; +import { Button } from "@mantine/core"; +import _ from "lodash"; + +import { useState } from "react"; +import funCreateNewProfile from "../../fun/fun_create_profile"; +import { MODEL_PROFILE } from "../../model/interface"; +import { useRouter } from "next/navigation"; + +export function Profile_ComponentCreateNewProfile({ + value, + userLoginId, + filePP, + fileBg, +}: { + value: MODEL_PROFILE; + userLoginId: string; + filePP: FormData; + fileBg: FormData; +}) { + const router = useRouter(); + const [loading, setLoading] = useState(false); + + async function onSubmit() { + const body = { + userId: userLoginId, + name: value.name, + email: value.email, + alamat: value.alamat, + jenisKelamin: value.jenisKelamin, + }; + if (_.values(body).includes("")) + return ComponentGlobal_NotifikasiPeringatan("Lengkapi Data"); + if (!body.email.match(validRegex)) return null; + + const gambarPP = new FormData(); + gambarPP.append("filePP", filePP as any); + + const gambarBG = new FormData(); + gambarBG.append("fileBG", fileBg as any); + + if (!gambarPP) + return ComponentGlobal_NotifikasiPeringatan("Lengkapi foto profile"); + if (!gambarBG) + return ComponentGlobal_NotifikasiPeringatan( + "Lengkapi background profile" + ); + + await funCreateNewProfile(body as any, gambarPP, gambarBG).then((res) => { + if (res.status === 201) { + setLoading(true); + ComponentGlobal_NotifikasiBerhasil("Berhasil Membuat Profile", 3000); + router.push(RouterHome.main_home); + } else { + ComponentGlobal_NotifikasiGagal(res.message); + } + }); + } + + return ( + <> + + + ); +} \ No newline at end of file diff --git a/src/app_modules/katalog/profile/_component/index.ts b/src/app_modules/katalog/profile/_component/index.ts new file mode 100644 index 00000000..7dbcec08 --- /dev/null +++ b/src/app_modules/katalog/profile/_component/index.ts @@ -0,0 +1,3 @@ +import { Profile_ComponentCreateNewProfile } from "./button/comp_create_new_profile"; + +export {Profile_ComponentCreateNewProfile} \ No newline at end of file diff --git a/src/app_modules/katalog/profile/create/view.tsx b/src/app_modules/katalog/profile/create/view.tsx index c6d5a1e1..3d9a3589 100644 --- a/src/app_modules/katalog/profile/create/view.tsx +++ b/src/app_modules/katalog/profile/create/view.tsx @@ -1,14 +1,11 @@ "use client"; -import { RouterHome } from "@/app/lib/router_hipmi/router_home"; -import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information"; import { AccentColor, MainColor, } from "@/app_modules/_global/color/color_pallet"; +import ComponentGlobal_BoxInformation from "@/app_modules/_global/component/box_information"; import ComponentGlobal_ErrorInput from "@/app_modules/_global/component/error_input"; -import { ComponentGlobal_NotifikasiBerhasil } from "@/app_modules/_global/notif_global/notifikasi_berhasil"; -import { ComponentGlobal_NotifikasiGagal } from "@/app_modules/_global/notif_global/notifikasi_gagal"; import { ComponentGlobal_NotifikasiPeringatan } from "@/app_modules/_global/notif_global/notifikasi_peringatan"; import { AspectRatio, @@ -25,14 +22,16 @@ import { TextInput, } from "@mantine/core"; import { IconAt, IconCamera, IconUpload } from "@tabler/icons-react"; -import _ from "lodash"; -import { useRouter } from "next/navigation"; import { useState } from "react"; import { validRegex } from "../../component/regular_expressions"; -import funCreateNewProfile from "../fun/fun_create_profile"; -import { MODEL_PROFILE } from "../model/interface"; +import { Profile_ComponentCreateNewProfile } from "../_component"; +import { ComponentGlobal_BoxUploadImage } from "@/app_modules/_global/component"; -export default function CreateProfile({ userId }: { userId: any }) { +export default function CreateProfile({ + userLoginId, +}: { + userLoginId: string; +}) { const [filePP, setFilePP] = useState(null); const [imgPP, setImgPP] = useState(); const [fileBG, setFileBG] = useState(null); @@ -47,14 +46,16 @@ export default function CreateProfile({ userId }: { userId: any }) { return ( <> - + - +
{imgPP ? ( @@ -119,22 +122,20 @@ export default function CreateProfile({ userId }: { userId: any }) { - + - - - {imgBG ? ( - Foto - ) : ( - - - - Upload Background - - - )} - - + + {imgBG ? ( + Foto + ) : ( + + + + Upload Background + + + )} +
- @@ -262,76 +263,3 @@ export default function CreateProfile({ userId }: { userId: any }) { ); } - -function ButtonAction({ - value, - userId, - filePP, - fileBg, -}: { - value: MODEL_PROFILE; - userId: string; - filePP: FormData; - fileBg: FormData; -}) { - const router = useRouter(); - const [loading, setLoading] = useState(false); - - async function onSubmit() { - const body = { - userId: userId, - name: value.name, - email: value.email, - alamat: value.alamat, - jenisKelamin: value.jenisKelamin, - }; - if (_.values(body).includes("")) - return ComponentGlobal_NotifikasiPeringatan("Lengkapi Data"); - if (!body.email.match(validRegex)) return null; - - const gambarPP = new FormData(); - gambarPP.append("filePP", filePP as any); - - const gambarBG = new FormData(); - gambarBG.append("fileBG", fileBg as any); - - if (!gambarPP) - return ComponentGlobal_NotifikasiPeringatan("Lengkapi foto profile"); - if (!gambarBG) - return ComponentGlobal_NotifikasiPeringatan( - "Lengkapi background profile" - ); - - await funCreateNewProfile(body as any, gambarPP, gambarBG).then((res) => { - if (res.status === 201) { - setLoading(true); - ComponentGlobal_NotifikasiBerhasil("Berhasil Membuat Profile", 3000); - router.push(RouterHome.main_home, { scroll: false }); - } else { - ComponentGlobal_NotifikasiGagal(res.message); - } - }); - } - - return ( - <> - - - ); -} diff --git a/src/app_modules/katalog/profile/fun/upload_foto.ts b/src/app_modules/katalog/profile/fun/upload_foto.ts index 043bd563..2ece22cf 100644 --- a/src/app_modules/katalog/profile/fun/upload_foto.ts +++ b/src/app_modules/katalog/profile/fun/upload_foto.ts @@ -1,10 +1,8 @@ "use server"; -import { myConsole } from "@/app/fun/my_console"; import prisma from "@/app/lib/prisma"; import fs from "fs"; import _ from "lodash"; -import { cookies } from "next/headers"; import { v4 } from "uuid"; /** @@ -18,9 +16,6 @@ export async function funUploadFoto(formData: FormData, id: string) { const fExt = _.lowerCase(file.name.split(".").pop()); const fRandomName = v4(fName) + "." + fExt; - myConsole(id); - myConsole(fExt); - const upload = await prisma.images.create({ data: { url: fRandomName, diff --git a/src/app_modules/map/fun/create/fun_create_pin.ts b/src/app_modules/map/fun/create/fun_create_pin.ts index a1993ed1..05c00366 100644 --- a/src/app_modules/map/fun/create/fun_create_pin.ts +++ b/src/app_modules/map/fun/create/fun_create_pin.ts @@ -2,14 +2,14 @@ import prisma from "@/app/lib/prisma"; import { RouterMap } from "@/app/lib/router_hipmi/router_map"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; +import fs from "fs"; import _ from "lodash"; import { revalidatePath } from "next/cache"; import { v4 } from "uuid"; -import fs from "fs"; export async function map_funCreatePin({ data }: { data: any }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const gambar: any = data.gambar.get("file"); const fileName = gambar.name; @@ -37,7 +37,7 @@ export async function map_funCreatePin({ data }: { data: any }) { longitude: data.long, namePin: data.namePin, portofolioId: data?.portofolioId, - authorId: authorId, + authorId: userLoginId, imageMapId: uploadImage.id, }, }); diff --git a/src/app_modules/notifikasi/fun/count/fun_count_by_id.ts b/src/app_modules/notifikasi/fun/count/fun_count_by_id.ts index 401bf19f..06b2cadd 100644 --- a/src/app_modules/notifikasi/fun/count/fun_count_by_id.ts +++ b/src/app_modules/notifikasi/fun/count/fun_count_by_id.ts @@ -1,16 +1,16 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export default async function notifikasi_countUserNotifikasi() { - const userId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const count = await prisma.notifikasi.findMany({ where: { - userId: userId, + userId: userLoginId, isRead: false, - userRoleId: "1" + userRoleId: "1", }, }); diff --git a/src/app_modules/notifikasi/fun/get/get_notifiaksi_by_id.ts b/src/app_modules/notifikasi/fun/get/get_notifiaksi_by_id.ts index 42011099..c6dc2569 100644 --- a/src/app_modules/notifikasi/fun/get/get_notifiaksi_by_id.ts +++ b/src/app_modules/notifikasi/fun/get/get_notifiaksi_by_id.ts @@ -1,7 +1,7 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import _ from "lodash"; export default async function notifikasi_getByUserId({ @@ -11,7 +11,7 @@ export default async function notifikasi_getByUserId({ page: number; kategoriApp?: string; }) { - const userId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 10; const skipData = page * takeData - takeData; @@ -26,7 +26,7 @@ export default async function notifikasi_getByUserId({ { createdAt: "desc" }, ], where: { - userId: userId, + userId: userLoginId, userRoleId: "1", }, }); @@ -44,7 +44,7 @@ export default async function notifikasi_getByUserId({ { createdAt: "desc" }, ], where: { - userId: userId, + userId: userLoginId, userRoleId: "1", kategoriApp: _.upperCase(kategoriApp), }, diff --git a/src/app_modules/user_search/fun/get/get_all_user.ts b/src/app_modules/user_search/fun/get/get_all_user.ts index 8741bbe6..5075930a 100644 --- a/src/app_modules/user_search/fun/get/get_all_user.ts +++ b/src/app_modules/user_search/fun/get/get_all_user.ts @@ -1,7 +1,7 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function userSearch_getAllUser({ page, @@ -10,7 +10,8 @@ export async function userSearch_getAllUser({ page: number; search?: string; }) { - const userLoginId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const takeData = 20; const skipData = page * takeData - takeData; diff --git a/src/app_modules/vote/fun/create/create_hasil.ts b/src/app_modules/vote/fun/create/create_hasil.ts index 7e4bd5dd..3d199d6b 100644 --- a/src/app_modules/vote/fun/create/create_hasil.ts +++ b/src/app_modules/vote/fun/create/create_hasil.ts @@ -1,14 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { revalidatePath } from "next/cache"; export async function Vote_funCreateHasil( pilihanVotingId: string, votingId: string ) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const get = await prisma.voting_DaftarNamaVote.findFirst({ where: { @@ -36,7 +36,7 @@ export async function Vote_funCreateHasil( data: { voting_DaftarNamaVoteId: pilihanVotingId, votingId: votingId, - authorId: authorId, + authorId: userLoginId, }, select: { Voting: { diff --git a/src/app_modules/vote/fun/create/create_pilihan_voting.ts b/src/app_modules/vote/fun/create/create_pilihan_voting.ts index b1f6301b..5112ed52 100644 --- a/src/app_modules/vote/fun/create/create_pilihan_voting.ts +++ b/src/app_modules/vote/fun/create/create_pilihan_voting.ts @@ -1,24 +1,24 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import { revalidatePath } from "next/cache"; export async function Vote_funCreatePilihanVotingById( namaVotingId: string, votingId: string ) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const create = await prisma.voting_Kontributor.create({ data: { voting_DaftarNamaVoteId: namaVotingId, votingId: votingId, - authorId: authorId, + authorId: userLoginId, }, }); - if(!create) return {status: 400, message: "Gagal Voting"} + if (!create) return { status: 400, message: "Gagal Voting" }; revalidatePath("/dev/vote/detail/main/"); - return {status: 201, message: "Berhasil Voting"} + return { status: 201, message: "Berhasil Voting" }; } diff --git a/src/app_modules/vote/fun/create/create_vote.ts b/src/app_modules/vote/fun/create/create_vote.ts index 73aec734..d1779cac 100644 --- a/src/app_modules/vote/fun/create/create_vote.ts +++ b/src/app_modules/vote/fun/create/create_vote.ts @@ -1,13 +1,13 @@ "use server"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; -import { MODEL_VOTING } from "../../model/interface"; import prisma from "@/app/lib/prisma"; -import { revalidatePath } from "next/cache"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; import _ from "lodash"; +import { revalidatePath } from "next/cache"; +import { MODEL_VOTING } from "../../model/interface"; export async function Vote_funCreate(req: MODEL_VOTING, listVote: any[]) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const create = await prisma.voting.create({ data: { @@ -15,7 +15,7 @@ export async function Vote_funCreate(req: MODEL_VOTING, listVote: any[]) { deskripsi: req.deskripsi, awalVote: req.awalVote, akhirVote: req.akhirVote, - authorId: authorId, + authorId: userLoginId, }, select: { id: true, diff --git a/src/app_modules/vote/fun/get/cek_kontributor_by_id.ts b/src/app_modules/vote/fun/get/cek_kontributor_by_id.ts index bae7680d..06210b1f 100644 --- a/src/app_modules/vote/fun/get/cek_kontributor_by_id.ts +++ b/src/app_modules/vote/fun/get/cek_kontributor_by_id.ts @@ -1,21 +1,21 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function Vote_cekKontributorById(votingId: string) { - const UserId = await user_funGetOneUserId() - + const userLoginId = await funGetUserIdByToken(); + const cek = await prisma.voting_Kontributor.count({ where: { - authorId: UserId, + authorId: userLoginId, votingId: votingId, }, }); - if (cek > 0) { - return true; - } else { - return false; - } + if (cek > 0) { + return true; + } else { + return false; + } } diff --git a/src/app_modules/vote/fun/get/get_all_list_publish.ts b/src/app_modules/vote/fun/get/get_all_list_publish.ts index 8d4b5b10..457efbc0 100644 --- a/src/app_modules/vote/fun/get/get_all_list_publish.ts +++ b/src/app_modules/vote/fun/get/get_all_list_publish.ts @@ -1,7 +1,6 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; export async function vote_getAllListPublish({ page, diff --git a/src/app_modules/vote/fun/get/get_all_list_riwayat_saya.ts b/src/app_modules/vote/fun/get/get_all_list_riwayat_saya.ts index dc46be67..628078dd 100644 --- a/src/app_modules/vote/fun/get/get_all_list_riwayat_saya.ts +++ b/src/app_modules/vote/fun/get/get_all_list_riwayat_saya.ts @@ -1,24 +1,24 @@ "use server"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; import prisma from "@/app/lib/prisma"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function Vote_getAllListRiwayatSaya({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); - const takeData = 5; - const skipData = page * takeData - takeData; + const userLoginId = await funGetUserIdByToken(); + const takeData = 5; + const skipData = page * takeData - takeData; const data = await prisma.voting.findMany({ take: takeData, skip: skipData, - + orderBy: { createdAt: "asc", }, where: { voting_StatusId: "1", - authorId: authorId, + authorId: userLoginId, isActive: true, akhirVote: { lte: new Date(), diff --git a/src/app_modules/vote/fun/get/get_list_kontribusi_by_author_id.ts b/src/app_modules/vote/fun/get/get_list_kontribusi_by_author_id.ts index 4372159f..be51501d 100644 --- a/src/app_modules/vote/fun/get/get_list_kontribusi_by_author_id.ts +++ b/src/app_modules/vote/fun/get/get_list_kontribusi_by_author_id.ts @@ -1,17 +1,17 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function vote_getAllListKontribusiByAuthorId({ page, }: { page: number; }) { + const userLoginId = await funGetUserIdByToken(); const takeData = 5; const skipData = page * takeData - takeData; - const authorId = await user_funGetOneUserId(); const data = await prisma.voting_Kontributor.findMany({ take: takeData, skip: skipData, @@ -19,7 +19,7 @@ export async function vote_getAllListKontribusiByAuthorId({ createdAt: "asc", }, where: { - authorId: authorId, + authorId: userLoginId, }, select: { id: true, diff --git a/src/app_modules/vote/fun/get/get_one_pilihan_voting_by_user_id.ts b/src/app_modules/vote/fun/get/get_one_pilihan_voting_by_user_id.ts index a447cf52..25b21565 100644 --- a/src/app_modules/vote/fun/get/get_one_pilihan_voting_by_user_id.ts +++ b/src/app_modules/vote/fun/get/get_one_pilihan_voting_by_user_id.ts @@ -1,13 +1,14 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function Vote_getOnePilihanVotingByUserId(votingId: string) { - const userId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); + const get = await prisma.voting_Kontributor.findFirst({ where: { - authorId: userId, + authorId: userLoginId, votingId: votingId, }, select: { diff --git a/src/app_modules/vote/fun/get/status/get_all_draft.tsx b/src/app_modules/vote/fun/get/status/get_all_draft.tsx index 0d170e4a..3506ed40 100644 --- a/src/app_modules/vote/fun/get/status/get_all_draft.tsx +++ b/src/app_modules/vote/fun/get/status/get_all_draft.tsx @@ -1,10 +1,10 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function vote_getAllDraft({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +17,7 @@ export async function vote_getAllDraft({ page }: { page: number }) { }, where: { voting_StatusId: "3", - authorId: authorId, + authorId: userLoginId, isActive: true, }, }); diff --git a/src/app_modules/vote/fun/get/status/get_all_publish.tsx b/src/app_modules/vote/fun/get/status/get_all_publish.tsx index a9e953ea..49571517 100644 --- a/src/app_modules/vote/fun/get/status/get_all_publish.tsx +++ b/src/app_modules/vote/fun/get/status/get_all_publish.tsx @@ -1,10 +1,10 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function vote_getAllPublish({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 5; const skipData = page * takeData - takeData; @@ -17,7 +17,7 @@ export async function vote_getAllPublish({ page }: { page: number }) { }, where: { voting_StatusId: "1", - authorId: authorId, + authorId: userLoginId, isActive: true, akhirVote: { gte: new Date(), @@ -32,6 +32,5 @@ export async function vote_getAllPublish({ page }: { page: number }) { }, }); - return data; } diff --git a/src/app_modules/vote/fun/get/status/get_all_reject.tsx b/src/app_modules/vote/fun/get/status/get_all_reject.tsx index 940b335c..fd6f2f60 100644 --- a/src/app_modules/vote/fun/get/status/get_all_reject.tsx +++ b/src/app_modules/vote/fun/get/status/get_all_reject.tsx @@ -1,10 +1,10 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function vote_getAllReject({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +17,7 @@ export async function vote_getAllReject({ page }: { page: number }) { }, where: { voting_StatusId: "4", - authorId: authorId, + authorId: userLoginId, isActive: true, }, }); diff --git a/src/app_modules/vote/fun/get/status/get_all_review.tsx b/src/app_modules/vote/fun/get/status/get_all_review.tsx index 0a2b074e..05411c7b 100644 --- a/src/app_modules/vote/fun/get/status/get_all_review.tsx +++ b/src/app_modules/vote/fun/get/status/get_all_review.tsx @@ -1,10 +1,10 @@ "use server"; import prisma from "@/app/lib/prisma"; -import { user_funGetOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { funGetUserIdByToken } from "@/app_modules/_global/fun/get"; export async function vote_getAllReview({ page }: { page: number }) { - const authorId = await user_funGetOneUserId(); + const userLoginId = await funGetUserIdByToken(); const takeData = 10; const skipData = page * takeData - takeData; @@ -17,7 +17,7 @@ export async function vote_getAllReview({ page }: { page: number }) { }, where: { voting_StatusId: "2", - authorId: authorId, + authorId: userLoginId, isActive: true, }, }); diff --git a/src/bin/HipmiProvider.tsx b/src/bin/HipmiProvider.tsx new file mode 100644 index 00000000..f46e83d1 --- /dev/null +++ b/src/bin/HipmiProvider.tsx @@ -0,0 +1,11 @@ +"use client"; + +import { GlobalEnv } from "@/app/lib/token"; + +export function HipmiProvider( + { children }: { children: React.ReactNode }, + onEnv: (val: string) => void +) { + onEnv(GlobalEnv.value?.WIBU_PWD as string); + return children; +} diff --git a/src/bin/hipmi_env.ts b/src/bin/hipmi_env.ts new file mode 100644 index 00000000..e5828c02 --- /dev/null +++ b/src/bin/hipmi_env.ts @@ -0,0 +1,31 @@ +import dotenv from "dotenv"; +import path from "path"; +dotenv.config({ + path: path.join(process.cwd(), ".env"), +}); + +const DATABASE_URL = process.env.DATABASE_URL!; +const WIBU_PWD = process.env.WIBU_PWD!; +const Client_KEY = process.env.Client_KEY!; +const Server_KEY = process.env.Server_KEY!; +const MAPBOX_TOKEN = process.env.MAPBOX_TOKEN!; +const WS_APIKEY = process.env.WS_APIKEY!; + +if (!DATABASE_URL) throw new Error("Require DATABASE_URL"); +if (!WIBU_PWD) throw new Error("Require PWD"); +if (!Client_KEY) throw new Error("Require Client_KEY"); +if (!Server_KEY) throw new Error("Require Server_KEY"); +if (!MAPBOX_TOKEN) throw new Error("Require MAPBOX_TOKEN"); +if (!WS_APIKEY) throw new Error("Require WS_APIKEY"); + +export function hipmiEnv() { + const envObject = { + DATABASE_URL, + WIBU_PWD, + Client_KEY, + Server_KEY, + MAPBOX_TOKEN, + WS_APIKEY, + }; + return envObject; +} diff --git a/src/lib/routes.ts b/src/lib/routes.ts new file mode 100644 index 00000000..c339a1f9 --- /dev/null +++ b/src/lib/routes.ts @@ -0,0 +1,448 @@ +export const pages = { + "/": "/", + "/zCoba": "/zCoba", + "/makuro": "/makuro", + "/dev/vote/splash": "/dev/vote/splash", + "/dev/vote/main/status": "/dev/vote/main/status", + "/dev/vote/main/riwayat": "/dev/vote/main/riwayat", + "/dev/vote/main/kontribusi": "/dev/vote/main/kontribusi", + "/dev/vote/main/beranda": "/dev/vote/main/beranda", + "/dev/vote/edit/[id]": ({ id }: { id: string }) => `/dev/vote/edit/${id}`, + "/dev/vote/detail/semua_riwayat/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/semua_riwayat/${id}`, + "/dev/vote/detail/riwayat_saya/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/riwayat_saya/${id}`, + "/dev/vote/detail/review/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/review/${id}`, + "/dev/vote/detail/reject/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/reject/${id}`, + "/dev/vote/detail/publish/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/publish/${id}`, + "/dev/vote/detail/main/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/main/${id}`, + "/dev/vote/detail/kontribusi/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/kontribusi/${id}`, + "/dev/vote/detail/draft/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/draft/${id}`, + "/dev/vote/detail/daftar-kontributor/[id]": ({ id }: { id: string }) => + `/dev/vote/detail/daftar-kontributor/${id}`, + "/dev/vote/create": "/dev/vote/create", + "/dev/user-search": "/dev/user-search", + "/dev/user-not-active": "/dev/user-not-active", + "/dev/splash/admin": "/dev/splash/admin", + "/dev/profile/upload/foto/[id]": ({ id }: { id: string }) => + `/dev/profile/upload/foto/${id}`, + "/dev/profile/upload/background/[id]": ({ id }: { id: string }) => + `/dev/profile/upload/background/${id}`, + "/dev/profile/edit/[id]": ({ id }: { id: string }) => + `/dev/profile/edit/${id}`, + "/dev/profile/create": "/dev/profile/create", + "/dev/portofolio/main/[id]": ({ id }: { id: string }) => + `/dev/portofolio/main/${id}`, + "/dev/portofolio/edit/medsos/[id]": ({ id }: { id: string }) => + `/dev/portofolio/edit/medsos/${id}`, + "/dev/portofolio/edit/logo/[id]": ({ id }: { id: string }) => + `/dev/portofolio/edit/logo/${id}`, + "/dev/portofolio/edit/data/[id]": ({ id }: { id: string }) => + `/dev/portofolio/edit/data/${id}`, + "/dev/portofolio/daftar-portofolio/[id]": ({ id }: { id: string }) => + `/dev/portofolio/daftar-portofolio/${id}`, + "/dev/portofolio/create/[id]": ({ id }: { id: string }) => + `/dev/portofolio/create/${id}`, + "/dev/notifikasi": "/dev/notifikasi", + "/dev/map/splash": "/dev/map/splash", + "/dev/map/main": "/dev/map/main", + "/dev/map/edit/[id]": ({ id }: { id: string }) => `/dev/map/edit/${id}`, + "/dev/map/custom-pin/[id]": ({ id }: { id: string }) => + `/dev/map/custom-pin/${id}`, + "/dev/map/create/[id]": ({ id }: { id: string }) => `/dev/map/create/${id}`, + "/dev/katalog/[id]": ({ id }: { id: string }) => `/dev/katalog/${id}`, + "/dev/job/splash": "/dev/job/splash", + "/dev/job/non_user_view/[id]": ({ id }: { id: string }) => + `/dev/job/non_user_view/${id}`, + "/dev/job/main/status": "/dev/job/main/status", + "/dev/job/main/beranda": "/dev/job/main/beranda", + "/dev/job/main/arsip": "/dev/job/main/arsip", + "/dev/job/edit/[id]": ({ id }: { id: string }) => `/dev/job/edit/${id}`, + "/dev/job/detail/review/[id]": ({ id }: { id: string }) => + `/dev/job/detail/review/${id}`, + "/dev/job/detail/reject/[id]": ({ id }: { id: string }) => + `/dev/job/detail/reject/${id}`, + "/dev/job/detail/publish/[id]": ({ id }: { id: string }) => + `/dev/job/detail/publish/${id}`, + "/dev/job/detail/main/[id]": ({ id }: { id: string }) => + `/dev/job/detail/main/${id}`, + "/dev/job/detail/draft/[id]": ({ id }: { id: string }) => + `/dev/job/detail/draft/${id}`, + "/dev/job/detail/arsip/[id]": ({ id }: { id: string }) => + `/dev/job/detail/arsip/${id}`, + "/dev/job/create": "/dev/job/create", + "/dev/investasi/upload_prospektus/[id]": ({ id }: { id: string }) => + `/dev/investasi/upload_prospektus/${id}`, + "/dev/investasi/upload_dokumen/[id]": ({ id }: { id: string }) => + `/dev/investasi/upload_dokumen/${id}`, + "/dev/investasi/upload_bukti": "/dev/investasi/upload_bukti", + "/dev/investasi/upload": "/dev/investasi/upload", + "/dev/investasi/transfer/[id]": ({ id }: { id: string }) => + `/dev/investasi/transfer/${id}`, + "/dev/investasi/transaksi/proses-transaksi/[id]": ({ id }: { id: string }) => + `/dev/investasi/transaksi/proses-transaksi/${id}`, + "/dev/investasi/transaksi/pembelian/[id]": ({ id }: { id: string }) => + `/dev/investasi/transaksi/pembelian/${id}`, + "/dev/investasi/transaksi/metode-pembayaran/[id]": ({ id }: { id: string }) => + `/dev/investasi/transaksi/metode-pembayaran/${id}`, + "/dev/investasi/transaksi/invoice/[id]": ({ id }: { id: string }) => + `/dev/investasi/transaksi/invoice/${id}`, + "/dev/investasi/status_pesanan/[id]": ({ id }: { id: string }) => + `/dev/investasi/status_pesanan/${id}`, + "/dev/investasi/status-transaksi/gagal/[id]": ({ id }: { id: string }) => + `/dev/investasi/status-transaksi/gagal/${id}`, + "/dev/investasi/status-transaksi/berhasil/[id]": ({ id }: { id: string }) => + `/dev/investasi/status-transaksi/berhasil/${id}`, + "/dev/investasi/proses_transaksi/[id]": ({ id }: { id: string }) => + `/dev/investasi/proses_transaksi/${id}`, + "/dev/investasi/proses_investasi/[id]": ({ id }: { id: string }) => + `/dev/investasi/proses_investasi/${id}`, + "/dev/investasi/metode_transfer/[id]": ({ id }: { id: string }) => + `/dev/investasi/metode_transfer/${id}`, + "/dev/investasi/main": "/dev/investasi/main", + "/dev/investasi/main/transaksi": "/dev/investasi/main/transaksi", + "/dev/investasi/main/saham_saya": "/dev/investasi/main/saham_saya", + "/dev/investasi/main/portofolio": "/dev/investasi/main/portofolio", + "/dev/investasi/list_edit_berita/[id]": ({ id }: { id: string }) => + `/dev/investasi/list_edit_berita/${id}`, + "/dev/investasi/file-view/prospektus/[id]": ({ id }: { id: string }) => + `/dev/investasi/file-view/prospektus/${id}`, + "/dev/investasi/file-view/dokumen/[id]": ({ id }: { id: string }) => + `/dev/investasi/file-view/dokumen/${id}`, + "/dev/investasi/edit_prospektus/[id]": ({ id }: { id: string }) => + `/dev/investasi/edit_prospektus/${id}`, + "/dev/investasi/edit_intro/[id]": ({ id }: { id: string }) => + `/dev/investasi/edit_intro/${id}`, + "/dev/investasi/edit_dokumen/[id]": ({ id }: { id: string }) => + `/dev/investasi/edit_dokumen/${id}`, + "/dev/investasi/edit_berita/[id]": ({ id }: { id: string }) => + `/dev/investasi/edit_berita/${id}`, + "/dev/investasi/edit/[id]": ({ id }: { id: string }) => + `/dev/investasi/edit/${id}`, + "/dev/investasi/dialog_page/transaksi_saham": + "/dev/investasi/dialog_page/transaksi_saham", + "/dev/investasi/dialog_page/create": "/dev/investasi/dialog_page/create", + "/dev/investasi/detail_saham_terbeli/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_saham_terbeli/${id}`, + "/dev/investasi/detail_prospektus/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_prospektus/${id}`, + "/dev/investasi/detail_portofolio/review/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_portofolio/review/${id}`, + "/dev/investasi/detail_portofolio/reject/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_portofolio/reject/${id}`, + "/dev/investasi/detail_portofolio/publish/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_portofolio/publish/${id}`, + "/dev/investasi/detail_portofolio/draft/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_portofolio/draft/${id}`, + "/dev/investasi/detail_dokumen/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_dokumen/${id}`, + "/dev/investasi/detail_berita/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail_berita/${id}`, + "/dev/investasi/detail/saham/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail/saham/${id}`, + "/dev/investasi/detail/[id]": ({ id }: { id: string }) => + `/dev/investasi/detail/${id}`, + "/dev/investasi/create_berita/[id]": ({ id }: { id: string }) => + `/dev/investasi/create_berita/${id}`, + "/dev/investasi/create": "/dev/investasi/create", + "/dev/investasi/berita/[id]": ({ id }: { id: string }) => + `/dev/investasi/berita/${id}`, + "/dev/home": "/dev/home", + "/dev/forum/splash": "/dev/forum/splash", + "/dev/forum/report/posting-lainnya/[id]": ({ id }: { id: string }) => + `/dev/forum/report/posting-lainnya/${id}`, + "/dev/forum/report/posting/[id]": ({ id }: { id: string }) => + `/dev/forum/report/posting/${id}`, + "/dev/forum/report/komentar-lainnya/[id]": ({ id }: { id: string }) => + `/dev/forum/report/komentar-lainnya/${id}`, + "/dev/forum/report/komentar/[id]": ({ id }: { id: string }) => + `/dev/forum/report/komentar/${id}`, + "/dev/forum/main": "/dev/forum/main", + "/dev/forum/komentar/[id]": ({ id }: { id: string }) => + `/dev/forum/komentar/${id}`, + "/dev/forum/forumku/[id]": ({ id }: { id: string }) => + `/dev/forum/forumku/${id}`, + "/dev/forum/edit/posting/[id]": ({ id }: { id: string }) => + `/dev/forum/edit/posting/${id}`, + "/dev/forum/edit/komentar/[id]": ({ id }: { id: string }) => + `/dev/forum/edit/komentar/${id}`, + "/dev/forum/detail/report-posting/[id]": ({ id }: { id: string }) => + `/dev/forum/detail/report-posting/${id}`, + "/dev/forum/detail/report-komentar/[id]": ({ id }: { id: string }) => + `/dev/forum/detail/report-komentar/${id}`, + "/dev/forum/detail/main-detail/[id]": ({ id }: { id: string }) => + `/dev/forum/detail/main-detail/${id}`, + "/dev/forum/create": "/dev/forum/create", + "/dev/event/splash": "/dev/event/splash", + "/dev/event/main/status_page": "/dev/event/main/status_page", + "/dev/event/main/riwayat": "/dev/event/main/riwayat", + "/dev/event/main/kontribusi": "/dev/event/main/kontribusi", + "/dev/event/main/beranda": "/dev/event/main/beranda", + "/dev/event/edit/[id]": ({ id }: { id: string }) => `/dev/event/edit/${id}`, + "/dev/event/detail/riwayat/[id]": ({ id }: { id: string }) => + `/dev/event/detail/riwayat/${id}`, + "/dev/event/detail/review/[id]": ({ id }: { id: string }) => + `/dev/event/detail/review/${id}`, + "/dev/event/detail/reject/[id]": ({ id }: { id: string }) => + `/dev/event/detail/reject/${id}`, + "/dev/event/detail/publish/[id]": ({ id }: { id: string }) => + `/dev/event/detail/publish/${id}`, + "/dev/event/detail/main/[id]": ({ id }: { id: string }) => + `/dev/event/detail/main/${id}`, + "/dev/event/detail/kontribusi/[id]": ({ id }: { id: string }) => + `/dev/event/detail/kontribusi/${id}`, + "/dev/event/detail/draft/[id]": ({ id }: { id: string }) => + `/dev/event/detail/draft/${id}`, + "/dev/event/create": "/dev/event/create", + "/dev/donasi/proses_donasi/proses_transaksi/[id]": ({ id }: { id: string }) => + `/dev/donasi/proses_donasi/proses_transaksi/${id}`, + "/dev/donasi/proses_donasi/metode_pembayaran/[id]": ({ + id, + }: { + id: string; + }) => `/dev/donasi/proses_donasi/metode_pembayaran/${id}`, + "/dev/donasi/proses_donasi/masukan_donasi/[id]": ({ id }: { id: string }) => + `/dev/donasi/proses_donasi/masukan_donasi/${id}`, + "/dev/donasi/proses_donasi/invoice/[id]": ({ id }: { id: string }) => + `/dev/donasi/proses_donasi/invoice/${id}`, + "/dev/donasi/penggalang_dana/[id]": ({ id }: { id: string }) => + `/dev/donasi/penggalang_dana/${id}`, + "/dev/donasi/pencairan_dana/[id]": ({ id }: { id: string }) => + `/dev/donasi/pencairan_dana/${id}`, + "/dev/donasi/page_pop_up/create": "/dev/donasi/page_pop_up/create", + "/dev/donasi/notif_page/[id]": ({ id }: { id: string }) => + `/dev/donasi/notif_page/${id}`, + "/dev/donasi/main/galang_dana": "/dev/donasi/main/galang_dana", + "/dev/donasi/main/donasi_saya": "/dev/donasi/main/donasi_saya", + "/dev/donasi/main/beranda": "/dev/donasi/main/beranda", + "/dev/donasi/list_kabar/[id]": ({ id }: { id: string }) => + `/dev/donasi/list_kabar/${id}`, + "/dev/donasi/kabar/[id]": ({ id }: { id: string }) => + `/dev/donasi/kabar/${id}`, + "/dev/donasi/edit/update_kabar/[id]": ({ id }: { id: string }) => + `/dev/donasi/edit/update_kabar/${id}`, + "/dev/donasi/edit/edit_rekening/[id]": ({ id }: { id: string }) => + `/dev/donasi/edit/edit_rekening/${id}`, + "/dev/donasi/edit/edit_donasi/[id]": ({ id }: { id: string }) => + `/dev/donasi/edit/edit_donasi/${id}`, + "/dev/donasi/edit/edit_cerita/[id]": ({ id }: { id: string }) => + `/dev/donasi/edit/edit_cerita/${id}`, + "/dev/donasi/donatur/[id]": ({ id }: { id: string }) => + `/dev/donasi/donatur/${id}`, + "/dev/donasi/detail/detail_review/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_review/${id}`, + "/dev/donasi/detail/detail_reject/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_reject/${id}`, + "/dev/donasi/detail/detail_publish/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_publish/${id}`, + "/dev/donasi/detail/detail_notif/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_notif/${id}`, + "/dev/donasi/detail/detail_main/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_main/${id}`, + "/dev/donasi/detail/detail_kabar/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_kabar/${id}`, + "/dev/donasi/detail/detail_draft/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_draft/${id}`, + "/dev/donasi/detail/detail_donasi_saya/[id]": ({ id }: { id: string }) => + `/dev/donasi/detail/detail_donasi_saya/${id}`, + "/dev/donasi/create/create_kabar/[id]": ({ id }: { id: string }) => + `/dev/donasi/create/create_kabar/${id}`, + "/dev/donasi/create/create_donasi": "/dev/donasi/create/create_donasi", + "/dev/donasi/create/cerita_penggalang/[id]": ({ id }: { id: string }) => + `/dev/donasi/create/cerita_penggalang/${id}`, + "/dev/donasi/cerita_penggalang/[id]": ({ id }: { id: string }) => + `/dev/donasi/cerita_penggalang/${id}`, + "/dev/donasi/bukti-transfer/[id]": ({ id }: { id: string }) => + `/dev/donasi/bukti-transfer/${id}`, + "/dev/crowd/splash": "/dev/crowd/splash", + "/dev/crowd/main": "/dev/crowd/main", + "/dev/colab/splash": "/dev/colab/splash", + "/dev/colab/main/status": "/dev/colab/main/status", + "/dev/colab/main/proyek": "/dev/colab/main/proyek", + "/dev/colab/main/notifikasi": "/dev/colab/main/notifikasi", + "/dev/colab/main/grup": "/dev/colab/main/grup", + "/dev/colab/main/beranda": "/dev/colab/main/beranda", + "/dev/colab/edit/[id]": ({ id }: { id: string }) => `/dev/colab/edit/${id}`, + "/dev/colab/detail/status/review/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/status/review/${id}`, + "/dev/colab/detail/status/reject/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/status/reject/${id}`, + "/dev/colab/detail/status/publish/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/status/publish/${id}`, + "/dev/colab/detail/proyek/saya/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/proyek/saya/${id}`, + "/dev/colab/detail/proyek/partisipasi/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/proyek/partisipasi/${id}`, + "/dev/colab/detail/notifikasi/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/notifikasi/${id}`, + "/dev/colab/detail/main_detail/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/main_detail/${id}`, + "/dev/colab/detail/info-grup/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/info-grup/${id}`, + "/dev/colab/detail/group/[id]": ({ id }: { id: string }) => + `/dev/colab/detail/group/${id}`, + "/dev/colab/create": "/dev/colab/create", + "/dev/check-cookies": "/dev/check-cookies", + "/dev/auth/validasi/[id]": ({ id }: { id: string }) => + `/dev/auth/validasi/${id}`, + "/dev/auth/splash": "/dev/auth/splash", + "/dev/auth/register/[id]": ({ id }: { id: string }) => + `/dev/auth/register/${id}`, + "/dev/auth/login": "/dev/auth/login", + "/dev/admin/vote/main": "/dev/admin/vote/main", + "/dev/admin/vote/child/table_review": "/dev/admin/vote/child/table_review", + "/dev/admin/vote/child/table_reject": "/dev/admin/vote/child/table_reject", + "/dev/admin/vote/child/table_publish": "/dev/admin/vote/child/table_publish", + "/dev/admin/vote/child/riwayat": "/dev/admin/vote/child/riwayat", + "/dev/admin/user-access": "/dev/admin/user-access", + "/dev/admin/map": "/dev/admin/map", + "/dev/admin/main/dashboard": "/dev/admin/main/dashboard", + "/dev/admin/job/main": "/dev/admin/job/main", + "/dev/admin/job/detail/poster/[id]": ({ id }: { id: string }) => + `/dev/admin/job/detail/poster/${id}`, + "/dev/admin/job/child/review": "/dev/admin/job/child/review", + "/dev/admin/job/child/reject": "/dev/admin/job/child/reject", + "/dev/admin/job/child/publish": "/dev/admin/job/child/publish", + "/dev/admin/job/child/arsip": "/dev/admin/job/child/arsip", + "/dev/admin/investasi/table_status/review": + "/dev/admin/investasi/table_status/review", + "/dev/admin/investasi/table_status/reject": + "/dev/admin/investasi/table_status/reject", + "/dev/admin/investasi/table_status/publish": + "/dev/admin/investasi/table_status/publish", + "/dev/admin/investasi/sub-menu/review": + "/dev/admin/investasi/sub-menu/review", + "/dev/admin/investasi/sub-menu/reject": + "/dev/admin/investasi/sub-menu/reject", + "/dev/admin/investasi/sub-menu/publish": + "/dev/admin/investasi/sub-menu/publish", + "/dev/admin/investasi/status_transfer": + "/dev/admin/investasi/status_transfer", + "/dev/admin/investasi/main": "/dev/admin/investasi/main", + "/dev/admin/investasi/konfirmasi/[id]": ({ id }: { id: string }) => + `/dev/admin/investasi/konfirmasi/${id}`, + "/dev/admin/investasi/halaman_aksi/[id]": ({ id }: { id: string }) => + `/dev/admin/investasi/halaman_aksi/${id}`, + "/dev/admin/investasi/detail/review/[id]": ({ id }: { id: string }) => + `/dev/admin/investasi/detail/review/${id}`, + "/dev/admin/investasi/detail/reject/[id]": ({ id }: { id: string }) => + `/dev/admin/investasi/detail/reject/${id}`, + "/dev/admin/investasi/detail/publish/[id]": ({ id }: { id: string }) => + `/dev/admin/investasi/detail/publish/${id}`, + "/dev/admin/investasi/bukti-transfer/[id]": ({ id }: { id: string }) => + `/dev/admin/investasi/bukti-transfer/${id}`, + "/dev/admin/forum/sub-menu/report-posting": + "/dev/admin/forum/sub-menu/report-posting", + "/dev/admin/forum/sub-menu/report-komentar": + "/dev/admin/forum/sub-menu/report-komentar", + "/dev/admin/forum/sub-menu/posting": "/dev/admin/forum/sub-menu/posting", + "/dev/admin/forum/sub-detail/report-posting/[id]": ({ id }: { id: string }) => + `/dev/admin/forum/sub-detail/report-posting/${id}`, + "/dev/admin/forum/sub-detail/report-komentar/[id]": ({ + id, + }: { + id: string; + }) => `/dev/admin/forum/sub-detail/report-komentar/${id}`, + "/dev/admin/forum/main": "/dev/admin/forum/main", + "/dev/admin/forum/detail/[id]": ({ id }: { id: string }) => + `/dev/admin/forum/detail/${id}`, + "/dev/admin/event/table/review": "/dev/admin/event/table/review", + "/dev/admin/event/table/reject": "/dev/admin/event/table/reject", + "/dev/admin/event/table/publish": "/dev/admin/event/table/publish", + "/dev/admin/event/main": "/dev/admin/event/main", + "/dev/admin/event/detail/peserta/[id]": ({ id }: { id: string }) => + `/dev/admin/event/detail/peserta/${id}`, + "/dev/admin/event/detail/main-detail": "/dev/admin/event/detail/main-detail", + "/dev/admin/event/child/tipe_acara": "/dev/admin/event/child/tipe_acara", + "/dev/admin/event/child/riwayat": "/dev/admin/event/child/riwayat", + "/dev/admin/donasi/sub-menu/review": "/dev/admin/donasi/sub-menu/review", + "/dev/admin/donasi/sub-menu/reject": "/dev/admin/donasi/sub-menu/reject", + "/dev/admin/donasi/sub-menu/publish": "/dev/admin/donasi/sub-menu/publish", + "/dev/admin/donasi/sub-menu/kategori": "/dev/admin/donasi/sub-menu/kategori", + "/dev/admin/donasi/sub-menu/informasi": + "/dev/admin/donasi/sub-menu/informasi", + "/dev/admin/donasi/sub-detail/transfer-invoice-reimbursement/[id]": ({ + id, + }: { + id: string; + }) => `/dev/admin/donasi/sub-detail/transfer-invoice-reimbursement/${id}`, + "/dev/admin/donasi/sub-detail/transfer-invoice/[id]": ({ + id, + }: { + id: string; + }) => `/dev/admin/donasi/sub-detail/transfer-invoice/${id}`, + "/dev/admin/donasi/proses_transaksi/[id]": ({ id }: { id: string }) => + `/dev/admin/donasi/proses_transaksi/${id}`, + "/dev/admin/donasi/pencairan_dana/[id]": ({ id }: { id: string }) => + `/dev/admin/donasi/pencairan_dana/${id}`, + "/dev/admin/donasi/main": "/dev/admin/donasi/main", + "/dev/admin/donasi/detail/review/[id]": ({ id }: { id: string }) => + `/dev/admin/donasi/detail/review/${id}`, + "/dev/admin/donasi/detail/reject/[id]": ({ id }: { id: string }) => + `/dev/admin/donasi/detail/reject/${id}`, + "/dev/admin/donasi/detail/publish/[id]": ({ id }: { id: string }) => + `/dev/admin/donasi/detail/publish/${id}`, + "/dev/admin/developer": "/dev/admin/developer", + "/dev/admin/colab/sub-menu/reject": "/dev/admin/colab/sub-menu/reject", + "/dev/admin/colab/sub-menu/publish": "/dev/admin/colab/sub-menu/publish", + "/dev/admin/colab/sub-menu/group": "/dev/admin/colab/sub-menu/group", + "/dev/admin/colab/dashboard": "/dev/admin/colab/dashboard", + "/dev/admin/award": "/dev/admin/award", + "/dev/admin/award/main": "/dev/admin/award/main", + "/dev/admin/app-information/main": "/dev/admin/app-information/main", + "/contoh": "/contoh", +}; + +export const apies = { + "/api/test-scroll": "/api/test-scroll", + "/api/seeder": "/api/seeder", + "/api/profile/url_foto/[url]": ({ url }: { url: string }) => + `/api/profile/url_foto/${url}`, + "/api/profile/url_background/[url]": ({ url }: { url: string }) => + `/api/profile/url_background/${url}`, + "/api/profile/foto/[id]": ({ id }: { id: string }) => + `/api/profile/foto/${id}`, + "/api/profile/background/[id]": ({ id }: { id: string }) => + `/api/profile/background/${id}`, + "/api/portofolio/logo/[id]": ({ id }: { id: string }) => + `/api/portofolio/logo/${id}`, + "/api/map/pin/[id]": ({ id }: { id: string }) => `/api/map/pin/${id}`, + "/api/map/foto/[id]": ({ id }: { id: string }) => `/api/map/foto/${id}`, + "/api/job/gambar/[id]": ({ id }: { id: string }) => `/api/job/gambar/${id}`, + "/api/investasi/prospektus/[id]": ({ id }: { id: string }) => + `/api/investasi/prospektus/${id}`, + "/api/investasi/midtrans/[id]": ({ id }: { id: string }) => + `/api/investasi/midtrans/${id}`, + "/api/investasi/gambar/[id]": ({ id }: { id: string }) => + `/api/investasi/gambar/${id}`, + "/api/investasi/dokumen/[id]": ({ id }: { id: string }) => + `/api/investasi/dokumen/${id}`, + "/api/investasi/bukti-transfer/[id]": ({ id }: { id: string }) => + `/api/investasi/bukti-transfer/${id}`, + "/api/donasi/image_cerita/[url]": ({ url }: { url: string }) => + `/api/donasi/image_cerita/${url}`, + "/api/donasi/image/[url]": ({ url }: { url: string }) => + `/api/donasi/image/${url}`, + "/api/donasi/gambar_pencairan/[id]": ({ id }: { id: string }) => + `/api/donasi/gambar_pencairan/${id}`, + "/api/donasi/gambar_kabar/[id]": ({ id }: { id: string }) => + `/api/donasi/gambar_kabar/${id}`, + "/api/donasi/gambar_cerita/[id]": ({ id }: { id: string }) => + `/api/donasi/gambar_cerita/${id}`, + "/api/donasi/gambar_bukti_transfer/[id]": ({ id }: { id: string }) => + `/api/donasi/gambar_bukti_transfer/${id}`, + "/api/donasi/gambar/[id]": ({ id }: { id: string }) => + `/api/donasi/gambar/${id}`, + "/api/check-cookies": "/api/check-cookies", + "/api/auth/validasi": "/api/auth/validasi", + "/api/auth/register": "/api/auth/register", + "/api/auth/logout": "/api/auth/logout", + "/api/auth/login": "/api/auth/login", + "/api/admin/notifikasi": "/api/admin/notifikasi", +}; diff --git a/yarn.lock b/yarn.lock index 6222d99c..695e2fe2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4281,6 +4281,11 @@ jiti@^1.18.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== +jose@^5.9.2: + version "5.9.2" + resolved "https://registry.yarnpkg.com/jose/-/jose-5.9.2.tgz#22a22da06edb8fb9e583aa24bafc1e8457b4db92" + integrity sha512-ILI2xx/I57b20sd7rHZvgiiQrmp2mcotwsAH+5ajbpFQbrYVQdNHYlQhoA5cFb78CgtBOxtC05TeA+mcgkuCqQ== + jotai@^2.4.3: version "2.9.3" resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.9.3.tgz#abcae49a737cd50e3144a6c9eb39840db077c727"