diff --git a/package.json b/package.json index 619ffcf6..53ba7399 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,8 @@ "moment": "^2.29.4", "mqtt": "^5.5.0", "next": "^13.5.4-canary.8", + "next-dev": "^1.1.9", + "next-scroll-loader": "^1.0.9", "postcss": "8.4.27", "react": "18.2.0", "react-countdown": "^2.3.5", @@ -68,6 +70,7 @@ "react-virtualized": "^9.22.5", "socket.io-client": "^4.7.2", "tailwindcss": "3.3.3", + "ts-node": "^10.9.2", "typescript": "5.1.6", "utf-8-validate": "^6.0.3", "uuid": "^9.0.1", diff --git a/prisma/migrations/20240610082419_new_notification/migration.sql b/prisma/migrations/20240610082419_new_notification/migration.sql new file mode 100644 index 00000000..24d16daa --- /dev/null +++ b/prisma/migrations/20240610082419_new_notification/migration.sql @@ -0,0 +1,820 @@ +/* + Warnings: + + - You are about to drop the `Katalog` table. If the table is not empty, all the data it contains will be lost. + - A unique constraint covering the columns `[imagesBackgroundId]` on the table `Profile` will be added. If there are existing duplicate values, this will fail. + +*/ +-- DropForeignKey +ALTER TABLE "Katalog" DROP CONSTRAINT "Katalog_masterBidangBisnisId_fkey"; + +-- DropForeignKey +ALTER TABLE "Katalog" DROP CONSTRAINT "Katalog_profileId_fkey"; + +-- AlterTable +ALTER TABLE "Images" ADD COLUMN "label" TEXT NOT NULL DEFAULT 'null'; + +-- AlterTable +ALTER TABLE "Profile" ADD COLUMN "imagesBackgroundId" TEXT; + +-- DropTable +DROP TABLE "Katalog"; + +-- CreateTable +CREATE TABLE "KodeOtp" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "nomor" TEXT NOT NULL, + "otp" INTEGER NOT NULL, + + CONSTRAINT "KodeOtp_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ImagesBackground" ( + "id" TEXT NOT NULL, + "url" TEXT NOT NULL, + "label" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "ImagesBackground_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Portofolio" ( + "id" TEXT NOT NULL, + "id_Portofolio" TEXT NOT NULL, + "namaBisnis" TEXT NOT NULL, + "alamatKantor" TEXT NOT NULL, + "tlpn" TEXT NOT NULL, + "deskripsi" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "profileId" TEXT, + "masterBidangBisnisId" TEXT NOT NULL, + "logoId" TEXT, + + CONSTRAINT "Portofolio_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Portofolio_MediaSosial" ( + "id" TEXT NOT NULL, + "facebook" TEXT, + "twitter" TEXT, + "instagram" TEXT, + "tiktok" TEXT, + "youtube" TEXT, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "portofolioId" TEXT, + + CONSTRAINT "Portofolio_MediaSosial_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "MasterStatus" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "MasterStatus_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi" ( + "id" TEXT NOT NULL, + "title" TEXT NOT NULL, + "target" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "publishTime" TIMESTAMP(3), + "catatan" TEXT, + "progres" TEXT DEFAULT '0', + "terkumpul" TEXT DEFAULT '0', + "namaBank" TEXT, + "rekening" TEXT, + "akumulasiPencairan" INTEGER DEFAULT 0, + "totalPencairan" INTEGER DEFAULT 0, + "authorId" TEXT, + "imagesId" TEXT, + "donasiMaster_KategoriId" TEXT, + "donasiMaster_DurasiId" TEXT, + "donasiMaster_StatusDonasiId" TEXT DEFAULT '2', + + CONSTRAINT "Donasi_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi_TemporaryCreate" ( + "id" TEXT NOT NULL, + "title" TEXT NOT NULL, + "target" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "imagesId" TEXT, + "donasiMaster_KategoriId" TEXT, + "donasiMaster_DurasiId" TEXT, + + CONSTRAINT "Donasi_TemporaryCreate_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DonasiMaster_Kategori" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "DonasiMaster_Kategori_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DonasiMaster_Durasi" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "DonasiMaster_Durasi_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi_Cerita" ( + "id" TEXT NOT NULL, + "pembukaan" TEXT NOT NULL, + "cerita" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "imagesId" TEXT, + "donasiId" TEXT, + + CONSTRAINT "Donasi_Cerita_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DonasiMaster_StatusDonasi" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "DonasiMaster_StatusDonasi_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DonasiMaster_Bank" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "norek" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "DonasiMaster_Bank_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "DonasiMaster_StatusInvoice" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "DonasiMaster_StatusInvoice_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi_Invoice" ( + "id" TEXT NOT NULL, + "nominal" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "donasiId" TEXT, + "donasiMaster_BankId" TEXT, + "donasiMaster_StatusInvoiceId" TEXT DEFAULT '3', + "authorId" TEXT, + "imagesId" TEXT, + + CONSTRAINT "Donasi_Invoice_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi_Kabar" ( + "id" TEXT NOT NULL, + "title" TEXT NOT NULL, + "deskripsi" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "donasiId" TEXT, + "imagesId" TEXT, + + CONSTRAINT "Donasi_Kabar_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi_Notif" ( + "id" TEXT NOT NULL, + "isRead" BOOLEAN NOT NULL DEFAULT false, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "userId" TEXT, + "donasi_KabarId" TEXT, + + CONSTRAINT "Donasi_Notif_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Donasi_PencairanDana" ( + "id" TEXT NOT NULL, + "nominalCair" INTEGER NOT NULL, + "title" TEXT NOT NULL, + "deskripsi" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "donasiId" TEXT, + "imagesId" TEXT, + + CONSTRAINT "Donasi_PencairanDana_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Event" ( + "id" TEXT NOT NULL, + "title" TEXT NOT NULL, + "lokasi" TEXT NOT NULL, + "tanggal" TIMESTAMP(3) NOT NULL, + "deskripsi" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "catatan" TEXT, + "authorId" TEXT, + "eventMaster_StatusId" TEXT DEFAULT '2', + "eventMaster_TipeAcaraId" INTEGER, + + CONSTRAINT "Event_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "EventMaster_TipeAcara" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "EventMaster_TipeAcara_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "EventMaster_Status" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "EventMaster_Status_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Event_Peserta" ( + "id" TEXT NOT NULL, + "active" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "eventId" TEXT, + "userId" TEXT, + + CONSTRAINT "Event_Peserta_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Voting" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "title" TEXT NOT NULL, + "deskripsi" TEXT NOT NULL, + "awalVote" TIMESTAMP(3) NOT NULL, + "akhirVote" TIMESTAMP(3) NOT NULL, + "catatan" TEXT, + "authorId" TEXT NOT NULL, + "voting_StatusId" TEXT DEFAULT '2', + + CONSTRAINT "Voting_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Voting_Status" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "Voting_Status_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Voting_DaftarNamaVote" ( + "id" TEXT NOT NULL, + "value" TEXT NOT NULL, + "jumlah" INTEGER NOT NULL DEFAULT 0, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "votingId" TEXT, + + CONSTRAINT "Voting_DaftarNamaVote_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Voting_Kontributor" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "votingId" TEXT, + "authorId" TEXT, + "voting_DaftarNamaVoteId" TEXT, + + CONSTRAINT "Voting_Kontributor_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Job" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "isArsip" BOOLEAN NOT NULL DEFAULT false, + "catatan" TEXT, + "title" TEXT NOT NULL, + "content" TEXT NOT NULL, + "deskripsi" TEXT NOT NULL, + "imagesId" TEXT, + "authorId" TEXT, + "masterStatusId" TEXT DEFAULT '2', + + CONSTRAINT "Job_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ForumMaster_StatusPosting" ( + "id" SERIAL NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "status" TEXT NOT NULL, + + CONSTRAINT "ForumMaster_StatusPosting_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Forum_Posting" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "publishAt" TIMESTAMP(3), + "diskusi" TEXT NOT NULL, + "authorId" TEXT, + "forumMaster_StatusPostingId" INTEGER, + + CONSTRAINT "Forum_Posting_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Forum_Komentar" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "komentar" TEXT NOT NULL, + "forum_PostingId" TEXT, + "authorId" TEXT, + + CONSTRAINT "Forum_Komentar_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ForumMaster_KategoriReport" ( + "id" SERIAL NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "title" TEXT NOT NULL, + "deskripsi" TEXT NOT NULL, + + CONSTRAINT "ForumMaster_KategoriReport_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Forum_ReportPosting" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deskripsi" TEXT, + "forumMaster_KategoriReportId" INTEGER, + "forum_PostingId" TEXT, + "userId" TEXT, + + CONSTRAINT "Forum_ReportPosting_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Forum_ReportKomentar" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deskripsi" TEXT, + "forumMaster_KategoriReportId" INTEGER, + "forum_KomentarId" TEXT, + "userId" TEXT, + + CONSTRAINT "Forum_ReportKomentar_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaboration" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "title" TEXT NOT NULL, + "lokasi" TEXT NOT NULL, + "purpose" TEXT NOT NULL, + "benefit" TEXT, + "isReject" BOOLEAN DEFAULT false, + "report" TEXT, + "projectCollaborationMaster_IndustriId" INTEGER, + "userId" TEXT, + "projectCollaborationMaster_StatusId" INTEGER DEFAULT 1, + + CONSTRAINT "ProjectCollaboration_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaborationMaster_Industri" ( + "id" SERIAL NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "name" TEXT NOT NULL, + + CONSTRAINT "ProjectCollaborationMaster_Industri_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaborationMaster_Status" ( + "id" SERIAL NOT NULL, + "name" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "ProjectCollaborationMaster_Status_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaboration_Partisipasi" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "userId" TEXT, + "projectCollaborationId" TEXT, + "deskripsi_diri" TEXT NOT NULL, + + CONSTRAINT "ProjectCollaboration_Partisipasi_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaboration_RoomChat" ( + "id" TEXT NOT NULL, + "name" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "userId" TEXT, + "projectCollaborationId" TEXT, + + CONSTRAINT "ProjectCollaboration_RoomChat_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaboration_AnggotaRoomChat" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "userId" TEXT NOT NULL, + "projectCollaboration_RoomChatId" TEXT, + + CONSTRAINT "ProjectCollaboration_AnggotaRoomChat_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaboration_Message" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "message" TEXT NOT NULL, + "isFile" BOOLEAN DEFAULT false, + "userId" TEXT, + "projectCollaboration_RoomChatId" TEXT, + + CONSTRAINT "ProjectCollaboration_Message_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "ProjectCollaboration_Notifikasi" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "isRead" BOOLEAN NOT NULL DEFAULT false, + "note" TEXT, + "projectCollaborationId" TEXT NOT NULL, + "adminId" TEXT NOT NULL, + "userId" TEXT NOT NULL, + + CONSTRAINT "ProjectCollaboration_Notifikasi_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "NomorAdmin" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "nomor" TEXT NOT NULL, + + CONSTRAINT "NomorAdmin_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Notifikasi" ( + "id" TEXT NOT NULL, + "isActive" BOOLEAN NOT NULL DEFAULT true, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "isRead" BOOLEAN NOT NULL DEFAULT false, + "appId" TEXT NOT NULL, + "kategoriApp" TEXT NOT NULL, + "pesan" TEXT NOT NULL, + "title" TEXT, + "status" TEXT, + "userRoleId" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "adminId" TEXT NOT NULL, + + CONSTRAINT "Notifikasi_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "Portofolio_id_Portofolio_key" ON "Portofolio"("id_Portofolio"); + +-- CreateIndex +CREATE UNIQUE INDEX "Portofolio_MediaSosial_portofolioId_key" ON "Portofolio_MediaSosial"("portofolioId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Donasi_imagesId_key" ON "Donasi"("imagesId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Donasi_TemporaryCreate_imagesId_key" ON "Donasi_TemporaryCreate"("imagesId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Donasi_Cerita_imagesId_key" ON "Donasi_Cerita"("imagesId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Donasi_Cerita_donasiId_key" ON "Donasi_Cerita"("donasiId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Profile_imagesBackgroundId_key" ON "Profile"("imagesBackgroundId"); + +-- AddForeignKey +ALTER TABLE "Profile" ADD CONSTRAINT "Profile_imagesBackgroundId_fkey" FOREIGN KEY ("imagesBackgroundId") REFERENCES "ImagesBackground"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Portofolio" ADD CONSTRAINT "Portofolio_profileId_fkey" FOREIGN KEY ("profileId") REFERENCES "Profile"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Portofolio" ADD CONSTRAINT "Portofolio_masterBidangBisnisId_fkey" FOREIGN KEY ("masterBidangBisnisId") REFERENCES "MasterBidangBisnis"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Portofolio" ADD CONSTRAINT "Portofolio_logoId_fkey" FOREIGN KEY ("logoId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Portofolio_MediaSosial" ADD CONSTRAINT "Portofolio_MediaSosial_portofolioId_fkey" FOREIGN KEY ("portofolioId") REFERENCES "Portofolio"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi" ADD CONSTRAINT "Donasi_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi" ADD CONSTRAINT "Donasi_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi" ADD CONSTRAINT "Donasi_donasiMaster_KategoriId_fkey" FOREIGN KEY ("donasiMaster_KategoriId") REFERENCES "DonasiMaster_Kategori"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi" ADD CONSTRAINT "Donasi_donasiMaster_DurasiId_fkey" FOREIGN KEY ("donasiMaster_DurasiId") REFERENCES "DonasiMaster_Durasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi" ADD CONSTRAINT "Donasi_donasiMaster_StatusDonasiId_fkey" FOREIGN KEY ("donasiMaster_StatusDonasiId") REFERENCES "DonasiMaster_StatusDonasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_TemporaryCreate" ADD CONSTRAINT "Donasi_TemporaryCreate_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_TemporaryCreate" ADD CONSTRAINT "Donasi_TemporaryCreate_donasiMaster_KategoriId_fkey" FOREIGN KEY ("donasiMaster_KategoriId") REFERENCES "DonasiMaster_Kategori"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_TemporaryCreate" ADD CONSTRAINT "Donasi_TemporaryCreate_donasiMaster_DurasiId_fkey" FOREIGN KEY ("donasiMaster_DurasiId") REFERENCES "DonasiMaster_Durasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Cerita" ADD CONSTRAINT "Donasi_Cerita_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Cerita" ADD CONSTRAINT "Donasi_Cerita_donasiId_fkey" FOREIGN KEY ("donasiId") REFERENCES "Donasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Invoice" ADD CONSTRAINT "Donasi_Invoice_donasiId_fkey" FOREIGN KEY ("donasiId") REFERENCES "Donasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Invoice" ADD CONSTRAINT "Donasi_Invoice_donasiMaster_BankId_fkey" FOREIGN KEY ("donasiMaster_BankId") REFERENCES "DonasiMaster_Bank"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Invoice" ADD CONSTRAINT "Donasi_Invoice_donasiMaster_StatusInvoiceId_fkey" FOREIGN KEY ("donasiMaster_StatusInvoiceId") REFERENCES "DonasiMaster_StatusInvoice"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Invoice" ADD CONSTRAINT "Donasi_Invoice_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Invoice" ADD CONSTRAINT "Donasi_Invoice_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Kabar" ADD CONSTRAINT "Donasi_Kabar_donasiId_fkey" FOREIGN KEY ("donasiId") REFERENCES "Donasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Kabar" ADD CONSTRAINT "Donasi_Kabar_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Notif" ADD CONSTRAINT "Donasi_Notif_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_Notif" ADD CONSTRAINT "Donasi_Notif_donasi_KabarId_fkey" FOREIGN KEY ("donasi_KabarId") REFERENCES "Donasi_Kabar"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_PencairanDana" ADD CONSTRAINT "Donasi_PencairanDana_donasiId_fkey" FOREIGN KEY ("donasiId") REFERENCES "Donasi"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Donasi_PencairanDana" ADD CONSTRAINT "Donasi_PencairanDana_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Event" ADD CONSTRAINT "Event_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Event" ADD CONSTRAINT "Event_eventMaster_StatusId_fkey" FOREIGN KEY ("eventMaster_StatusId") REFERENCES "EventMaster_Status"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Event" ADD CONSTRAINT "Event_eventMaster_TipeAcaraId_fkey" FOREIGN KEY ("eventMaster_TipeAcaraId") REFERENCES "EventMaster_TipeAcara"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Event_Peserta" ADD CONSTRAINT "Event_Peserta_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES "Event"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Event_Peserta" ADD CONSTRAINT "Event_Peserta_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Voting" ADD CONSTRAINT "Voting_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Voting" ADD CONSTRAINT "Voting_voting_StatusId_fkey" FOREIGN KEY ("voting_StatusId") REFERENCES "Voting_Status"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Voting_DaftarNamaVote" ADD CONSTRAINT "Voting_DaftarNamaVote_votingId_fkey" FOREIGN KEY ("votingId") REFERENCES "Voting"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Voting_Kontributor" ADD CONSTRAINT "Voting_Kontributor_votingId_fkey" FOREIGN KEY ("votingId") REFERENCES "Voting"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Voting_Kontributor" ADD CONSTRAINT "Voting_Kontributor_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Voting_Kontributor" ADD CONSTRAINT "Voting_Kontributor_voting_DaftarNamaVoteId_fkey" FOREIGN KEY ("voting_DaftarNamaVoteId") REFERENCES "Voting_DaftarNamaVote"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Job" ADD CONSTRAINT "Job_imagesId_fkey" FOREIGN KEY ("imagesId") REFERENCES "Images"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Job" ADD CONSTRAINT "Job_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Job" ADD CONSTRAINT "Job_masterStatusId_fkey" FOREIGN KEY ("masterStatusId") REFERENCES "MasterStatus"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_Posting" ADD CONSTRAINT "Forum_Posting_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_Posting" ADD CONSTRAINT "Forum_Posting_forumMaster_StatusPostingId_fkey" FOREIGN KEY ("forumMaster_StatusPostingId") REFERENCES "ForumMaster_StatusPosting"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_Komentar" ADD CONSTRAINT "Forum_Komentar_forum_PostingId_fkey" FOREIGN KEY ("forum_PostingId") REFERENCES "Forum_Posting"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_Komentar" ADD CONSTRAINT "Forum_Komentar_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_ReportPosting" ADD CONSTRAINT "Forum_ReportPosting_forumMaster_KategoriReportId_fkey" FOREIGN KEY ("forumMaster_KategoriReportId") REFERENCES "ForumMaster_KategoriReport"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_ReportPosting" ADD CONSTRAINT "Forum_ReportPosting_forum_PostingId_fkey" FOREIGN KEY ("forum_PostingId") REFERENCES "Forum_Posting"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_ReportPosting" ADD CONSTRAINT "Forum_ReportPosting_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_ReportKomentar" ADD CONSTRAINT "Forum_ReportKomentar_forumMaster_KategoriReportId_fkey" FOREIGN KEY ("forumMaster_KategoriReportId") REFERENCES "ForumMaster_KategoriReport"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_ReportKomentar" ADD CONSTRAINT "Forum_ReportKomentar_forum_KomentarId_fkey" FOREIGN KEY ("forum_KomentarId") REFERENCES "Forum_Komentar"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Forum_ReportKomentar" ADD CONSTRAINT "Forum_ReportKomentar_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration" ADD CONSTRAINT "ProjectCollaboration_projectCollaborationMaster_IndustriId_fkey" FOREIGN KEY ("projectCollaborationMaster_IndustriId") REFERENCES "ProjectCollaborationMaster_Industri"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration" ADD CONSTRAINT "ProjectCollaboration_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration" ADD CONSTRAINT "ProjectCollaboration_projectCollaborationMaster_StatusId_fkey" FOREIGN KEY ("projectCollaborationMaster_StatusId") REFERENCES "ProjectCollaborationMaster_Status"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Partisipasi" ADD CONSTRAINT "ProjectCollaboration_Partisipasi_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Partisipasi" ADD CONSTRAINT "ProjectCollaboration_Partisipasi_projectCollaborationId_fkey" FOREIGN KEY ("projectCollaborationId") REFERENCES "ProjectCollaboration"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_RoomChat" ADD CONSTRAINT "ProjectCollaboration_RoomChat_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_RoomChat" ADD CONSTRAINT "ProjectCollaboration_RoomChat_projectCollaborationId_fkey" FOREIGN KEY ("projectCollaborationId") REFERENCES "ProjectCollaboration"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_AnggotaRoomChat" ADD CONSTRAINT "ProjectCollaboration_AnggotaRoomChat_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_AnggotaRoomChat" ADD CONSTRAINT "ProjectCollaboration_AnggotaRoomChat_projectCollaboration__fkey" FOREIGN KEY ("projectCollaboration_RoomChatId") REFERENCES "ProjectCollaboration_RoomChat"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Message" ADD CONSTRAINT "ProjectCollaboration_Message_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Message" ADD CONSTRAINT "ProjectCollaboration_Message_projectCollaboration_RoomChat_fkey" FOREIGN KEY ("projectCollaboration_RoomChatId") REFERENCES "ProjectCollaboration_RoomChat"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Notifikasi" ADD CONSTRAINT "ProjectCollaboration_Notifikasi_projectCollaborationId_fkey" FOREIGN KEY ("projectCollaborationId") REFERENCES "ProjectCollaboration"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Notifikasi" ADD CONSTRAINT "AdminNotifProjectUser" FOREIGN KEY ("adminId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "ProjectCollaboration_Notifikasi" ADD CONSTRAINT "UserNotifProjectUser" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Notifikasi" ADD CONSTRAINT "Notifikasi_userRoleId_fkey" FOREIGN KEY ("userRoleId") REFERENCES "MasterUserRole"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Notifikasi" ADD CONSTRAINT "NotifikasiUser" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Notifikasi" ADD CONSTRAINT "NotifikasiAdmin" FOREIGN KEY ("adminId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index afef70f1..baa94cd0 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -43,15 +43,18 @@ model User { ProjectCollaboration_Message ProjectCollaboration_Message[] AdminProjectCollaboration_Notifikasi ProjectCollaboration_Notifikasi[] @relation("AdminNotifProjectToUser") UserProjectCollaboration_Notifikasi ProjectCollaboration_Notifikasi[] @relation("UserNotifProjectToUser") + Admin_Notifikasi Notifikasi[] @relation("AdminNotifikasi") + User_Notifikasi Notifikasi[] @relation("UserNotifikasi") } model MasterUserRole { - id String @id - name String - active Boolean @default(true) - createdAt DateTime? @default(now()) - updatedAt DateTime? @updatedAt - User User[] + id String @id + name String + active Boolean @default(true) + createdAt DateTime? @default(now()) + updatedAt DateTime? @updatedAt + User User[] + Notifikasi Notifikasi[] } model UserSession { @@ -838,3 +841,33 @@ model ProjectCollaboration_Notifikasi { User User @relation("UserNotifProjectToUser", fields: [userId], references: [id], map: "UserNotifProjectUser") userId String } + +model NomorAdmin { + id String @id @default(cuid()) + isActive Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + nomor String +} + +model Notifikasi { + id String @id @default(cuid()) + isActive Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + isRead Boolean @default(false) + appId String + kategoriApp String + pesan String + title String? + status String? + + Role MasterUserRole? @relation(fields: [userRoleId], references: [id]) + userRoleId String + + User User? @relation("UserNotifikasi", fields: [userId], references: [id], map: "NotifikasiUser") + userId String? + Admin User? @relation("AdminNotifikasi", fields: [adminId], references: [id], map: "NotifikasiAdmin") + adminId String? + +} diff --git a/public/donasi/image/58ac41fd-8f34-460c-83e2-3c12fba9f659.jpeg b/public/donasi/image/0d8d18cc-b3a1-4186-b91b-85c67b7bee26.jpeg similarity index 100% rename from public/donasi/image/58ac41fd-8f34-460c-83e2-3c12fba9f659.jpeg rename to public/donasi/image/0d8d18cc-b3a1-4186-b91b-85c67b7bee26.jpeg diff --git a/public/donasi/image/25388f4f-8503-46ec-977d-3f92d7e9df4e.jpeg b/public/donasi/image/25388f4f-8503-46ec-977d-3f92d7e9df4e.jpeg deleted file mode 100644 index 83e6366e..00000000 Binary files a/public/donasi/image/25388f4f-8503-46ec-977d-3f92d7e9df4e.jpeg and /dev/null differ diff --git a/public/donasi/image/26f9f9ae-d099-4136-bb43-7d0a96770b55.jpeg b/public/donasi/image/26f9f9ae-d099-4136-bb43-7d0a96770b55.jpeg deleted file mode 100644 index 00b4469e..00000000 Binary files a/public/donasi/image/26f9f9ae-d099-4136-bb43-7d0a96770b55.jpeg and /dev/null differ diff --git a/public/donasi/image/84a72cf5-1b0e-47f8-bca9-763edef28c0b.jpeg b/public/donasi/image/84a72cf5-1b0e-47f8-bca9-763edef28c0b.jpeg deleted file mode 100644 index 6453d730..00000000 Binary files a/public/donasi/image/84a72cf5-1b0e-47f8-bca9-763edef28c0b.jpeg and /dev/null differ diff --git a/public/donasi/image/97e4669b-7b23-4773-be34-6d09c38f4cbc.jpeg b/public/donasi/image/97e4669b-7b23-4773-be34-6d09c38f4cbc.jpeg new file mode 100644 index 00000000..d040a767 Binary files /dev/null and b/public/donasi/image/97e4669b-7b23-4773-be34-6d09c38f4cbc.jpeg differ diff --git a/public/donasi/image/b9b270aa-f0db-42a6-822e-a35b6b28c883.jpeg b/public/donasi/image/b9b270aa-f0db-42a6-822e-a35b6b28c883.jpeg deleted file mode 100644 index 5652497a..00000000 Binary files a/public/donasi/image/b9b270aa-f0db-42a6-822e-a35b6b28c883.jpeg and /dev/null differ diff --git a/public/donasi/image/bf8c9bae-e3c9-4d33-89ec-9a88c3740da8.jpeg b/public/donasi/image/bf8c9bae-e3c9-4d33-89ec-9a88c3740da8.jpeg deleted file mode 100644 index 289b1a56..00000000 Binary files a/public/donasi/image/bf8c9bae-e3c9-4d33-89ec-9a88c3740da8.jpeg and /dev/null differ diff --git a/public/donasi/image/c6b8d269-7e15-4711-81e0-35d1d2f757dc.jpeg b/public/donasi/image/c6b8d269-7e15-4711-81e0-35d1d2f757dc.jpeg deleted file mode 100644 index 289b1a56..00000000 Binary files a/public/donasi/image/c6b8d269-7e15-4711-81e0-35d1d2f757dc.jpeg and /dev/null differ diff --git a/public/donasi/image/c77f246e-d572-4acb-9b41-0b9e5d973e69.jpg b/public/donasi/image/c77f246e-d572-4acb-9b41-0b9e5d973e69.jpg deleted file mode 100644 index b71d094e..00000000 Binary files a/public/donasi/image/c77f246e-d572-4acb-9b41-0b9e5d973e69.jpg and /dev/null differ diff --git a/public/donasi/image/ddd5a80a-f5d9-4483-8fe0-5216c372a536.jpg b/public/donasi/image/ddd5a80a-f5d9-4483-8fe0-5216c372a536.jpg deleted file mode 100644 index b71d094e..00000000 Binary files a/public/donasi/image/ddd5a80a-f5d9-4483-8fe0-5216c372a536.jpg and /dev/null differ diff --git a/public/donasi/image_cerita/0d904f72-972b-4b04-959d-80ae0456f832.jpg b/public/donasi/image_cerita/0d904f72-972b-4b04-959d-80ae0456f832.jpg deleted file mode 100644 index b71d094e..00000000 Binary files a/public/donasi/image_cerita/0d904f72-972b-4b04-959d-80ae0456f832.jpg and /dev/null differ diff --git a/public/donasi/image_cerita/1f2f7595-15c3-4eb4-9cf7-256ce8871d77.jpeg b/public/donasi/image_cerita/1f2f7595-15c3-4eb4-9cf7-256ce8871d77.jpeg deleted file mode 100644 index d3ea1214..00000000 Binary files a/public/donasi/image_cerita/1f2f7595-15c3-4eb4-9cf7-256ce8871d77.jpeg and /dev/null differ diff --git a/public/donasi/image_cerita/24029ffc-3797-4024-bf16-83ede985b4bd.jpeg b/public/donasi/image_cerita/24029ffc-3797-4024-bf16-83ede985b4bd.jpeg deleted file mode 100644 index 8830cea2..00000000 Binary files a/public/donasi/image_cerita/24029ffc-3797-4024-bf16-83ede985b4bd.jpeg and /dev/null differ diff --git a/public/donasi/image/a709e395-d56e-4101-bae4-9d535c8464b9.jpg b/public/donasi/image_cerita/39c23733-fe61-4784-85d0-fd2ef3273346.jpg similarity index 100% rename from public/donasi/image/a709e395-d56e-4101-bae4-9d535c8464b9.jpg rename to public/donasi/image_cerita/39c23733-fe61-4784-85d0-fd2ef3273346.jpg diff --git a/public/donasi/image_cerita/3f56e88a-141f-4370-bbe2-dbac623bcb67.jpeg b/public/donasi/image_cerita/3f56e88a-141f-4370-bbe2-dbac623bcb67.jpeg deleted file mode 100644 index 6302e96c..00000000 Binary files a/public/donasi/image_cerita/3f56e88a-141f-4370-bbe2-dbac623bcb67.jpeg and /dev/null differ diff --git a/public/donasi/image_cerita/48ddfea8-1c95-431e-abd2-6a03c43e7cca.jpeg b/public/donasi/image_cerita/48ddfea8-1c95-431e-abd2-6a03c43e7cca.jpeg deleted file mode 100644 index d3ea1214..00000000 Binary files a/public/donasi/image_cerita/48ddfea8-1c95-431e-abd2-6a03c43e7cca.jpeg and /dev/null differ diff --git a/public/donasi/image_cerita/627f9ce6-466f-413c-a6fc-4416feb260a6.jpeg b/public/donasi/image_cerita/627f9ce6-466f-413c-a6fc-4416feb260a6.jpeg deleted file mode 100644 index 5652497a..00000000 Binary files a/public/donasi/image_cerita/627f9ce6-466f-413c-a6fc-4416feb260a6.jpeg and /dev/null differ diff --git a/public/donasi/image_cerita/6e4f0cd6-ab03-4f2a-8cda-cc066f31775c.jpeg b/public/donasi/image_cerita/6e4f0cd6-ab03-4f2a-8cda-cc066f31775c.jpeg deleted file mode 100644 index 8830cea2..00000000 Binary files a/public/donasi/image_cerita/6e4f0cd6-ab03-4f2a-8cda-cc066f31775c.jpeg and /dev/null differ diff --git a/public/donasi/image_cerita/8ca0b1ff-ff3d-42e3-8fa7-935ea6adf6a8.jpeg b/public/donasi/image_cerita/8ca0b1ff-ff3d-42e3-8fa7-935ea6adf6a8.jpeg deleted file mode 100644 index 5652497a..00000000 Binary files a/public/donasi/image_cerita/8ca0b1ff-ff3d-42e3-8fa7-935ea6adf6a8.jpeg and /dev/null differ diff --git a/public/donasi/image_cerita/e1b466b9-0d77-46f5-ad16-50b81f4e36cb.jpeg b/public/donasi/image_cerita/e1b466b9-0d77-46f5-ad16-50b81f4e36cb.jpeg deleted file mode 100644 index 4f712802..00000000 Binary files a/public/donasi/image_cerita/e1b466b9-0d77-46f5-ad16-50b81f4e36cb.jpeg and /dev/null differ diff --git a/public/donasi/image/4e1a2302-5471-4a95-a79c-0fbe3c3f0677.jpeg b/public/donasi/image_cerita/e2610b3b-d821-4c2c-8bdf-c8a7aff4e0e2.jpeg similarity index 100% rename from public/donasi/image/4e1a2302-5471-4a95-a79c-0fbe3c3f0677.jpeg rename to public/donasi/image_cerita/e2610b3b-d821-4c2c-8bdf-c8a7aff4e0e2.jpeg diff --git a/public/donasi/image_cerita/ea5fb905-1926-4ea0-b829-da57054fd574.jpg b/public/donasi/image_cerita/ea5fb905-1926-4ea0-b829-da57054fd574.jpg deleted file mode 100644 index b71d094e..00000000 Binary files a/public/donasi/image_cerita/ea5fb905-1926-4ea0-b829-da57054fd574.jpg and /dev/null differ diff --git a/public/donasi/invoice/8afa3968-fec7-49f9-8bba-d81d5f7ceb01.png b/public/donasi/invoice/2be14a7c-1865-47c6-b171-e0b3459d76a0.png similarity index 100% rename from public/donasi/invoice/8afa3968-fec7-49f9-8bba-d81d5f7ceb01.png rename to public/donasi/invoice/2be14a7c-1865-47c6-b171-e0b3459d76a0.png diff --git a/public/donasi/invoice/589732ad-0e8a-4273-bc27-707f01b1e4d0.png b/public/donasi/invoice/589732ad-0e8a-4273-bc27-707f01b1e4d0.png deleted file mode 100644 index 827976fd..00000000 Binary files a/public/donasi/invoice/589732ad-0e8a-4273-bc27-707f01b1e4d0.png and /dev/null differ diff --git a/public/donasi/invoice/cd319bc0-09e5-4322-b924-43b1f0e619ff.png b/public/donasi/invoice/cd319bc0-09e5-4322-b924-43b1f0e619ff.png deleted file mode 100644 index 6f356546..00000000 Binary files a/public/donasi/invoice/cd319bc0-09e5-4322-b924-43b1f0e619ff.png and /dev/null differ diff --git a/public/donasi/kabar/2cfa3076-f9dd-43d2-b9fb-3ecd37b852a8.jpeg b/public/donasi/kabar/2cfa3076-f9dd-43d2-b9fb-3ecd37b852a8.jpeg deleted file mode 100644 index df5b1ada..00000000 Binary files a/public/donasi/kabar/2cfa3076-f9dd-43d2-b9fb-3ecd37b852a8.jpeg and /dev/null differ diff --git a/public/donasi/kabar/510ead2a-1976-452b-abc3-dcc1db83d9f3.jpeg b/public/donasi/kabar/510ead2a-1976-452b-abc3-dcc1db83d9f3.jpeg deleted file mode 100644 index d3ea1214..00000000 Binary files a/public/donasi/kabar/510ead2a-1976-452b-abc3-dcc1db83d9f3.jpeg and /dev/null differ diff --git a/public/donasi/kabar/6fdb94e0-34b8-4731-a710-acaacbbec933.jpeg b/public/donasi/kabar/6fdb94e0-34b8-4731-a710-acaacbbec933.jpeg deleted file mode 100644 index e25549da..00000000 Binary files a/public/donasi/kabar/6fdb94e0-34b8-4731-a710-acaacbbec933.jpeg and /dev/null differ diff --git a/public/donasi/kabar/cb3a09a2-b357-47c0-be0a-d8a54e4b077f.jpeg b/public/donasi/kabar/cb3a09a2-b357-47c0-be0a-d8a54e4b077f.jpeg deleted file mode 100644 index d0b9edda..00000000 Binary files a/public/donasi/kabar/cb3a09a2-b357-47c0-be0a-d8a54e4b077f.jpeg and /dev/null differ diff --git a/public/donasi/pencairan/1c43100c-05bc-4234-b308-db06171cd188.jpg b/public/donasi/pencairan/1c43100c-05bc-4234-b308-db06171cd188.jpg deleted file mode 100644 index ea83eb05..00000000 Binary files a/public/donasi/pencairan/1c43100c-05bc-4234-b308-db06171cd188.jpg and /dev/null differ diff --git a/public/donasi/invoice/144ba2ba-67df-4014-92fd-f51f1a14d290.png b/public/donasi/pencairan/80f3613a-d0dd-4d22-8249-c54e12cbb575.png similarity index 100% rename from public/donasi/invoice/144ba2ba-67df-4014-92fd-f51f1a14d290.png rename to public/donasi/pencairan/80f3613a-d0dd-4d22-8249-c54e12cbb575.png diff --git a/public/donasi/pencairan/92bb3b55-19e9-4676-9b2e-633d7fe9fa70.jpg b/public/donasi/pencairan/92bb3b55-19e9-4676-9b2e-633d7fe9fa70.jpg deleted file mode 100644 index 9bb96f9b..00000000 Binary files a/public/donasi/pencairan/92bb3b55-19e9-4676-9b2e-633d7fe9fa70.jpg and /dev/null differ diff --git a/public/donasi/pencairan/9ed489e4-056e-41d8-be75-faf7107f9a60.jpg b/public/donasi/pencairan/9ed489e4-056e-41d8-be75-faf7107f9a60.jpg deleted file mode 100644 index 1b3756ff..00000000 Binary files a/public/donasi/pencairan/9ed489e4-056e-41d8-be75-faf7107f9a60.jpg and /dev/null differ diff --git a/public/investasi/dd6a6ed4-ca5c-46b5-b12e-c314420077ae.jpeg b/public/file/1e56f93e-df1a-4062-9d67-7fda5302bef2.jpeg similarity index 100% rename from public/investasi/dd6a6ed4-ca5c-46b5-b12e-c314420077ae.jpeg rename to public/file/1e56f93e-df1a-4062-9d67-7fda5302bef2.jpeg diff --git a/public/file/516c7e01-3fb2-47e3-be42-fe7a28e011ee.jpg b/public/file/516c7e01-3fb2-47e3-be42-fe7a28e011ee.jpg new file mode 100644 index 00000000..cbfea1c7 Binary files /dev/null and b/public/file/516c7e01-3fb2-47e3-be42-fe7a28e011ee.jpg differ diff --git a/public/file/5e46b50e-5dc5-47e3-90fd-b71fd79ee6c1.jpeg b/public/file/5e46b50e-5dc5-47e3-90fd-b71fd79ee6c1.jpeg new file mode 100644 index 00000000..25a18f99 Binary files /dev/null and b/public/file/5e46b50e-5dc5-47e3-90fd-b71fd79ee6c1.jpeg differ diff --git a/public/investasi/0815b390-ff1c-4139-a67f-ff4603b9e2ca.png b/public/investasi/0815b390-ff1c-4139-a67f-ff4603b9e2ca.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/investasi/0815b390-ff1c-4139-a67f-ff4603b9e2ca.png and /dev/null differ diff --git a/public/investasi/09c22d28-4efe-443c-a432-fc49d6681055.jpeg b/public/investasi/09c22d28-4efe-443c-a432-fc49d6681055.jpeg new file mode 100644 index 00000000..25a18f99 Binary files /dev/null and b/public/investasi/09c22d28-4efe-443c-a432-fc49d6681055.jpeg differ diff --git a/public/investasi/24c94a56-5563-4a2e-a401-b5f771d9ba12.png b/public/investasi/24c94a56-5563-4a2e-a401-b5f771d9ba12.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/investasi/24c94a56-5563-4a2e-a401-b5f771d9ba12.png and /dev/null differ diff --git a/public/investasi/2756d89c-0156-4252-920a-443d25ead85e.png b/public/investasi/2756d89c-0156-4252-920a-443d25ead85e.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/investasi/2756d89c-0156-4252-920a-443d25ead85e.png and /dev/null differ diff --git a/public/investasi/4297c21c-529d-4f71-bb52-b2fcb60a2bac.png b/public/investasi/4297c21c-529d-4f71-bb52-b2fcb60a2bac.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/investasi/4297c21c-529d-4f71-bb52-b2fcb60a2bac.png and /dev/null differ diff --git a/public/investasi/59b1d508-1b64-46f2-99c2-a43f268a2a86.jpeg b/public/investasi/59b1d508-1b64-46f2-99c2-a43f268a2a86.jpeg deleted file mode 100644 index 326da9f2..00000000 Binary files a/public/investasi/59b1d508-1b64-46f2-99c2-a43f268a2a86.jpeg and /dev/null differ diff --git a/public/investasi/83fd7d43-e40d-4a4c-bdff-bd7eeb75ac04.jpeg b/public/investasi/83fd7d43-e40d-4a4c-bdff-bd7eeb75ac04.jpeg deleted file mode 100644 index 803e3c56..00000000 Binary files a/public/investasi/83fd7d43-e40d-4a4c-bdff-bd7eeb75ac04.jpeg and /dev/null differ diff --git a/public/investasi/9ba9ec4d-f287-40e7-9163-af306ce97188.jpeg b/public/investasi/9ba9ec4d-f287-40e7-9163-af306ce97188.jpeg deleted file mode 100644 index 6302e96c..00000000 Binary files a/public/investasi/9ba9ec4d-f287-40e7-9163-af306ce97188.jpeg and /dev/null differ diff --git a/public/investasi/d5b525d2-f460-4b0e-af8a-02b9c21a972e.png b/public/investasi/d5b525d2-f460-4b0e-af8a-02b9c21a972e.png deleted file mode 100644 index 98983643..00000000 Binary files a/public/investasi/d5b525d2-f460-4b0e-af8a-02b9c21a972e.png and /dev/null differ diff --git a/public/investasi/ddf1e9c2-92f0-4885-b467-01cc35d1bf46.png b/public/investasi/ddf1e9c2-92f0-4885-b467-01cc35d1bf46.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/investasi/ddf1e9c2-92f0-4885-b467-01cc35d1bf46.png and /dev/null differ diff --git a/public/investasi/e00ed6c8-d61c-4fb9-9488-cea776702644.jpeg b/public/investasi/e00ed6c8-d61c-4fb9-9488-cea776702644.jpeg deleted file mode 100644 index 6e5c7242..00000000 Binary files a/public/investasi/e00ed6c8-d61c-4fb9-9488-cea776702644.jpeg and /dev/null differ diff --git a/public/investasi/ed305bf4-65e1-441a-a8bb-2d815a6e49c1.png b/public/investasi/ed305bf4-65e1-441a-a8bb-2d815a6e49c1.png deleted file mode 100644 index d0f301d6..00000000 Binary files a/public/investasi/ed305bf4-65e1-441a-a8bb-2d815a6e49c1.png and /dev/null differ diff --git a/public/investasi/f3e7698b-44de-4dc5-9238-65196abc4fe7.png b/public/investasi/f3e7698b-44de-4dc5-9238-65196abc4fe7.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/investasi/f3e7698b-44de-4dc5-9238-65196abc4fe7.png and /dev/null differ diff --git a/public/job/cab9ad8e-afed-4b3c-953d-f84b67758dc9.png b/public/job/085b304e-7ec8-4581-9897-cf6da87ace02.png similarity index 100% rename from public/job/cab9ad8e-afed-4b3c-953d-f84b67758dc9.png rename to public/job/085b304e-7ec8-4581-9897-cf6da87ace02.png diff --git a/public/job/0b5b73b1-9eef-46e2-9e68-3912b8560365.jpg b/public/job/0b5b73b1-9eef-46e2-9e68-3912b8560365.jpg deleted file mode 100644 index 7184c41f..00000000 Binary files a/public/job/0b5b73b1-9eef-46e2-9e68-3912b8560365.jpg and /dev/null differ diff --git a/public/job/5232ae23-c04c-4140-a1d2-ed3cd1377d13.jpg b/public/job/0fbd6251-c6a4-4552-82be-f630f04b838c.jpg similarity index 100% rename from public/job/5232ae23-c04c-4140-a1d2-ed3cd1377d13.jpg rename to public/job/0fbd6251-c6a4-4552-82be-f630f04b838c.jpg diff --git a/public/job/19681f45-09bd-4ab3-9756-ce3ab7e6a2a7.jpg b/public/job/19681f45-09bd-4ab3-9756-ce3ab7e6a2a7.jpg new file mode 100644 index 00000000..4204a23e Binary files /dev/null and b/public/job/19681f45-09bd-4ab3-9756-ce3ab7e6a2a7.jpg differ diff --git a/public/job/35733aba-3d3c-4353-84c3-ea8fd9a9cc85.png b/public/job/35733aba-3d3c-4353-84c3-ea8fd9a9cc85.png deleted file mode 100644 index 40c04cfd..00000000 Binary files a/public/job/35733aba-3d3c-4353-84c3-ea8fd9a9cc85.png and /dev/null differ diff --git a/public/job/38d9e62f-8364-45d7-a683-0883e56618fe.png b/public/job/38d9e62f-8364-45d7-a683-0883e56618fe.png deleted file mode 100644 index 40c04cfd..00000000 Binary files a/public/job/38d9e62f-8364-45d7-a683-0883e56618fe.png and /dev/null differ diff --git a/public/job/497395d9-6986-4d77-9f4d-2272b95e1f6f.png b/public/job/497395d9-6986-4d77-9f4d-2272b95e1f6f.png deleted file mode 100644 index 40c04cfd..00000000 Binary files a/public/job/497395d9-6986-4d77-9f4d-2272b95e1f6f.png and /dev/null differ diff --git a/public/job/6ac4c417-2362-4f40-b74e-67cd816f18e7.jpg b/public/job/6ca7d19c-6d7b-49fb-acd6-44e5f1b09d7b.jpg similarity index 100% rename from public/job/6ac4c417-2362-4f40-b74e-67cd816f18e7.jpg rename to public/job/6ca7d19c-6d7b-49fb-acd6-44e5f1b09d7b.jpg diff --git a/public/job/7d8ff008-d3a8-4039-8236-6ffee93f1a5f.jpg b/public/job/7d8ff008-d3a8-4039-8236-6ffee93f1a5f.jpg deleted file mode 100644 index 88fc39a9..00000000 Binary files a/public/job/7d8ff008-d3a8-4039-8236-6ffee93f1a5f.jpg and /dev/null differ diff --git a/public/job/8de58603-2b20-43b7-a847-b64979fb72bb.jpg b/public/job/8de58603-2b20-43b7-a847-b64979fb72bb.jpg new file mode 100644 index 00000000..1006efb3 Binary files /dev/null and b/public/job/8de58603-2b20-43b7-a847-b64979fb72bb.jpg differ diff --git a/public/job/8fbf6297-3671-4d2e-baf1-54b3a1fcc95f.jpg b/public/job/8fbf6297-3671-4d2e-baf1-54b3a1fcc95f.jpg deleted file mode 100644 index 713aa47e..00000000 Binary files a/public/job/8fbf6297-3671-4d2e-baf1-54b3a1fcc95f.jpg and /dev/null differ diff --git a/public/job/d643b552-9dd9-4f28-a5cc-3cdaa38b651a.jpg b/public/job/d643b552-9dd9-4f28-a5cc-3cdaa38b651a.jpg new file mode 100644 index 00000000..4204a23e Binary files /dev/null and b/public/job/d643b552-9dd9-4f28-a5cc-3cdaa38b651a.jpg differ diff --git a/public/job/d898fe23-0689-4a74-b389-f90368547015.png b/public/job/d898fe23-0689-4a74-b389-f90368547015.png new file mode 100644 index 00000000..f1aa5b43 Binary files /dev/null and b/public/job/d898fe23-0689-4a74-b389-f90368547015.png differ diff --git a/public/job/df04072d-fac0-4551-9ee1-da8105fa4901.png b/public/job/df04072d-fac0-4551-9ee1-da8105fa4901.png deleted file mode 100644 index 5d1f3b87..00000000 Binary files a/public/job/df04072d-fac0-4551-9ee1-da8105fa4901.png and /dev/null differ diff --git a/public/job/e8df686f-85a7-4c7e-a10d-177744ecbb79.jpg b/public/job/e8df686f-85a7-4c7e-a10d-177744ecbb79.jpg new file mode 100644 index 00000000..1006efb3 Binary files /dev/null and b/public/job/e8df686f-85a7-4c7e-a10d-177744ecbb79.jpg differ diff --git a/public/job/f319201f-6ae7-4af9-b8a0-fafb552bcf5d.jpg b/public/job/f319201f-6ae7-4af9-b8a0-fafb552bcf5d.jpg deleted file mode 100644 index bad7a539..00000000 Binary files a/public/job/f319201f-6ae7-4af9-b8a0-fafb552bcf5d.jpg and /dev/null differ diff --git a/public/portofolio/logo/27f1b4f7-0574-472f-97cf-91aeb038c938.png b/public/portofolio/logo/27f1b4f7-0574-472f-97cf-91aeb038c938.png deleted file mode 100644 index 256b64ba..00000000 Binary files a/public/portofolio/logo/27f1b4f7-0574-472f-97cf-91aeb038c938.png and /dev/null differ diff --git a/public/portofolio/logo/28044834-3da4-4e83-a6dc-e012e5f23c8f.png b/public/portofolio/logo/28044834-3da4-4e83-a6dc-e012e5f23c8f.png deleted file mode 100644 index 256b64ba..00000000 Binary files a/public/portofolio/logo/28044834-3da4-4e83-a6dc-e012e5f23c8f.png and /dev/null differ diff --git a/public/portofolio/logo/3eee1fdc-7d42-4478-842c-2a386ce40be4.png b/public/portofolio/logo/3eee1fdc-7d42-4478-842c-2a386ce40be4.png deleted file mode 100644 index 0733e81b..00000000 Binary files a/public/portofolio/logo/3eee1fdc-7d42-4478-842c-2a386ce40be4.png and /dev/null differ diff --git a/public/portofolio/logo/5fc311b4-8a01-4385-a87d-87d1a3953d88.png b/public/portofolio/logo/5fc311b4-8a01-4385-a87d-87d1a3953d88.png deleted file mode 100644 index 256b64ba..00000000 Binary files a/public/portofolio/logo/5fc311b4-8a01-4385-a87d-87d1a3953d88.png and /dev/null differ diff --git a/public/portofolio/logo/6fec9ab1-6989-4bb8-8050-ab46ba431d11.png b/public/portofolio/logo/6fec9ab1-6989-4bb8-8050-ab46ba431d11.png deleted file mode 100644 index b59659fb..00000000 Binary files a/public/portofolio/logo/6fec9ab1-6989-4bb8-8050-ab46ba431d11.png and /dev/null differ diff --git a/public/portofolio/logo/869458f1-44ce-4075-a7c8-4c85f85c4664.png b/public/portofolio/logo/869458f1-44ce-4075-a7c8-4c85f85c4664.png deleted file mode 100644 index 176da5a2..00000000 Binary files a/public/portofolio/logo/869458f1-44ce-4075-a7c8-4c85f85c4664.png and /dev/null differ diff --git a/public/portofolio/logo/a8b687db-75f3-4087-bf8a-b8e4c9f0a748.jpg b/public/portofolio/logo/a8b687db-75f3-4087-bf8a-b8e4c9f0a748.jpg deleted file mode 100644 index 7184c41f..00000000 Binary files a/public/portofolio/logo/a8b687db-75f3-4087-bf8a-b8e4c9f0a748.jpg and /dev/null differ diff --git a/public/portofolio/logo/bd2c3ce3-e94d-4309-ac48-6fbaa2f72c66.png b/public/portofolio/logo/bd2c3ce3-e94d-4309-ac48-6fbaa2f72c66.png deleted file mode 100644 index 256b64ba..00000000 Binary files a/public/portofolio/logo/bd2c3ce3-e94d-4309-ac48-6fbaa2f72c66.png and /dev/null differ diff --git a/public/portofolio/logo/bdf4000d-626a-4c87-a6dc-6c63dad52a26.jpg b/public/portofolio/logo/bdf4000d-626a-4c87-a6dc-6c63dad52a26.jpg deleted file mode 100644 index f046776e..00000000 Binary files a/public/portofolio/logo/bdf4000d-626a-4c87-a6dc-6c63dad52a26.jpg and /dev/null differ diff --git a/public/portofolio/logo/ddb0dced-949e-4601-9e35-45dce4a801c6.png b/public/portofolio/logo/ddb0dced-949e-4601-9e35-45dce4a801c6.png deleted file mode 100644 index 256b64ba..00000000 Binary files a/public/portofolio/logo/ddb0dced-949e-4601-9e35-45dce4a801c6.png and /dev/null differ diff --git a/public/portofolio/logo/e3a15736-527c-4b3c-a730-074fa44a48ed.png b/public/portofolio/logo/e3a15736-527c-4b3c-a730-074fa44a48ed.png deleted file mode 100644 index 7db4a537..00000000 Binary files a/public/portofolio/logo/e3a15736-527c-4b3c-a730-074fa44a48ed.png and /dev/null differ diff --git a/public/portofolio/logo/e6be54b3-b536-408d-afcb-da38415cfec1.jpg b/public/portofolio/logo/e6be54b3-b536-408d-afcb-da38415cfec1.jpg deleted file mode 100644 index f046776e..00000000 Binary files a/public/portofolio/logo/e6be54b3-b536-408d-afcb-da38415cfec1.jpg and /dev/null differ diff --git a/public/portofolio/logo/eac70e5a-cdfd-4323-a23b-f097a593e0fe.png b/public/portofolio/logo/eac70e5a-cdfd-4323-a23b-f097a593e0fe.png deleted file mode 100644 index 256b64ba..00000000 Binary files a/public/portofolio/logo/eac70e5a-cdfd-4323-a23b-f097a593e0fe.png and /dev/null differ diff --git a/public/portofolio/logo/fb7ee37b-6407-46a7-8691-92b24694edb0.png b/public/portofolio/logo/fb7ee37b-6407-46a7-8691-92b24694edb0.png deleted file mode 100644 index 5d1f3b87..00000000 Binary files a/public/portofolio/logo/fb7ee37b-6407-46a7-8691-92b24694edb0.png and /dev/null differ diff --git a/public/profile/background/18b90e43-a631-4d8d-95b3-56ce3297e45e.jpeg b/public/profile/background/18b90e43-a631-4d8d-95b3-56ce3297e45e.jpeg deleted file mode 100644 index 8cd38350..00000000 Binary files a/public/profile/background/18b90e43-a631-4d8d-95b3-56ce3297e45e.jpeg and /dev/null differ diff --git a/public/profile/background/2d32a2a4-a593-4b84-bb71-03b91db36924.jpeg b/public/profile/background/2d32a2a4-a593-4b84-bb71-03b91db36924.jpeg deleted file mode 100644 index 8a84a01d..00000000 Binary files a/public/profile/background/2d32a2a4-a593-4b84-bb71-03b91db36924.jpeg and /dev/null differ diff --git a/public/profile/background/31ec3e09-464f-420c-b05b-429d2b95dc25.jpeg b/public/profile/background/31ec3e09-464f-420c-b05b-429d2b95dc25.jpeg deleted file mode 100644 index b43c0679..00000000 Binary files a/public/profile/background/31ec3e09-464f-420c-b05b-429d2b95dc25.jpeg and /dev/null differ diff --git a/public/profile/background/34f19452-0a72-4b26-8915-43f7b87c37d8.jpeg b/public/profile/background/34f19452-0a72-4b26-8915-43f7b87c37d8.jpeg deleted file mode 100644 index 8cd38350..00000000 Binary files a/public/profile/background/34f19452-0a72-4b26-8915-43f7b87c37d8.jpeg and /dev/null differ diff --git a/public/profile/background/387e4110-24e4-465a-950f-033db99b88d8.jpeg b/public/profile/background/387e4110-24e4-465a-950f-033db99b88d8.jpeg deleted file mode 100644 index b43c0679..00000000 Binary files a/public/profile/background/387e4110-24e4-465a-950f-033db99b88d8.jpeg and /dev/null differ diff --git a/public/profile/background/445ec6c9-93f5-4fc8-aa79-8cd57f4ba9d1.jpeg b/public/profile/background/445ec6c9-93f5-4fc8-aa79-8cd57f4ba9d1.jpeg deleted file mode 100644 index 9e930c2b..00000000 Binary files a/public/profile/background/445ec6c9-93f5-4fc8-aa79-8cd57f4ba9d1.jpeg and /dev/null differ diff --git a/public/profile/background/45841dcd-d518-4c97-b04a-d6547359bb8b.jpeg b/public/profile/background/45841dcd-d518-4c97-b04a-d6547359bb8b.jpeg deleted file mode 100644 index 8a84a01d..00000000 Binary files a/public/profile/background/45841dcd-d518-4c97-b04a-d6547359bb8b.jpeg and /dev/null differ diff --git a/public/profile/background/47266738-b42b-4f91-9b26-5730f334edaf.jpeg b/public/profile/background/47266738-b42b-4f91-9b26-5730f334edaf.jpeg deleted file mode 100644 index 8cd38350..00000000 Binary files a/public/profile/background/47266738-b42b-4f91-9b26-5730f334edaf.jpeg and /dev/null differ diff --git a/public/profile/background/540f0aa4-faf4-48b6-bec8-0661b0826d22.png b/public/profile/background/540f0aa4-faf4-48b6-bec8-0661b0826d22.png deleted file mode 100644 index d0c9754c..00000000 Binary files a/public/profile/background/540f0aa4-faf4-48b6-bec8-0661b0826d22.png and /dev/null differ diff --git a/public/profile/background/5a8f953f-6941-4a7a-bf3f-ec8d3d72d8a7.jpeg b/public/profile/background/5a8f953f-6941-4a7a-bf3f-ec8d3d72d8a7.jpeg deleted file mode 100644 index b43c0679..00000000 Binary files a/public/profile/background/5a8f953f-6941-4a7a-bf3f-ec8d3d72d8a7.jpeg and /dev/null differ diff --git a/public/profile/background/5b311095-f924-4419-9d90-c06562e897e3.jpeg b/public/profile/background/5b311095-f924-4419-9d90-c06562e897e3.jpeg deleted file mode 100644 index 9e930c2b..00000000 Binary files a/public/profile/background/5b311095-f924-4419-9d90-c06562e897e3.jpeg and /dev/null differ diff --git a/public/profile/background/64f55ff4-6192-4c0f-ac9e-d64c94ba670b.png b/public/profile/background/64f55ff4-6192-4c0f-ac9e-d64c94ba670b.png deleted file mode 100644 index d0c9754c..00000000 Binary files a/public/profile/background/64f55ff4-6192-4c0f-ac9e-d64c94ba670b.png and /dev/null differ diff --git a/public/profile/background/74cdf35e-6ad3-4e8b-8e2a-a3b69f2d15ca.jpeg b/public/profile/background/74cdf35e-6ad3-4e8b-8e2a-a3b69f2d15ca.jpeg deleted file mode 100644 index eb24410a..00000000 Binary files a/public/profile/background/74cdf35e-6ad3-4e8b-8e2a-a3b69f2d15ca.jpeg and /dev/null differ diff --git a/public/profile/background/8099f775-c551-4715-bd9b-901b0bc4ffaa.jpeg b/public/profile/background/8099f775-c551-4715-bd9b-901b0bc4ffaa.jpeg deleted file mode 100644 index b43c0679..00000000 Binary files a/public/profile/background/8099f775-c551-4715-bd9b-901b0bc4ffaa.jpeg and /dev/null differ diff --git a/public/profile/background/8e6fef35-8f90-499c-ae77-cef29d06eeb7.jpeg b/public/profile/background/8e6fef35-8f90-499c-ae77-cef29d06eeb7.jpeg deleted file mode 100644 index eb24410a..00000000 Binary files a/public/profile/background/8e6fef35-8f90-499c-ae77-cef29d06eeb7.jpeg and /dev/null differ diff --git a/public/profile/background/99c41f6b-6710-49df-a658-1b4243b57b1d.jpeg b/public/profile/background/99c41f6b-6710-49df-a658-1b4243b57b1d.jpeg deleted file mode 100644 index 8cd38350..00000000 Binary files a/public/profile/background/99c41f6b-6710-49df-a658-1b4243b57b1d.jpeg and /dev/null differ diff --git a/public/profile/background/a60d5d34-b231-4221-93d1-c6936724e212.png b/public/profile/background/a60d5d34-b231-4221-93d1-c6936724e212.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/profile/background/a60d5d34-b231-4221-93d1-c6936724e212.png and /dev/null differ diff --git a/public/profile/background/af6c036a-4ea7-4bbc-b8e4-2f0a6c177aeb.jpeg b/public/profile/background/af6c036a-4ea7-4bbc-b8e4-2f0a6c177aeb.jpeg deleted file mode 100644 index 326da9f2..00000000 Binary files a/public/profile/background/af6c036a-4ea7-4bbc-b8e4-2f0a6c177aeb.jpeg and /dev/null differ diff --git a/public/profile/background/c36339fd-f899-4939-9b29-8715b71df91e.jpeg b/public/profile/background/c36339fd-f899-4939-9b29-8715b71df91e.jpeg deleted file mode 100644 index 72774b09..00000000 Binary files a/public/profile/background/c36339fd-f899-4939-9b29-8715b71df91e.jpeg and /dev/null differ diff --git a/public/profile/background/9be88bcd-90b5-47ef-8161-3044e1d3dd1e.jpeg b/public/profile/background/c5387b1b-a1da-4e0a-9961-e00cbe454b69.jpeg similarity index 100% rename from public/profile/background/9be88bcd-90b5-47ef-8161-3044e1d3dd1e.jpeg rename to public/profile/background/c5387b1b-a1da-4e0a-9961-e00cbe454b69.jpeg diff --git a/public/profile/background/c6563aed-bd2c-4446-83e1-82107878aca2.jpeg b/public/profile/background/c6563aed-bd2c-4446-83e1-82107878aca2.jpeg deleted file mode 100644 index b43c0679..00000000 Binary files a/public/profile/background/c6563aed-bd2c-4446-83e1-82107878aca2.jpeg and /dev/null differ diff --git a/public/profile/background/c9eb5476-197d-4569-82a3-45e1e9226acf.jpeg b/public/profile/background/c9eb5476-197d-4569-82a3-45e1e9226acf.jpeg new file mode 100644 index 00000000..1c6a9047 Binary files /dev/null and b/public/profile/background/c9eb5476-197d-4569-82a3-45e1e9226acf.jpeg differ diff --git a/public/profile/background/cca0d134-d214-428c-ad2e-e8cc3dca008c.jpeg b/public/profile/background/cca0d134-d214-428c-ad2e-e8cc3dca008c.jpeg deleted file mode 100644 index 9e930c2b..00000000 Binary files a/public/profile/background/cca0d134-d214-428c-ad2e-e8cc3dca008c.jpeg and /dev/null differ diff --git a/public/profile/background/ce400d88-284a-440f-9b24-e815f616bead.jpeg b/public/profile/background/ce400d88-284a-440f-9b24-e815f616bead.jpeg deleted file mode 100644 index eb24410a..00000000 Binary files a/public/profile/background/ce400d88-284a-440f-9b24-e815f616bead.jpeg and /dev/null differ diff --git a/public/profile/background/e0221dd5-123b-4691-9543-2b2b03858dc3.png b/public/profile/background/e0221dd5-123b-4691-9543-2b2b03858dc3.png deleted file mode 100644 index 24d01eeb..00000000 Binary files a/public/profile/background/e0221dd5-123b-4691-9543-2b2b03858dc3.png and /dev/null differ diff --git a/public/profile/background/f536b6bb-0d12-4b74-8754-23959397b7e5.jpeg b/public/profile/background/f536b6bb-0d12-4b74-8754-23959397b7e5.jpeg deleted file mode 100644 index 9e930c2b..00000000 Binary files a/public/profile/background/f536b6bb-0d12-4b74-8754-23959397b7e5.jpeg and /dev/null differ diff --git a/public/profile/background/f864095a-60f0-49f2-a407-8af43664db93.jpeg b/public/profile/background/f864095a-60f0-49f2-a407-8af43664db93.jpeg deleted file mode 100644 index b43c0679..00000000 Binary files a/public/profile/background/f864095a-60f0-49f2-a407-8af43664db93.jpeg and /dev/null differ diff --git a/public/profile/background/fb718146-8db1-4a44-aa3a-cb4dd607d9df.jpeg b/public/profile/background/fb718146-8db1-4a44-aa3a-cb4dd607d9df.jpeg deleted file mode 100644 index 66e914cb..00000000 Binary files a/public/profile/background/fb718146-8db1-4a44-aa3a-cb4dd607d9df.jpeg and /dev/null differ diff --git a/public/profile/foto/0d7763e6-6a57-4521-8ac6-2784e4241cd2.jpeg b/public/profile/foto/0d7763e6-6a57-4521-8ac6-2784e4241cd2.jpeg deleted file mode 100644 index 4c3167d8..00000000 Binary files a/public/profile/foto/0d7763e6-6a57-4521-8ac6-2784e4241cd2.jpeg and /dev/null differ diff --git a/public/profile/foto/0ebe8c38-ded7-4faa-b944-769e6bb254a6.jpeg b/public/profile/foto/0ebe8c38-ded7-4faa-b944-769e6bb254a6.jpeg deleted file mode 100644 index af6599d6..00000000 Binary files a/public/profile/foto/0ebe8c38-ded7-4faa-b944-769e6bb254a6.jpeg and /dev/null differ diff --git a/public/profile/foto/186134d1-1ed2-4521-a696-82a8f0c924c8.jpeg b/public/profile/foto/186134d1-1ed2-4521-a696-82a8f0c924c8.jpeg deleted file mode 100644 index af6599d6..00000000 Binary files a/public/profile/foto/186134d1-1ed2-4521-a696-82a8f0c924c8.jpeg and /dev/null differ diff --git a/public/profile/foto/1c0cf07a-1ada-4a50-a88e-af5675d6d541.png b/public/profile/foto/1c0cf07a-1ada-4a50-a88e-af5675d6d541.png deleted file mode 100644 index 6e04e0ec..00000000 Binary files a/public/profile/foto/1c0cf07a-1ada-4a50-a88e-af5675d6d541.png and /dev/null differ diff --git a/public/profile/foto/2ab67615-039d-4ef2-98ad-f1573eaf9125.jpeg b/public/profile/foto/2ab67615-039d-4ef2-98ad-f1573eaf9125.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/2ab67615-039d-4ef2-98ad-f1573eaf9125.jpeg and /dev/null differ diff --git a/public/profile/foto/2b25412b-0bcd-4608-aa48-ed0eb34a1dc1.jpeg b/public/profile/foto/2b25412b-0bcd-4608-aa48-ed0eb34a1dc1.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/2b25412b-0bcd-4608-aa48-ed0eb34a1dc1.jpeg and /dev/null differ diff --git a/public/profile/foto/2c10a620-4222-43bc-886e-2f317de4711c.jpeg b/public/profile/foto/2c10a620-4222-43bc-886e-2f317de4711c.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/2c10a620-4222-43bc-886e-2f317de4711c.jpeg and /dev/null differ diff --git a/public/profile/foto/31510ea9-13ee-47b1-84f8-4ebd1413f9be.jpeg b/public/profile/foto/31510ea9-13ee-47b1-84f8-4ebd1413f9be.jpeg deleted file mode 100644 index af6599d6..00000000 Binary files a/public/profile/foto/31510ea9-13ee-47b1-84f8-4ebd1413f9be.jpeg and /dev/null differ diff --git a/public/profile/foto/36449b63-8e7d-4c01-9d61-031ff38650f4.jpeg b/public/profile/foto/36449b63-8e7d-4c01-9d61-031ff38650f4.jpeg deleted file mode 100644 index 5507091c..00000000 Binary files a/public/profile/foto/36449b63-8e7d-4c01-9d61-031ff38650f4.jpeg and /dev/null differ diff --git a/public/profile/foto/4985d154-8120-4f8a-89d9-36d4cb9a62c0.png b/public/profile/foto/4985d154-8120-4f8a-89d9-36d4cb9a62c0.png deleted file mode 100644 index 6e04e0ec..00000000 Binary files a/public/profile/foto/4985d154-8120-4f8a-89d9-36d4cb9a62c0.png and /dev/null differ diff --git a/public/profile/foto/51b1addd-2e15-409e-8f72-388dc1cc1c2e.jpeg b/public/profile/foto/51b1addd-2e15-409e-8f72-388dc1cc1c2e.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/51b1addd-2e15-409e-8f72-388dc1cc1c2e.jpeg and /dev/null differ diff --git a/public/profile/foto/556f1bcf-7c36-4f57-b840-838c5ceca4fb.jpeg b/public/profile/foto/556f1bcf-7c36-4f57-b840-838c5ceca4fb.jpeg deleted file mode 100644 index 5507091c..00000000 Binary files a/public/profile/foto/556f1bcf-7c36-4f57-b840-838c5ceca4fb.jpeg and /dev/null differ diff --git a/public/profile/foto/577ce4f3-ab43-4264-bbf5-2552bc22ae45.jpeg b/public/profile/foto/577ce4f3-ab43-4264-bbf5-2552bc22ae45.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/577ce4f3-ab43-4264-bbf5-2552bc22ae45.jpeg and /dev/null differ diff --git a/public/profile/foto/5bb79d2d-c5bc-4886-af9c-90546edcd944.jpeg b/public/profile/foto/5bb79d2d-c5bc-4886-af9c-90546edcd944.jpeg deleted file mode 100644 index 5507091c..00000000 Binary files a/public/profile/foto/5bb79d2d-c5bc-4886-af9c-90546edcd944.jpeg and /dev/null differ diff --git a/public/profile/foto/2d677fbd-29dd-4930-a112-82c4e111e5dc.jpeg b/public/profile/foto/6b616896-18b4-4d16-9f25-84332fb0679b.jpeg similarity index 100% rename from public/profile/foto/2d677fbd-29dd-4930-a112-82c4e111e5dc.jpeg rename to public/profile/foto/6b616896-18b4-4d16-9f25-84332fb0679b.jpeg diff --git a/public/profile/foto/6d96d9c1-c5fd-452a-96ad-ff626918460b.jpeg b/public/profile/foto/6d96d9c1-c5fd-452a-96ad-ff626918460b.jpeg deleted file mode 100644 index 5507091c..00000000 Binary files a/public/profile/foto/6d96d9c1-c5fd-452a-96ad-ff626918460b.jpeg and /dev/null differ diff --git a/public/profile/foto/7cfc36fd-239e-48eb-80fc-3558c5169f5d.jpeg b/public/profile/foto/7cfc36fd-239e-48eb-80fc-3558c5169f5d.jpeg deleted file mode 100644 index af6599d6..00000000 Binary files a/public/profile/foto/7cfc36fd-239e-48eb-80fc-3558c5169f5d.jpeg and /dev/null differ diff --git a/public/profile/foto/85fd67b1-28a5-40e2-ab19-463c8fad7386.png b/public/profile/foto/85fd67b1-28a5-40e2-ab19-463c8fad7386.png deleted file mode 100644 index 6e04e0ec..00000000 Binary files a/public/profile/foto/85fd67b1-28a5-40e2-ab19-463c8fad7386.png and /dev/null differ diff --git a/public/profile/foto/86585f77-3e32-417f-a414-22ea6858e3fd.jpeg b/public/profile/foto/86585f77-3e32-417f-a414-22ea6858e3fd.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/86585f77-3e32-417f-a414-22ea6858e3fd.jpeg and /dev/null differ diff --git a/public/profile/foto/89e12784-3361-4033-9212-ec8758c30032.jpeg b/public/profile/foto/89e12784-3361-4033-9212-ec8758c30032.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/89e12784-3361-4033-9212-ec8758c30032.jpeg and /dev/null differ diff --git a/public/profile/foto/8cf7990e-b101-466b-bad2-9b0d06a5213f.jpeg b/public/profile/foto/8cf7990e-b101-466b-bad2-9b0d06a5213f.jpeg deleted file mode 100644 index 5beff2fd..00000000 Binary files a/public/profile/foto/8cf7990e-b101-466b-bad2-9b0d06a5213f.jpeg and /dev/null differ diff --git a/public/profile/foto/92b9d5e1-7370-459f-abc5-bcd07bc3e41e.png b/public/profile/foto/92b9d5e1-7370-459f-abc5-bcd07bc3e41e.png deleted file mode 100644 index b4ef2a39..00000000 Binary files a/public/profile/foto/92b9d5e1-7370-459f-abc5-bcd07bc3e41e.png and /dev/null differ diff --git a/public/profile/foto/994ecb8e-59f6-43b7-a4ea-e14d8e441200.jpeg b/public/profile/foto/994ecb8e-59f6-43b7-a4ea-e14d8e441200.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/994ecb8e-59f6-43b7-a4ea-e14d8e441200.jpeg and /dev/null differ diff --git a/public/profile/foto/9d993366-a1d1-4de6-a54d-c6b6e57c2eb3.jpeg b/public/profile/foto/9d993366-a1d1-4de6-a54d-c6b6e57c2eb3.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/9d993366-a1d1-4de6-a54d-c6b6e57c2eb3.jpeg and /dev/null differ diff --git a/public/profile/foto/9e8d7468-ca2a-4d64-bf10-abfe4f31c660.jpeg b/public/profile/foto/9e8d7468-ca2a-4d64-bf10-abfe4f31c660.jpeg deleted file mode 100644 index 3b15a8f8..00000000 Binary files a/public/profile/foto/9e8d7468-ca2a-4d64-bf10-abfe4f31c660.jpeg and /dev/null differ diff --git a/public/profile/foto/ae45dd05-9851-44bc-9ea8-c305b4b731da.jpeg b/public/profile/foto/ae45dd05-9851-44bc-9ea8-c305b4b731da.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/ae45dd05-9851-44bc-9ea8-c305b4b731da.jpeg and /dev/null differ diff --git a/public/profile/foto/b70e11f8-4f49-4f54-a2c6-b8752800fcba.jpeg b/public/profile/foto/b70e11f8-4f49-4f54-a2c6-b8752800fcba.jpeg deleted file mode 100644 index 12a8ae8b..00000000 Binary files a/public/profile/foto/b70e11f8-4f49-4f54-a2c6-b8752800fcba.jpeg and /dev/null differ diff --git a/public/profile/foto/bfd2132b-493e-4d1e-bc4b-808937ac4b7e.jpeg b/public/profile/foto/bfd2132b-493e-4d1e-bc4b-808937ac4b7e.jpeg deleted file mode 100644 index 12a8ae8b..00000000 Binary files a/public/profile/foto/bfd2132b-493e-4d1e-bc4b-808937ac4b7e.jpeg and /dev/null differ diff --git a/public/profile/foto/cdd53255-0937-41c4-a47e-bc60b8a873ce.jpeg b/public/profile/foto/cdd53255-0937-41c4-a47e-bc60b8a873ce.jpeg deleted file mode 100644 index 5507091c..00000000 Binary files a/public/profile/foto/cdd53255-0937-41c4-a47e-bc60b8a873ce.jpeg and /dev/null differ diff --git a/public/profile/foto/ce6f7b64-5356-415e-b44f-03900401e72c.jpeg b/public/profile/foto/ce6f7b64-5356-415e-b44f-03900401e72c.jpeg deleted file mode 100644 index 5beff2fd..00000000 Binary files a/public/profile/foto/ce6f7b64-5356-415e-b44f-03900401e72c.jpeg and /dev/null differ diff --git a/public/profile/foto/d40b5363-d94b-4cf0-8190-2426124a694f.jpeg b/public/profile/foto/d40b5363-d94b-4cf0-8190-2426124a694f.jpeg deleted file mode 100644 index 309c5830..00000000 Binary files a/public/profile/foto/d40b5363-d94b-4cf0-8190-2426124a694f.jpeg and /dev/null differ diff --git a/public/profile/foto/d9e798e1-be4c-446b-8c82-1cabf8662bc8.jpeg b/public/profile/foto/d9e798e1-be4c-446b-8c82-1cabf8662bc8.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/d9e798e1-be4c-446b-8c82-1cabf8662bc8.jpeg and /dev/null differ diff --git a/public/profile/foto/46c2413f-7b3d-4e55-b82f-31bab6d063b5.jpeg b/public/profile/foto/dd539470-959e-4063-aa78-86626bd185be.jpeg similarity index 100% rename from public/profile/foto/46c2413f-7b3d-4e55-b82f-31bab6d063b5.jpeg rename to public/profile/foto/dd539470-959e-4063-aa78-86626bd185be.jpeg diff --git a/public/profile/foto/dda719a4-b392-4c4d-90c5-5607a12eb51b.jpeg b/public/profile/foto/dda719a4-b392-4c4d-90c5-5607a12eb51b.jpeg deleted file mode 100644 index 3b15a8f8..00000000 Binary files a/public/profile/foto/dda719a4-b392-4c4d-90c5-5607a12eb51b.jpeg and /dev/null differ diff --git a/public/profile/foto/f1bf74e9-7282-4266-becf-2461f30c68f7.png b/public/profile/foto/f1bf74e9-7282-4266-becf-2461f30c68f7.png deleted file mode 100644 index b4ef2a39..00000000 Binary files a/public/profile/foto/f1bf74e9-7282-4266-becf-2461f30c68f7.png and /dev/null differ diff --git a/public/profile/foto/ffdbacbe-131a-4790-b500-9cf256452083.jpeg b/public/profile/foto/ffdbacbe-131a-4790-b500-9cf256452083.jpeg deleted file mode 100644 index 4660498f..00000000 Binary files a/public/profile/foto/ffdbacbe-131a-4790-b500-9cf256452083.jpeg and /dev/null differ diff --git a/src/app/api/admin/notifikasi/route.ts b/src/app/api/admin/notifikasi/route.ts new file mode 100644 index 00000000..4847fb76 --- /dev/null +++ b/src/app/api/admin/notifikasi/route.ts @@ -0,0 +1,8 @@ +import adminNotifikasi_getByUserId from "@/app_modules/admin/notifikasi/fun/get/get_notifikasi_by_user_id"; +import { NextRequest, NextResponse } from "next/server"; + +export async function GET(req: NextRequest) { + + + return NextResponse.json({ success: true }); +} diff --git a/src/app/api/seeder/route.ts b/src/app/api/seeder/route.ts index c3ebab50..cb0dffd5 100644 --- a/src/app/api/seeder/route.ts +++ b/src/app/api/seeder/route.ts @@ -24,7 +24,7 @@ import forum_status_posting from "../../../bin/seeder/forum/master_status.json"; import collaboration_industri from "../../../bin/seeder/colab/master_industri.json"; import collaboration_status from "../../../bin/seeder/colab/master_status.json"; import collaboration_jumlah_minimal_room from "../../../bin/seeder/colab/jumlah_minimal_room.json"; -import { randomId } from "@mantine/hooks"; +import nomor_admin from "../../../bin/seeder/nomor_admin.json"; export async function GET(req: Request) { const dev = new URL(req.url).searchParams.get("dev"); @@ -392,6 +392,22 @@ export async function GET(req: Request) { }); } + for (let a of nomor_admin) { + await prisma.nomorAdmin.upsert({ + where: { + id: a.id, + }, + create: { + id: a.id, + nomor: a.nomor, + }, + update: { + id: a.id, + nomor: a.nomor, + }, + }); + } + return NextResponse.json({ success: true }); } diff --git a/src/app/dev/admin/app-information/main/page.tsx b/src/app/dev/admin/app-information/main/page.tsx new file mode 100644 index 00000000..7af7b346 --- /dev/null +++ b/src/app/dev/admin/app-information/main/page.tsx @@ -0,0 +1,17 @@ +import { AdminAppInformation_MainView } from "@/app_modules/admin/app_info"; +import adminAppInformation_getMasterBank from "@/app_modules/admin/app_info/fun/master/get_list_bank"; +import adminAppInformation_getNomorAdmin from "@/app_modules/admin/app_info/fun/master/get_nomor_admin"; + +export default async function Page() { + const nomorAdmin = await adminAppInformation_getNomorAdmin(); + const listBank = await adminAppInformation_getMasterBank(); + + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/colab/dashboard/loading.tsx b/src/app/dev/admin/colab/dashboard/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/colab/dashboard/loading.tsx +++ b/src/app/dev/admin/colab/dashboard/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/colab/sub-menu/loading.tsx b/src/app/dev/admin/colab/sub-menu/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/colab/sub-menu/loading.tsx +++ b/src/app/dev/admin/colab/sub-menu/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/developer/loading.tsx b/src/app/dev/admin/developer/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/developer/loading.tsx +++ b/src/app/dev/admin/developer/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx b/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx index dd094a1b..6407215a 100644 --- a/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx +++ b/src/app/dev/admin/donasi/detail/publish/[id]/page.tsx @@ -1,23 +1,29 @@ import { AdminDonasi_DetailPublish } from "@/app_modules/admin/donasi"; import { AdminDonasi_funCountDonatur } from "@/app_modules/admin/donasi/fun/count/fun_count_donatur"; -import { AdminDonasi_getListDonatur } from "@/app_modules/admin/donasi/fun/get/get_list_donatur_by_id"; +import { adminDonasi_getListDonatur } from "@/app_modules/admin/donasi/fun/get/get_list_donatur_by_id"; import { AdminDonasi_getListPencairanDana } from "@/app_modules/admin/donasi/fun/get/get_list_pencairan_dana_by_id"; import { AdminDonasi_getOneById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; +import adminDonasi_getMasterStatus from "@/app_modules/admin/donasi/fun/master/get_status_id"; export default async function Page({ params }: { params: { id: string } }) { + let donasiId = params.id; const dataPublish = await AdminDonasi_getOneById(params.id); - const listDonatur = await AdminDonasi_getListDonatur(params.id); const countDonatur = await AdminDonasi_funCountDonatur(params.id); + const listMasterStatus = await adminDonasi_getMasterStatus(); + const listDonatur = await adminDonasi_getListDonatur({ + donasiId: donasiId, + page: 1, + }); const listPencairan = await AdminDonasi_getListPencairanDana(params.id); - // console.log(listDonatur) return ( <> ); diff --git a/src/app/dev/admin/donasi/main/loading.tsx b/src/app/dev/admin/donasi/main/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/donasi/main/loading.tsx +++ b/src/app/dev/admin/donasi/main/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx b/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx index 0bba36b2..10c8d4b7 100644 --- a/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx +++ b/src/app/dev/admin/donasi/pencairan_dana/[id]/page.tsx @@ -1,6 +1,18 @@ import { AdminDonasi_PencairanDana } from "@/app_modules/admin/donasi"; +import { AdminDonasi_getOneById } from "@/app_modules/admin/donasi/fun/get/get_one_by_id"; export default async function Page({ params }: { params: { id: string } }) { let donasiId = params.id; - return ; + const dataDonasi = await AdminDonasi_getOneById(donasiId); + const danaTerkumpul = dataDonasi?.terkumpul; + const totalPencairan = dataDonasi?.totalPencairan + + + return ( + + ); } diff --git a/src/app/dev/admin/donasi/sub-detail/transfer-invoice-reimbursement/[id]/page.tsx b/src/app/dev/admin/donasi/sub-detail/transfer-invoice-reimbursement/[id]/page.tsx new file mode 100644 index 00000000..fe9846f2 --- /dev/null +++ b/src/app/dev/admin/donasi/sub-detail/transfer-invoice-reimbursement/[id]/page.tsx @@ -0,0 +1,10 @@ +import { AdminDonasi_BuktiTransferPencairan } from "@/app_modules/admin/donasi"; + +export default async function Page({ params }: { params: { id: string } }) { + let imagaId = params.id; + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/donasi/sub-detail/transfer-invoice/[id]/page.tsx b/src/app/dev/admin/donasi/sub-detail/transfer-invoice/[id]/page.tsx new file mode 100644 index 00000000..a6b4146a --- /dev/null +++ b/src/app/dev/admin/donasi/sub-detail/transfer-invoice/[id]/page.tsx @@ -0,0 +1,10 @@ +import { AdminDonasi_BuktiTransfer } from "@/app_modules/admin/donasi"; + +export default async function Page({ params }: { params: { id: string } }) { + let imageId = params.id; + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/donasi/sub-menu/informasi/page.tsx b/src/app/dev/admin/donasi/sub-menu/informasi/page.tsx new file mode 100644 index 00000000..592c6d7e --- /dev/null +++ b/src/app/dev/admin/donasi/sub-menu/informasi/page.tsx @@ -0,0 +1,9 @@ + + +export default async function Page() { + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/donasi/sub-menu/kategori/page.tsx b/src/app/dev/admin/donasi/sub-menu/kategori/page.tsx new file mode 100644 index 00000000..86c84d44 --- /dev/null +++ b/src/app/dev/admin/donasi/sub-menu/kategori/page.tsx @@ -0,0 +1,12 @@ +import { AdminDonasi_TableKategori } from "@/app_modules/admin/donasi"; +import adminDonasi_getMasterKategori from "@/app_modules/admin/donasi/fun/master/get_list_kategori"; + +export default async function Page() { + const listKategori = await adminDonasi_getMasterKategori(); + + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/donasi/table/publish/page.tsx b/src/app/dev/admin/donasi/sub-menu/publish/page.tsx similarity index 56% rename from src/app/dev/admin/donasi/table/publish/page.tsx rename to src/app/dev/admin/donasi/sub-menu/publish/page.tsx index 30945ac0..a0171588 100644 --- a/src/app/dev/admin/donasi/table/publish/page.tsx +++ b/src/app/dev/admin/donasi/sub-menu/publish/page.tsx @@ -1,8 +1,10 @@ import { AdminDonasi_TablePublish } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; +import adminDonasi_getListPublish from "@/app_modules/admin/donasi/fun/get/get_list_publish"; export default async function Page() { - const listPublish = await AdminDonasi_getByStatus("1") + const listPublish = await adminDonasi_getListPublish({ + page: 1, + }); // console.log(listPublish) return<> diff --git a/src/app/dev/admin/donasi/sub-menu/reject/page.tsx b/src/app/dev/admin/donasi/sub-menu/reject/page.tsx new file mode 100644 index 00000000..76c38ec8 --- /dev/null +++ b/src/app/dev/admin/donasi/sub-menu/reject/page.tsx @@ -0,0 +1,12 @@ +import { AdminDonasi_TableReject } from "@/app_modules/admin/donasi"; +import adminDonasi_getListReject from "@/app_modules/admin/donasi/fun/get/get_list_reject"; + +export default async function Page() { + const dataReject = await adminDonasi_getListReject({ page: 1 }); + // console.log(dataReject) + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/donasi/table/review/page.tsx b/src/app/dev/admin/donasi/sub-menu/review/page.tsx similarity index 64% rename from src/app/dev/admin/donasi/table/review/page.tsx rename to src/app/dev/admin/donasi/sub-menu/review/page.tsx index 8aabc0cb..45e018cf 100644 --- a/src/app/dev/admin/donasi/table/review/page.tsx +++ b/src/app/dev/admin/donasi/sub-menu/review/page.tsx @@ -1,9 +1,9 @@ import { AdminDonasi_TableReview } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; +import adminDonasi_getListReview from "@/app_modules/admin/donasi/fun/get/get_list_review"; import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - const listReview = await AdminDonasi_getByStatus("2"); + const listReview = await adminDonasi_getListReview({page: 1}); // console.log(listReview); return ; } diff --git a/src/app/dev/admin/donasi/table/reject/page.tsx b/src/app/dev/admin/donasi/table/reject/page.tsx deleted file mode 100644 index 96a1cfe7..00000000 --- a/src/app/dev/admin/donasi/table/reject/page.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { AdminDonasi_TableReject } from "@/app_modules/admin/donasi"; -import { AdminDonasi_getByStatus } from "@/app_modules/admin/donasi/fun/get/get_list_donasi_by_status"; - -export default async function Page() { - const dataReject = await AdminDonasi_getByStatus("4") - // console.log(dataReject) - return<> - - -} \ No newline at end of file diff --git a/src/app/dev/admin/event/main/loading.tsx b/src/app/dev/admin/event/main/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/event/main/loading.tsx +++ b/src/app/dev/admin/event/main/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/event/main/page.tsx b/src/app/dev/admin/event/main/page.tsx index f1d4ff3a..abd71c1e 100644 --- a/src/app/dev/admin/event/main/page.tsx +++ b/src/app/dev/admin/event/main/page.tsx @@ -8,10 +8,8 @@ export default async function Page() { const countReview = await AdminEvent_funCountByStatusId("2"); const countDraft = await AdminEvent_funCountByStatusId("3"); const countReject = await AdminEvent_funCountByStatusId("4"); - const countTipeAcara = await AdminEvent_funCountTipeAcara() - const countRiwayat = await AdminEvent_funCountRiwayat() - - + const countTipeAcara = await AdminEvent_funCountTipeAcara(); + const countRiwayat = await AdminEvent_funCountRiwayat(); return ( <> diff --git a/src/app/dev/admin/forum/main/loading.tsx b/src/app/dev/admin/forum/main/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/forum/main/loading.tsx +++ b/src/app/dev/admin/forum/main/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/investasi/main/loading.tsx b/src/app/dev/admin/investasi/main/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/investasi/main/loading.tsx +++ b/src/app/dev/admin/investasi/main/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/investasi/sub-menu/publish/page.tsx b/src/app/dev/admin/investasi/sub-menu/publish/page.tsx new file mode 100644 index 00000000..0d5e4609 --- /dev/null +++ b/src/app/dev/admin/investasi/sub-menu/publish/page.tsx @@ -0,0 +1,12 @@ +import { Admin_TablePublishInvestasi } from "@/app_modules/admin/investasi"; +import Admin_funGetAllInvestasi from "@/app_modules/admin/investasi/fun/get_all_investasi"; + +export default async function Page() { + const listInvestasi = await Admin_funGetAllInvestasi(); + + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/investasi/sub-menu/reject/page.tsx b/src/app/dev/admin/investasi/sub-menu/reject/page.tsx new file mode 100644 index 00000000..55092f60 --- /dev/null +++ b/src/app/dev/admin/investasi/sub-menu/reject/page.tsx @@ -0,0 +1,10 @@ +import { Admin_TableRejectInvestasi } from "@/app_modules/admin/investasi"; +import Admin_funGetAllInvestasi from "@/app_modules/admin/investasi/fun/get_all_investasi"; + +export default async function Page() { + const dataInvestsi = await Admin_funGetAllInvestasi() + return <> + + + +} \ No newline at end of file diff --git a/src/app/dev/admin/investasi/sub-menu/review/page.tsx b/src/app/dev/admin/investasi/sub-menu/review/page.tsx new file mode 100644 index 00000000..350245f7 --- /dev/null +++ b/src/app/dev/admin/investasi/sub-menu/review/page.tsx @@ -0,0 +1,9 @@ +import { Admin_TableReviewInvestasi } from "@/app_modules/admin/investasi"; +import Admin_funGetAllInvestasi from "@/app_modules/admin/investasi/fun/get_all_investasi"; + +export default async function Page() { + const dataInvestsi = await Admin_funGetAllInvestasi() + return <> + + +} \ No newline at end of file diff --git a/src/app/dev/admin/job/child/table_publish/page.tsx b/src/app/dev/admin/job/child/publish/page.tsx similarity index 53% rename from src/app/dev/admin/job/child/table_publish/page.tsx rename to src/app/dev/admin/job/child/publish/page.tsx index aac17371..28a18d68 100644 --- a/src/app/dev/admin/job/child/table_publish/page.tsx +++ b/src/app/dev/admin/job/child/publish/page.tsx @@ -1,12 +1,13 @@ import { AdminJob_TablePublish } from "@/app_modules/admin/job"; +import adminJob_getListPublish from "@/app_modules/admin/job/fun/get/get_list_publish"; import { AdminJob_getListTableByStatusId } from "@/app_modules/admin/job/fun/get/get_list_table_by_status_id"; export default async function Page() { - const listPublish = await AdminJob_getListTableByStatusId("1") - // console.log(listPublish) + const listPublish = await adminJob_getListPublish({page: 1}) + return ( <> - + ); } \ No newline at end of file diff --git a/src/app/dev/admin/job/child/table_reject/page.tsx b/src/app/dev/admin/job/child/reject/page.tsx similarity index 54% rename from src/app/dev/admin/job/child/table_reject/page.tsx rename to src/app/dev/admin/job/child/reject/page.tsx index 5c64b2e5..79160dd7 100644 --- a/src/app/dev/admin/job/child/table_reject/page.tsx +++ b/src/app/dev/admin/job/child/reject/page.tsx @@ -1,13 +1,13 @@ import { AdminJob_TableReject } from "@/app_modules/admin/job"; +import adminJob_getListReject from "@/app_modules/admin/job/fun/get/get_list_reject"; import { AdminJob_getListTableByStatusId } from "@/app_modules/admin/job/fun/get/get_list_table_by_status_id"; - export default async function Page() { - const listReject = await AdminJob_getListTableByStatusId("4"); + const listReject = await adminJob_getListReject({ page: 1 }); return ( <> - + ); } diff --git a/src/app/dev/admin/job/child/table_review/page.tsx b/src/app/dev/admin/job/child/review/page.tsx similarity index 54% rename from src/app/dev/admin/job/child/table_review/page.tsx rename to src/app/dev/admin/job/child/review/page.tsx index 75450adc..55838522 100644 --- a/src/app/dev/admin/job/child/table_review/page.tsx +++ b/src/app/dev/admin/job/child/review/page.tsx @@ -1,11 +1,13 @@ import { AdminJob_TableReview } from "@/app_modules/admin/job"; +import adminJob_getListReview from "@/app_modules/admin/job/fun/get/get_list_review"; import { AdminJob_getListTableByStatusId } from "@/app_modules/admin/job/fun/get/get_list_table_by_status_id"; export default async function Page() { - const listReview = await AdminJob_getListTableByStatusId("2"); + const dataReview = await adminJob_getListReview({ page: 1 }); + return ( <> - + ); } diff --git a/src/app/dev/admin/job/detail/poster/[id]/page.tsx b/src/app/dev/admin/job/detail/poster/[id]/page.tsx new file mode 100644 index 00000000..aae0ccb7 --- /dev/null +++ b/src/app/dev/admin/job/detail/poster/[id]/page.tsx @@ -0,0 +1,10 @@ +import { AdminJob_DetailPoster } from "@/app_modules/admin/job"; + +export default async function Page({ params }: { params: { id: string } }) { + const imageId = params.id; + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/job/main/loading.tsx b/src/app/dev/admin/job/main/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/job/main/loading.tsx +++ b/src/app/dev/admin/job/main/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/layout.tsx b/src/app/dev/admin/layout.tsx index aa277f35..ed1372dc 100644 --- a/src/app/dev/admin/layout.tsx +++ b/src/app/dev/admin/layout.tsx @@ -1,4 +1,6 @@ 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_getOneUserId } 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,13 +10,20 @@ export default async function Layout({ }: { children: React.ReactNode; }) { - const userId = await user_getOneUserId() - const dataUser = await user_getOneByUserId(userId) - const userRole = dataUser?.masterUserRoleId + const userId = await user_getOneUserId(); + const dataUser = await user_getOneByUserId(userId); + const listNotif = await adminNotifikasi_getByUserId(); + const countNotifikasi = await adminNotifikasi_countNotifikasi(); return ( <> - {children} + + {children} + ); } diff --git a/src/app/dev/admin/main/dashboard/loading.tsx b/src/app/dev/admin/main/dashboard/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/main/dashboard/loading.tsx +++ b/src/app/dev/admin/main/dashboard/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { return ( diff --git a/src/app/dev/admin/user-access/page.tsx b/src/app/dev/admin/user-access/page.tsx index c4d4491f..ed337fdd 100644 --- a/src/app/dev/admin/user-access/page.tsx +++ b/src/app/dev/admin/user-access/page.tsx @@ -2,11 +2,11 @@ import { AdminUserAccess_View } from "@/app_modules/admin/user-access"; import adminUserAccess_getListUser from "@/app_modules/admin/user-access/fun/get/get_list_all_user"; export default async function Page() { - const listUser = await adminUserAccess_getListUser() + const listUser = await adminUserAccess_getListUser({ page: 1 }); - return ( - <> - - - ); -} \ No newline at end of file + return ( + <> + + + ); +} diff --git a/src/app/dev/admin/vote/main/loading.tsx b/src/app/dev/admin/vote/main/loading.tsx index 96547f3a..dcf03736 100644 --- a/src/app/dev/admin/vote/main/loading.tsx +++ b/src/app/dev/admin/vote/main/loading.tsx @@ -1,4 +1,4 @@ -import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component/loading_admin_page"; +import ComponentAdminGlobal_LoadingPage from "@/app_modules/admin/component_global/loading_admin_page"; export default async function Page() { 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 a269904d..39d228ea 100644 --- a/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx +++ b/src/app/dev/donasi/create/cerita_penggalang/[id]/page.tsx @@ -2,15 +2,16 @@ import { CreateCeritaPenggalangDonasi } from "@/app_modules/donasi"; import { Donasi_getTemporaryCreate } from "@/app_modules/donasi/fun/get/get_temporary_create"; import { user_getOneUserId } 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_getOneUserId() + const userId = await user_getOneUserId(); return ( <> - + ); } diff --git a/src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx b/src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx index 8388822f..270ca0ca 100644 --- a/src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx +++ b/src/app/dev/donasi/detail/detail_donasi_saya/[id]/page.tsx @@ -7,7 +7,6 @@ export default async function Page({ params }: { params: { id: string } }) { let invoiceId = params.id; const dataDonasi = await Donasi_getOneInvoiceById(invoiceId); const countDonatur= await Donasi_getCountDonatur(dataDonasi?.donasiId as any) - console.log(dataDonasi?.Donasi?.progres) return ( diff --git a/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx index f8892ca8..5db9e5f8 100644 --- a/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx +++ b/src/app/dev/donasi/proses_donasi/masukan_donasi/[id]/page.tsx @@ -1,6 +1,6 @@ import { MasukanDonasi } from "@/app_modules/donasi"; -export default async function Page({params}: {params : {id: string}}) { -let donasiId = params.id - return -} \ No newline at end of file +export default async function Page({ params }: { params: { id: string } }) { + let donasiId = params.id; + return ; +} diff --git a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx index 8e1752c9..e9c2f0ed 100644 --- a/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx +++ b/src/app/dev/donasi/proses_donasi/proses_transaksi/[id]/page.tsx @@ -1,13 +1,19 @@ import { Donasi_ProsesTransaksi } from "@/app_modules/donasi"; import { Donasi_getOneInvoiceById } from "@/app_modules/donasi/fun/get/get_one_invoice_by_id"; +import donasi_getMasterNomorAdmin from "@/app_modules/donasi/fun/master/get_nomor_admin"; -export default async function Page({params}: {params: {id: string}}) { +export default async function Page({ params }: { params: { id: string } }) { // console.log(params.id) - const dataInvoice = await Donasi_getOneInvoiceById(params.id) - // console.log(dataInvoice) + const dataInvoice = await Donasi_getOneInvoiceById(params.id); + const nomorAdmin = await donasi_getMasterNomorAdmin(); + console.log(nomorAdmin); + return ( <> - + ); } diff --git a/src/app/dev/event/main/beranda/page.tsx b/src/app/dev/event/main/beranda/page.tsx index eb5dbac0..b2f95196 100644 --- a/src/app/dev/event/main/beranda/page.tsx +++ b/src/app/dev/event/main/beranda/page.tsx @@ -2,11 +2,11 @@ import { Event_Beranda } from "@/app_modules/event"; import { Event_getListAllPublish } from "@/app_modules/event/fun/get/get_list_all_publish"; export default async function Page() { - const dataEvent = await Event_getListAllPublish() + const dataEvent = await Event_getListAllPublish(); return ( <> - + ); } diff --git a/src/app/dev/forum/detail/[id]/page.tsx b/src/app/dev/forum/detail/[id]/page.tsx index 318b9707..106c53ea 100644 --- a/src/app/dev/forum/detail/[id]/page.tsx +++ b/src/app/dev/forum/detail/[id]/page.tsx @@ -3,22 +3,23 @@ import { forum_getKomentarById } from "@/app_modules/forum/fun/get/get_komentar_ import { forum_getOnePostingById } from "@/app_modules/forum/fun/get/get_one_posting_by_id"; import { forum_countOneTotalKomentarById } from "@/app_modules/forum/fun/count/count_one_total_komentar_by_id"; import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token"; +import { RouterForum } from "@/app/lib/router_hipmi/router_forum"; +import { redirect } from "next/navigation"; export default async function Page({ params }: { params: { id: string } }) { let postingId = params.id; - const userLoginId = await user_getOneUserId() + const userLoginId = await user_getOneUserId(); const dataPosting = await forum_getOnePostingById(postingId); const listKomentar = await forum_getKomentarById(postingId); - const totalKomentar = await forum_countOneTotalKomentarById(postingId) - + dataPosting?.isActive === false && redirect(RouterForum.beranda); + return ( <> diff --git a/src/app/dev/forum/main/page.tsx b/src/app/dev/forum/main/page.tsx index c0b887a9..c10d567a 100644 --- a/src/app/dev/forum/main/page.tsx +++ b/src/app/dev/forum/main/page.tsx @@ -1,17 +1,17 @@ - import { Forum_Beranda } from "@/app_modules/forum"; -import { forum_getListAllPosting } from "@/app_modules/forum/fun/get/get_list_all_posting"; +import { forum_new_getAllPosting } from "@/app_modules/forum/fun/get/new_get_all_posting"; +import forum_v2_getAllPosting from "@/app_modules/forum/fun/get/v2_get_all_posting"; import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page() { - const listForum = await forum_getListAllPosting(); + const listForum = await forum_new_getAllPosting({ page: 1 }); const userLoginId = await user_getOneUserId(); + + // console.log(JSON.stringify(listForum, null, 2)); + return ( <> - + ); } diff --git a/src/app/dev/forum/report/posting/[id]/page.tsx b/src/app/dev/forum/report/posting/[id]/page.tsx index 2275c4ea..aa172433 100644 --- a/src/app/dev/forum/report/posting/[id]/page.tsx +++ b/src/app/dev/forum/report/posting/[id]/page.tsx @@ -1,15 +1,20 @@ import { Forum_ReportPosting } from "@/app_modules/forum"; +import { forum_getOnePostingById } from "@/app_modules/forum/fun/get/get_one_posting_by_id"; import { forum_getMasterKategoriReport } from "@/app_modules/forum/fun/master/get_master_kategori_report"; +import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token"; export default async function Page({ params }: { params: { id: string } }) { let postingId = params.id; const listReport = await forum_getMasterKategoriReport(); + const userLoginId = await user_getOneUserId() + const dataPosting = await forum_getOnePostingById(postingId) return ( <> ); diff --git a/src/app/dev/home/layout.tsx b/src/app/dev/home/layout.tsx index c7662f18..4e254330 100644 --- a/src/app/dev/home/layout.tsx +++ b/src/app/dev/home/layout.tsx @@ -1,15 +1,20 @@ import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token"; import { HomeLayout } from "@/app_modules/home"; import { user_getOneByUserId } from "@/app_modules/home/fun/get/get_one_user_by_id"; +import notifikasi_countUserNotifikasi from "@/app_modules/notifikasi/fun/count/fun_count_by_id"; import { redirect } from "next/navigation"; export default async function Layout({ children }: { children: any }) { const userId = await user_getOneUserId(); const dataUser = await user_getOneByUserId(userId); + const countNotifikasi = await notifikasi_countUserNotifikasi(); + return ( <> - {children} + + {children} + ); } diff --git a/src/app/dev/notifikasi/page.tsx b/src/app/dev/notifikasi/page.tsx new file mode 100644 index 00000000..2ee83bdc --- /dev/null +++ b/src/app/dev/notifikasi/page.tsx @@ -0,0 +1,13 @@ +import { Notifikasi_MainView } from "@/app_modules/notifikasi"; +import notifikasi_getByUserId from "@/app_modules/notifikasi/fun/get/get_notifiaksi_by_id"; + + +export default async function Page() { + const listNotifikasi = await notifikasi_getByUserId() + + return ( + <> + + + ); +} diff --git a/src/app/lib/router_admin/router_admin_donasi.ts b/src/app/lib/router_admin/router_admin_donasi.ts new file mode 100644 index 00000000..2ab9098a --- /dev/null +++ b/src/app/lib/router_admin/router_admin_donasi.ts @@ -0,0 +1,11 @@ +export const RouterAdminDonasi = { + main: "/dev/admin/donasi/main", + table_publish: "/dev/admin/donasi/sub-menu/publish", + table_review: "/dev/admin/donasi/sub-menu/review", + table_reject: "/dev/admin/donasi/sub-menu/reject", + table_kategori: "/dev/admin/donasi/sub-menu/kategori", + transfer_invoice: "/dev/admin/donasi/sub-detail/transfer-invoice/", + transfer_invoice_reimbursement: + "/dev/admin/donasi/sub-detail/transfer-invoice-reimbursement/", + informasi: "/dev/admin/donasi/sub-menu/informasi", +}; diff --git a/src/app/lib/router_admin/router_admin_investasi.ts b/src/app/lib/router_admin/router_admin_investasi.ts new file mode 100644 index 00000000..03d0c357 --- /dev/null +++ b/src/app/lib/router_admin/router_admin_investasi.ts @@ -0,0 +1,6 @@ +export const RouterAdminInvestasi = { + main: "/dev/admin/investasi/main", + table_publish: "/dev/admin/investasi/sub-menu/publish", + table_review: "/dev/admin/investasi/sub-menu/review", + table_reject: "/dev/admin/investasi/sub-menu/reject", +}; \ No newline at end of file diff --git a/src/app/lib/router_admin/router_admin_job.ts b/src/app/lib/router_admin/router_admin_job.ts index 0062d6a2..3379f9b3 100644 --- a/src/app/lib/router_admin/router_admin_job.ts +++ b/src/app/lib/router_admin/router_admin_job.ts @@ -1,7 +1,8 @@ export const RouterAdminJob = { main: "/dev/admin/job/main", - table_publish: "/dev/admin/job/child/table_publish", - table_review: "/dev/admin/job/child/table_review", - table_reject: "/dev/admin/job/child/table_reject", + publish: "/dev/admin/job/child/publish", + review: "/dev/admin/job/child/review", + reject: "/dev/admin/job/child/reject", arsip: "/dev/admin/job/child/arsip", + detail_poster: "/dev/admin/job/detail/poster/", }; diff --git a/src/app/lib/router_admin/router_app_information.ts b/src/app/lib/router_admin/router_app_information.ts new file mode 100644 index 00000000..07575544 --- /dev/null +++ b/src/app/lib/router_admin/router_app_information.ts @@ -0,0 +1,3 @@ +export const RouterAdminAppInformation = { + main: "/dev/admin/app-information/main", +}; diff --git a/src/app/lib/router_hipmi/router_admin.ts b/src/app/lib/router_hipmi/router_admin.ts index 80747dd1..b44b523c 100644 --- a/src/app/lib/router_hipmi/router_admin.ts +++ b/src/app/lib/router_hipmi/router_admin.ts @@ -3,7 +3,7 @@ export const RouterAdminDashboard = { splash_admin: "/dev/splash/admin", }; -export const RouterAdminInvestasi = { +export const RouterAdminInvestasi_OLD = { main_investasi: "/dev/admin/investasi/main", halaman_aksi: "/dev/admin/investasi/halaman_aksi/", konfirmasi: "/dev/admin/investasi/konfirmasi/", @@ -14,7 +14,7 @@ export const RouterAdminInvestasi = { table_status_reject: "/dev/admin/investasi/table_status/reject", }; -export const RouterAdminDonasi = { +export const RouterAdminDonasi_OLD = { api_gambar_bukti_transfer: "/api/donasi/gambar_bukti_transfer/", main_donasi: "/dev/admin/donasi/main", diff --git a/src/app/lib/router_hipmi/router_notifikasi.ts b/src/app/lib/router_hipmi/router_notifikasi.ts new file mode 100644 index 00000000..e9f43426 --- /dev/null +++ b/src/app/lib/router_hipmi/router_notifikasi.ts @@ -0,0 +1,3 @@ +export const RouterNotifikasi = { + main: "/dev/notifikasi", +}; diff --git a/src/app/makuro/page.tsx b/src/app/makuro/page.tsx index eb933683..adb83ece 100644 --- a/src/app/makuro/page.tsx +++ b/src/app/makuro/page.tsx @@ -1,11 +1,6 @@ "use client"; +import Coba from "@/ui/Coba"; import { useState } from "react"; -import useInfiniteScroll, { - ScrollDirection, -} from "react-easy-infinite-scroll-hook"; -import { createItems, loadMore } from "./_util"; -import { useShallowEffect } from "@mantine/hooks"; -import { Center, Loader, Text } from "@mantine/core"; // Beda Package import InfiniteScroll from "react-infinite-scroll-component"; @@ -52,50 +47,5 @@ export default function App() { padding: 8, }; - return ( - <> -
- -

Loading...

- - } - scrollableTarget="scrollableDiv" - > - {list.map((i, index) => ( -
- div - #{index} -
- ))} -
-
- - ); - - return ( -
-
-
{isLoading && }
- -
- {data.map((key: any) => ( -
- {key} -
- ))} -
-
-
- ); + return ; } diff --git a/src/app_modules/admin/app_info/fun/create/fun_create_new_bank.ts b/src/app_modules/admin/app_info/fun/create/fun_create_new_bank.ts new file mode 100644 index 00000000..a7a80c1f --- /dev/null +++ b/src/app_modules/admin/app_info/fun/create/fun_create_new_bank.ts @@ -0,0 +1,23 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; + +export default async function adminAppInformation_createBank({ + data, +}: { + data: any; +}) { + const count = await prisma.masterBank.count({}); + const idBank = count + 1; + + const create = await prisma.masterBank.create({ + data: { + id: idBank.toString(), + name: data.name, + norek: data.norek, + }, + }); + + if (!create) return { status: 400, message: "Gagal menambahkan" }; + return { status: 200, message: "Berhasil menambahkan" }; +} diff --git a/src/app_modules/admin/app_info/fun/get/get_one_bank_by_id.ts b/src/app_modules/admin/app_info/fun/get/get_one_bank_by_id.ts new file mode 100644 index 00000000..896df1e1 --- /dev/null +++ b/src/app_modules/admin/app_info/fun/get/get_one_bank_by_id.ts @@ -0,0 +1,17 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; + +export default async function adminAppInformation_getOneBankById({ + id, +}: { + id: string; +}) { + const data = await prisma.masterBank.findFirst({ + where: { + id: id, + }, + }); + + return data; +} diff --git a/src/app_modules/admin/app_info/fun/master/get_list_bank.ts b/src/app_modules/admin/app_info/fun/master/get_list_bank.ts new file mode 100644 index 00000000..4b378608 --- /dev/null +++ b/src/app_modules/admin/app_info/fun/master/get_list_bank.ts @@ -0,0 +1,13 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; + +export default async function adminAppInformation_getMasterBank() { + const data = await prisma.masterBank.findMany({ + orderBy: { + createdAt: "desc", + }, + }); + + return data; +} diff --git a/src/app_modules/admin/app_info/fun/master/get_nomor_admin.ts b/src/app_modules/admin/app_info/fun/master/get_nomor_admin.ts new file mode 100644 index 00000000..897be7dc --- /dev/null +++ b/src/app_modules/admin/app_info/fun/master/get_nomor_admin.ts @@ -0,0 +1,13 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; + +export default async function adminAppInformation_getNomorAdmin() { + const data = await prisma.nomorAdmin.findFirst({ + where: { + isActive: true, + }, + }); + + return data; +} diff --git a/src/app_modules/admin/app_info/fun/update/fun_udpate_status_bank.ts b/src/app_modules/admin/app_info/fun/update/fun_udpate_status_bank.ts new file mode 100644 index 00000000..0832f690 --- /dev/null +++ b/src/app_modules/admin/app_info/fun/update/fun_udpate_status_bank.ts @@ -0,0 +1,22 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; +import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi"; + +export default async function adminAppInformation_updateStatusBankById({ + data, +}: { + data: MODEL_DATA_BANK; +}) { + const updt = await prisma.masterBank.update({ + where: { + id: data.id, + }, + data: { + active: data.active, + }, + }); + + if (!updt) return { status: 400, message: "Gagal update" }; + return { status: 200, message: "Berhasil update" }; +} diff --git a/src/app_modules/admin/app_info/fun/update/fun_update_data_bank.ts b/src/app_modules/admin/app_info/fun/update/fun_update_data_bank.ts new file mode 100644 index 00000000..652ceeb9 --- /dev/null +++ b/src/app_modules/admin/app_info/fun/update/fun_update_data_bank.ts @@ -0,0 +1,23 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; +import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi"; + +export default async function adminAppInformation_updateDataBankById({ + data, +}: { + data: MODEL_DATA_BANK; +}) { + const updt = await prisma.masterBank.update({ + where: { + id: data.id, + }, + data: { + name: data.name, + norek: data.norek, + }, + }); + + if (!updt) return { status: 400, message: "Gagal update" }; + return { status: 200, message: "Berhasil update" }; +} diff --git a/src/app_modules/admin/app_info/fun/update/fun_update_nomor.ts b/src/app_modules/admin/app_info/fun/update/fun_update_nomor.ts new file mode 100644 index 00000000..5d9d336f --- /dev/null +++ b/src/app_modules/admin/app_info/fun/update/fun_update_nomor.ts @@ -0,0 +1,21 @@ +"use server"; + +import prisma from "@/app/lib/prisma"; + +export default async function adminAppInformation_funUpdateNomorAdmin({ + data, +}: { + data: any; +}) { + const updt = await prisma.nomorAdmin.update({ + where: { + id: data.id, + }, + data: { + nomor: data.nomor, + }, + }); + + if (!updt) return { status: 400, message: "Gagal update" }; + return { status: 200, message: "Berhasil update" }; +} diff --git a/src/app_modules/admin/app_info/index.ts b/src/app_modules/admin/app_info/index.ts new file mode 100644 index 00000000..1ac49935 --- /dev/null +++ b/src/app_modules/admin/app_info/index.ts @@ -0,0 +1,2 @@ +import AdminAppInformation_MainView from "./main"; +export { AdminAppInformation_MainView }; diff --git a/src/app_modules/admin/app_info/main/index.tsx b/src/app_modules/admin/app_info/main/index.tsx new file mode 100644 index 00000000..cce2f39c --- /dev/null +++ b/src/app_modules/admin/app_info/main/index.tsx @@ -0,0 +1,60 @@ +"use client"; + +import { + ActionIcon, + Button, + Center, + Grid, + Group, + Modal, + Paper, + ScrollArea, + Space, + Stack, + Table, + Text, + TextInput, + Title, + Tooltip, +} from "@mantine/core"; +import { list } from "postcss"; +import ComponentAdminGlobal_HeaderTamplate from "../../component_global/header_tamplate"; +import { useState } from "react"; +import { + IconEdit, + IconEye, + IconEyeClosed, + IconEyeOff, + IconPhone, + IconPlus, + IconTrack, + IconTrash, +} from "@tabler/icons-react"; +import { ComponentGlobalAdmin_NotifikasiPeringatan } from "../../component_global/admin_notifikasi/notifikasi_peringatan"; +import adminAppInformation_funUpdateNomorAdmin from "../fun/update/fun_update_nomor"; +import { ComponentGlobalAdmin_NotifikasiBerhasil } from "../../component_global/admin_notifikasi/notifikasi_berhasil"; +import { ComponentGlobalAdmin_NotifikasiGagal } from "../../component_global/admin_notifikasi/notifikasi_gagal"; +import adminAppInformation_getNomorAdmin from "../fun/master/get_nomor_admin"; +import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi"; +import _ from "lodash"; +import InformasiWhatApps from "./info_whatsapp"; +import InformasiBank from "./info_bank"; + +export default function AdminAppInformation_MainView({ + nomorAdmin, + listBank, +}: { + nomorAdmin: any; + listBank: any[]; +}) { + return ( + <> + + + + + + + + ); +} diff --git a/src/app_modules/admin/app_info/main/info_bank.tsx b/src/app_modules/admin/app_info/main/info_bank.tsx new file mode 100644 index 00000000..90e058d6 --- /dev/null +++ b/src/app_modules/admin/app_info/main/info_bank.tsx @@ -0,0 +1,401 @@ +"use client"; + +import { MODEL_DATA_BANK } from "@/app_modules/investasi/model/model_investasi"; +import { + Center, + Stack, + ActionIcon, + Tooltip, + Group, + Title, + Button, + Paper, + ScrollArea, + Modal, + TextInput, + Text, + Table, + SimpleGrid, + Grid, + Switch, +} from "@mantine/core"; +import { + IconEye, + IconEyeOff, + IconEdit, + IconTrash, + IconPlus, + IconCirclePlus, +} from "@tabler/icons-react"; +import _, { fill } from "lodash"; +import { useState } from "react"; +import adminAppInformation_createBank from "../fun/create/fun_create_new_bank"; +import adminAppInformation_getMasterBank from "../fun/master/get_list_bank"; +import { ComponentGlobalAdmin_NotifikasiBerhasil } from "../../component_global/admin_notifikasi/notifikasi_berhasil"; +import { ComponentGlobalAdmin_NotifikasiGagal } from "../../component_global/admin_notifikasi/notifikasi_gagal"; +import adminAppInformation_getOneBankById from "../fun/get/get_one_bank_by_id"; +import { useShallowEffect } from "@mantine/hooks"; +import adminAppInformation_updateDataBankById from "../fun/update/fun_update_data_bank"; +import adminAppInformation_updateStatusBankById from "../fun/update/fun_udpate_status_bank"; + +export default function InformasiBank({ + listBank, +}: { + listBank: MODEL_DATA_BANK[]; +}) { + const [data, setData] = useState(listBank); + const [isCreate, setIsCreate] = useState(false); + const [newData, setNewData] = useState({ + name: "", + norek: "", + }); + + const [isUpdate, setIsUpdate] = useState(false); + const [updateData, setUpdateData] = useState({ + id: "", + name: "", + norek: "", + }); + + const [isActivation, setIsActivation] = useState(false); + const [updateStatus, setUpdateStatus] = useState({ + id: "", + active: "", + }); + + const [checked, setChecked] = useState(false); + + async function onCreate() { + const create = await adminAppInformation_createBank({ data: newData }); + if (create.status === 200) { + const loadData = await adminAppInformation_getMasterBank(); + setData(loadData); + ComponentGlobalAdmin_NotifikasiBerhasil(create.message); + } else { + ComponentGlobalAdmin_NotifikasiGagal(create.message); + } + setIsCreate(false); + } + + async function onUpdate() { + const updt = await adminAppInformation_updateDataBankById({ + data: updateData as any, + }); + if (updt.status === 200) { + const loadData = await adminAppInformation_getMasterBank(); + setData(loadData); + ComponentGlobalAdmin_NotifikasiBerhasil(updt.message); + setIsUpdate(false); + } else { + ComponentGlobalAdmin_NotifikasiGagal(updt.message); + } + } + + async function onUpdateActivation({ + id, + value, + }: { + id: string; + value: boolean; + }) { + const data = { + id: id, + active: value, + }; + const updt = await adminAppInformation_updateStatusBankById({ + data: data as any, + }); + if (updt.status === 200) { + const loadData = await adminAppInformation_getMasterBank(); + setData(loadData); + ComponentGlobalAdmin_NotifikasiBerhasil(updt.message); + setIsActivation(false); + } else { + ComponentGlobalAdmin_NotifikasiGagal(updt.message); + } + } + + const rowTable = _.isEmpty(data) ? ( + +
+ Tidak ada data +
+ + ) : ( + data.map((e, i) => ( + + +
+ {e?.name} +
+ + +
+ {e?.norek} +
+ + +
+ { + setIsActivation(true); + setUpdateStatus({ + id: e?.id, + active: val.currentTarget.checked as any, + }); + }} + /> +
+ + + + { + setIsUpdate(true); + setIsCreate(false); + setUpdateData({ + id: e?.id, + name: e?.name, + norek: e?.norek, + }); + }} + > + + + + + + + + )) + ); + + return ( + <> + + + Informasi Bank + + + + + + + + + + + + + + + + + + {rowTable} +
+
Nama Bank
+
+
Nomor Rekening
+
+
Status
+
+
Aksi
+
+
+ {/*
+ { + // onPageClick(val); + // }} + /> +
*/} +
+
+ + + {isCreate ? ( + + +
+ Tambah Daftar Bank +
+ { + setNewData({ + ...newData, + name: val.currentTarget.value, + }); + }} + /> + { + setNewData({ + ...newData, + norek: val.currentTarget.value, + }); + }} + /> + + + + +
+
+ ) : ( + "" + )} + {isUpdate ? ( + + +
+ Update Data Bank +
+ { + const value = val.currentTarget.value; + setUpdateData({ ...updateData, name: value }); + }} + /> + { + const value = val.currentTarget.value; + setUpdateData({ ...updateData, norek: value }); + }} + /> + + + + +
+
+ ) : ( + "" + )} +
+
+ + {/* Activasi bank */} + setIsActivation(false)} + > + + + Anda ingin{" "} + {updateStatus.active ? ( + <Text span inherit> + mengaktifkan + </Text> + ) : ( + <Text span inherit> + menonaktifkan + </Text> + )}{" "} + Bank ini ? + + + + + + + + + ); +} diff --git a/src/app_modules/admin/app_info/main/info_whatsapp.tsx b/src/app_modules/admin/app_info/main/info_whatsapp.tsx new file mode 100644 index 00000000..31e35bfc --- /dev/null +++ b/src/app_modules/admin/app_info/main/info_whatsapp.tsx @@ -0,0 +1,135 @@ +" use client"; + +import { + Stack, + Group, + Title, + Paper, + ActionIcon, + TextInput, + Button, + Box, + Tooltip, +} from "@mantine/core"; +import { IconEdit, IconPhone } from "@tabler/icons-react"; +import { useState } from "react"; +import { ComponentGlobalAdmin_NotifikasiBerhasil } from "../../component_global/admin_notifikasi/notifikasi_berhasil"; +import { ComponentGlobalAdmin_NotifikasiGagal } from "../../component_global/admin_notifikasi/notifikasi_gagal"; +import adminAppInformation_getNomorAdmin from "../fun/master/get_nomor_admin"; +import adminAppInformation_funUpdateNomorAdmin from "../fun/update/fun_update_nomor"; + +export default function InformasiWhatApps({ nomorAdmin }: { nomorAdmin: any }) { + const [disabled, setDisable] = useState(true); + const [dataNomor, setDataNomor] = useState(nomorAdmin); + const [updateNomor, setUpdateNomor] = useState(""); + + async function onUpdate() { + const newNumber = (dataNomor.nomor = updateNomor); + setDataNomor({ + ...dataNomor, + nomor: newNumber, + }); + + const updt = await adminAppInformation_funUpdateNomorAdmin({ + data: dataNomor, + }); + if (updt.status === 200) { + setDisable(true); + setUpdateNomor(""); + const loadDdata = await adminAppInformation_getNomorAdmin(); + setDataNomor(loadDdata); + if (loadDdata) { + ComponentGlobalAdmin_NotifikasiBerhasil(updt.message); + return; + } + } else { + ComponentGlobalAdmin_NotifikasiGagal(updt.message); + } + } + + return ( + <> + + + + Informasi WhatsApp + + + + + + + + {`+${dataNomor.nomor}`} + + { + setDisable(false); + setUpdateNomor(dataNomor.nomor); + }} + > + + + + + + + {disabled ? ( + "" + ) : ( + + } + value={updateNomor} + label={Nomor Aktif Admin} + onChange={(val) => { + setUpdateNomor(val.currentTarget.value); + }} + /> + + + + + + )} + + + + + ); +} diff --git a/src/app_modules/admin/colab/dashboard/index.tsx b/src/app_modules/admin/colab/dashboard/index.tsx index 1ec5c5d2..94a96b8d 100644 --- a/src/app_modules/admin/colab/dashboard/index.tsx +++ b/src/app_modules/admin/colab/dashboard/index.tsx @@ -2,7 +2,7 @@ import { Stack, SimpleGrid, Paper, Group, Title, Text } from "@mantine/core"; import { useRouter } from "next/navigation"; -import ComponentAdminGlobal_HeaderTamplate from "../../component/header_tamplate"; +import ComponentAdminGlobal_HeaderTamplate from "../../component_global/header_tamplate"; export default function AdminColab_Dashboard({ countPublish, diff --git a/src/app_modules/admin/colab/sub_menu/group.tsx b/src/app_modules/admin/colab/sub_menu/group.tsx index f2f2db0a..45d7d470 100644 --- a/src/app_modules/admin/colab/sub_menu/group.tsx +++ b/src/app_modules/admin/colab/sub_menu/group.tsx @@ -17,7 +17,7 @@ import { SimpleGrid, Box, } from "@mantine/core"; -import ComponentAdminGlobal_HeaderTamplate from "../../component/header_tamplate"; +import ComponentAdminGlobal_HeaderTamplate from "../../component_global/header_tamplate"; import { MODEL_COLLABORATION, MODEL_COLLABORATION_ROOM_CHAT, diff --git a/src/app_modules/admin/colab/sub_menu/publish.tsx b/src/app_modules/admin/colab/sub_menu/publish.tsx index e5a0aeae..29590803 100644 --- a/src/app_modules/admin/colab/sub_menu/publish.tsx +++ b/src/app_modules/admin/colab/sub_menu/publish.tsx @@ -18,7 +18,7 @@ import { Textarea, Box, } from "@mantine/core"; -import ComponentAdminGlobal_HeaderTamplate from "../../component/header_tamplate"; +import ComponentAdminGlobal_HeaderTamplate from "../../component_global/header_tamplate"; import { MODEL_COLLABORATION } from "@/app_modules/colab/model/interface"; import { useState } from "react"; import { useDisclosure, useShallowEffect } from "@mantine/hooks"; diff --git a/src/app_modules/admin/colab/sub_menu/reject.tsx b/src/app_modules/admin/colab/sub_menu/reject.tsx index 55c727d3..180d33bb 100644 --- a/src/app_modules/admin/colab/sub_menu/reject.tsx +++ b/src/app_modules/admin/colab/sub_menu/reject.tsx @@ -14,7 +14,7 @@ import { Box, Pagination, } from "@mantine/core"; -import ComponentAdminGlobal_HeaderTamplate from "../../component/header_tamplate"; +import ComponentAdminGlobal_HeaderTamplate from "../../component_global/header_tamplate"; import { useState } from "react"; import { MODEL_COLLABORATION } from "@/app_modules/colab/model/interface"; import adminColab_getListAllRejected from "../fun/get/get_list_all_reject"; diff --git a/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_berhasil.tsx b/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_berhasil.tsx new file mode 100644 index 00000000..51ae73d3 --- /dev/null +++ b/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_berhasil.tsx @@ -0,0 +1,40 @@ +import { Center, Text } from "@mantine/core"; +import { notifications } from "@mantine/notifications"; +import { + IconAlertTriangle, + IconChecklist, + IconCircleCheck, +} from "@tabler/icons-react"; + +/** + * + * @param text | masukan text untuk peringatan + * @type string + * @param durasi | durasi autoClose + * @type number + * @returns notifikasi berhasil warna hijau + */ +export async function ComponentGlobalAdmin_NotifikasiBerhasil( + text: string, + durasi?: number +) { + return notifications.show({ + message: ( +
+ {text} +
+ ), + color: "green", + radius: "md", + autoClose: durasi ? durasi : 2000, + icon: , + withCloseButton: false, + + styles: (theme) => ({ + description: { color: theme.white }, + root: { + backgroundColor: theme.colors.green[7], + }, + }), + }); +} diff --git a/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_gagal.tsx b/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_gagal.tsx new file mode 100644 index 00000000..c9f103f8 --- /dev/null +++ b/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_gagal.tsx @@ -0,0 +1,31 @@ +import { Center, Text } from "@mantine/core"; +import { notifications } from "@mantine/notifications"; +import { IconAlertTriangle } from "@tabler/icons-react"; + +/** + * + * @param text | masukan text untuk peringatan + * @type string + * @returns notifikasi peringatan + */ +export async function ComponentGlobalAdmin_NotifikasiGagal(text: string) { + return notifications.show({ + message: ( +
+ {text} +
+ ), + color: "red", + radius: "md", + autoClose: 2000, + icon: , + withCloseButton: false, + + styles: (theme) => ({ + description: { color: theme.white }, + root: { + backgroundColor: theme.colors.red[7], + }, + }), + }); +} diff --git a/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_peringatan.tsx b/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_peringatan.tsx new file mode 100644 index 00000000..399a671c --- /dev/null +++ b/src/app_modules/admin/component_global/admin_notifikasi/notifikasi_peringatan.tsx @@ -0,0 +1,49 @@ +import { ActionIcon, Avatar, Center, Text } from "@mantine/core"; +import { notifications } from "@mantine/notifications"; +import { IconAlertTriangle } from "@tabler/icons-react"; + +/** + * + * @param text | masukan text untuk peringatan + * @type string + * @returns notifikasi peringatan + */ +export async function ComponentGlobalAdmin_NotifikasiPeringatan( + text: string, + durasi?: number +) { + return notifications.show({ + message: ( +
+ {text} +
+ ), + color: "yellow.1", + radius: "md", + autoClose: durasi ? durasi : 2000, + style: { + borderWidth: "0.5px", + borderStyle: "solid", + borderColor: "red" + + + }, + + icon: ( + + + + ), + withCloseButton: false, + + styles: (theme) => ({ + description: { color: theme.white }, + root: { + backgroundColor: theme.colors.orange[5], + }, + }), + }); +} diff --git a/src/app_modules/admin/component_global/back_button.tsx b/src/app_modules/admin/component_global/back_button.tsx new file mode 100644 index 00000000..15abe3ba --- /dev/null +++ b/src/app_modules/admin/component_global/back_button.tsx @@ -0,0 +1,39 @@ +"use client"; + +import { Group, Button, Loader } from "@mantine/core"; +import { IconChevronLeft } from "@tabler/icons-react"; +import { useRouter } from "next/navigation"; +import { useState } from "react"; + +export default function ComponentGlobalAdmin_BackButton({path}:{path?:string}) { + const router = useRouter(); + const [isLoading, setLoading] = useState(false); + + return ( + <> + + + + + ); +} diff --git a/src/app_modules/admin/component/header_tamplate.tsx b/src/app_modules/admin/component_global/header_tamplate.tsx similarity index 90% rename from src/app_modules/admin/component/header_tamplate.tsx rename to src/app_modules/admin/component_global/header_tamplate.tsx index 5516a311..54d2ffd1 100644 --- a/src/app_modules/admin/component/header_tamplate.tsx +++ b/src/app_modules/admin/component_global/header_tamplate.tsx @@ -5,7 +5,7 @@ import { Box, Title, Divider, Stack } from "@mantine/core"; export default function ComponentAdminGlobal_HeaderTamplate({name}: {name: string}) { return ( <> - + {name ? name : null} diff --git a/src/app_modules/admin/component/loading_admin_page.tsx b/src/app_modules/admin/component_global/loading_admin_page.tsx similarity index 100% rename from src/app_modules/admin/component/loading_admin_page.tsx rename to src/app_modules/admin/component_global/loading_admin_page.tsx diff --git a/src/app_modules/admin/component/logout.tsx b/src/app_modules/admin/component_global/logout.tsx similarity index 100% rename from src/app_modules/admin/component/logout.tsx rename to src/app_modules/admin/component_global/logout.tsx diff --git a/src/app_modules/admin/component_global/tampilan_rupiah.tsx b/src/app_modules/admin/component_global/tampilan_rupiah.tsx new file mode 100644 index 00000000..2a9145fd --- /dev/null +++ b/src/app_modules/admin/component_global/tampilan_rupiah.tsx @@ -0,0 +1,20 @@ +import { Text } from "@mantine/core"; + +export default function ComponentAdminGlobal_TampilanRupiahDonasi({ + nominal, + fontSize, +}: { + nominal: number; + fontSize?: number; +}) { + return ( + <> + + Rp.{" "} + {new Intl.NumberFormat("id-ID", { maximumFractionDigits: 10 }).format( + nominal + )} + + + ); +} diff --git a/src/app_modules/admin/developer/fun/get/fun_get_list_all_admin.ts b/src/app_modules/admin/developer/fun/get/fun_get_list_all_admin.ts index 94eb2c64..14ba2777 100644 --- a/src/app_modules/admin/developer/fun/get/fun_get_list_all_admin.ts +++ b/src/app_modules/admin/developer/fun/get/fun_get_list_all_admin.ts @@ -1,9 +1,16 @@ -"use server" -import prisma from "@/app/lib/prisma" +"use server"; + +import prisma from "@/app/lib/prisma"; import _, { ceil } from "lodash"; -export default async function adminDeveloper_funGetListAllAdmin({ search, page }: { search?: any, page: any }) { - const dataSkip = _.toNumber(page) * 9 - 9 +export default async function adminDeveloper_funGetListAllAdmin({ + search, + page, +}: { + search?: any; + page: any; +}) { + const dataSkip = _.toNumber(page) * 9 - 9; const data = await prisma.user.findMany({ skip: dataSkip, take: 9, @@ -14,8 +21,8 @@ export default async function adminDeveloper_funGetListAllAdmin({ search, page } masterUserRoleId: "2", username: { contains: search, - mode: 'insensitive' - } + mode: "insensitive", + }, }, }); @@ -24,15 +31,15 @@ export default async function adminDeveloper_funGetListAllAdmin({ search, page } masterUserRoleId: "2", username: { contains: search, - mode: 'insensitive' - } - } - }) + mode: "insensitive", + }, + }, + }); const allData = { data: data, - nPage: ceil(nCount / 9) - } + nPage: ceil(nCount / 9), + }; return allData; -} \ No newline at end of file +} diff --git a/src/app_modules/admin/developer/fun/get/fun_get_list_all_user.ts b/src/app_modules/admin/developer/fun/get/fun_get_list_all_user.ts index e4de3b79..12b0445f 100644 --- a/src/app_modules/admin/developer/fun/get/fun_get_list_all_user.ts +++ b/src/app_modules/admin/developer/fun/get/fun_get_list_all_user.ts @@ -2,8 +2,14 @@ import prisma from "@/app/lib/prisma"; import _, { ceil } from "lodash"; -export default async function adminDeveloper_funGetListAllUser({ search, page }: { search?: any, page: any }) { - const dataSkip = _.toNumber(page) * 9 - 9 +export default async function adminDeveloper_funGetListAllUser({ + search, + page, +}: { + search?: any; + page: any; +}) { + const dataSkip = _.toNumber(page) * 9 - 9; const data = await prisma.user.findMany({ skip: dataSkip, @@ -15,8 +21,8 @@ export default async function adminDeveloper_funGetListAllUser({ search, page }: masterUserRoleId: "1", username: { contains: search, - mode: 'insensitive' - } + mode: "insensitive", + }, }, }); @@ -25,15 +31,15 @@ export default async function adminDeveloper_funGetListAllUser({ search, page }: masterUserRoleId: "1", username: { contains: search, - mode: 'insensitive' - } - } - }) + mode: "insensitive", + }, + }, + }); const allData = { data: data, - nPage: ceil(nCount / 9) - } + nPage: ceil(nCount / 9), + }; return allData; } diff --git a/src/app_modules/admin/developer/index.tsx b/src/app_modules/admin/developer/index.tsx index 2da4a14a..f793cb1b 100644 --- a/src/app_modules/admin/developer/index.tsx +++ b/src/app_modules/admin/developer/index.tsx @@ -14,7 +14,7 @@ import { TextInput, Title, } from "@mantine/core"; -import ComponentAdminGlobal_HeaderTamplate from "../component/header_tamplate"; +import ComponentAdminGlobal_HeaderTamplate from "../component_global/header_tamplate"; import { MODEL_USER } from "@/app_modules/home/model/interface"; import _ from "lodash"; import { IconSearch } from "@tabler/icons-react"; @@ -29,12 +29,12 @@ export default function AdminDeveloper({ listUser, listAdmin, pUser, - pAdmin + pAdmin, }: { listUser: MODEL_USER[]; listAdmin: MODEL_USER[]; - pUser: any, - pAdmin: any + pUser: any; + pAdmin: any; }) { const [dataUser, setDataUser] = useState(listUser); const [dataAdmin, setDataAdmin] = useState(listAdmin); @@ -56,16 +56,20 @@ export default function AdminDeveloper({ setDataUser={setDataUser} setDataAdmin={setDataAdmin} /> */} - { - setDataUser(val.data) - setPageUser(val.nPage) + setDataUser(val.data); + setPageUser(val.nPage); }} /> - { - setDataAdmin(val.data) - setPageAdmin(val.nPage) + setDataAdmin(val.data); + setPageAdmin(val.nPage); }} /> @@ -74,48 +78,66 @@ export default function AdminDeveloper({ ); } -function NewTableUser({ data, nPage, onUpdated }: { data: any, nPage: any, onUpdated: (val: any) => void }) { - const [isChoosePage, setChoosePage] = useState(1) - const [dataUser, setDataUser] = useState(data) - const [isNPage, setNPage] = useState(nPage) - const [isSearch, setSearch] = useState('') +function NewTableUser({ + data, + nPage, + onUpdated, +}: { + data: any; + nPage: any; + onUpdated: (val: any) => void; +}) { + const [isChoosePage, setChoosePage] = useState(1); + const [dataUser, setDataUser] = useState(data); + const [isNPage, setNPage] = useState(nPage); + const [isSearch, setSearch] = useState(""); async function onPageClick(p: any) { - setChoosePage(p) - const loadData = await adminDeveloper_funGetListAllUser({ search: isSearch, page: p }) - setDataUser(loadData.data) - setNPage(loadData.nPage) + setChoosePage(p); + const loadData = await adminDeveloper_funGetListAllUser({ + search: isSearch, + page: p, + }); + setDataUser(loadData.data); + setNPage(loadData.nPage); } async function onSearch(s: any) { - setSearch(s) - setChoosePage(1) - const loadData = await adminDeveloper_funGetListAllUser({ search: s, page: 1 }) - setDataUser(loadData.data) - setNPage(loadData.nPage) + setSearch(s); + setChoosePage(1); + const loadData = await adminDeveloper_funGetListAllUser({ + search: s, + page: 1, + }); + setDataUser(loadData.data); + setNPage(loadData.nPage); } async function onAccess(id: string) { - const upd = await adminDeveloper_funEditUserAksesById(id, "2") + const upd = await adminDeveloper_funEditUserAksesById(id, "2"); if (upd.status == 200) { - const loadData = await adminDeveloper_funGetListAllUser({ search: isSearch, page: isChoosePage }) - setDataUser(loadData.data) - setNPage(loadData.nPage) - const loadDataAdmin = await adminDeveloper_funGetListAllAdmin({ page: 1 }) - onUpdated(loadDataAdmin) - ComponentGlobal_NotifikasiBerhasil(upd.message) + const loadData = await adminDeveloper_funGetListAllUser({ + search: isSearch, + page: isChoosePage, + }); + setDataUser(loadData.data); + setNPage(loadData.nPage); + const loadDataAdmin = await adminDeveloper_funGetListAllAdmin({ + page: 1, + }); + onUpdated(loadDataAdmin); + ComponentGlobal_NotifikasiBerhasil(upd.message); } else { - ComponentGlobal_NotifikasiGagal(upd.message) + ComponentGlobal_NotifikasiGagal(upd.message); } } useEffect(() => { - setDataUser(data) - setNPage(nPage) - setSearch('') - setChoosePage(1) - }, [data, nPage]) - + setDataUser(data); + setNPage(nPage); + setSearch(""); + setChoosePage(1); + }, [data, nPage]); return ( <> @@ -132,7 +154,7 @@ function NewTableUser({ data, nPage, onUpdated }: { data: any, nPage: any, onUpd radius={"xl"} placeholder="Masukan username" onChange={(val) => { - onSearch(val.currentTarget.value) + onSearch(val.currentTarget.value); }} /> @@ -168,9 +190,7 @@ function NewTableUser({ data, nPage, onUpdated }: { data: any, nPage: any, onUpd
-
@@ -183,7 +203,7 @@ function NewTableUser({ data, nPage, onUpdated }: { data: any, nPage: any, onUpd { - onPageClick(val) + onPageClick(val); }} total={isNPage} /> @@ -191,50 +211,67 @@ function NewTableUser({ data, nPage, onUpdated }: { data: any, nPage: any, onUpd
- ) + ); } -function NewTableAdmin({ data, nPage, onUpdated }: { data: any, nPage: any, onUpdated: (val: any) => void }) { - const [isChoosePage, setChoosePage] = useState(1) - const [dataAdmin, setDataAdmin] = useState(data) - const [isNPage, setNPage] = useState(nPage) - const [isSearch, setSearch] = useState('') +function NewTableAdmin({ + data, + nPage, + onUpdated, +}: { + data: any; + nPage: any; + onUpdated: (val: any) => void; +}) { + const [isChoosePage, setChoosePage] = useState(1); + const [dataAdmin, setDataAdmin] = useState(data); + const [isNPage, setNPage] = useState(nPage); + const [isSearch, setSearch] = useState(""); async function onPageClick(p: any) { - setChoosePage(p) - const loadData = await adminDeveloper_funGetListAllAdmin({ search: isSearch, page: p }) - setDataAdmin(loadData.data) - setNPage(loadData.nPage) + setChoosePage(p); + const loadData = await adminDeveloper_funGetListAllAdmin({ + search: isSearch, + page: p, + }); + setDataAdmin(loadData.data); + setNPage(loadData.nPage); } async function onSearch(s: any) { - setSearch(s) - setChoosePage(1) - const loadData = await adminDeveloper_funGetListAllAdmin({ search: s, page: 1 }) - setDataAdmin(loadData.data) - setNPage(loadData.nPage) + setSearch(s); + setChoosePage(1); + const loadData = await adminDeveloper_funGetListAllAdmin({ + search: s, + page: 1, + }); + setDataAdmin(loadData.data); + setNPage(loadData.nPage); } async function onAccess(id: string) { - const upd = await adminDeveloper_funEditUserAksesById(id, "1") + const upd = await adminDeveloper_funEditUserAksesById(id, "1"); if (upd.status == 200) { - const loadData = await adminDeveloper_funGetListAllAdmin({ search: isSearch, page: isChoosePage }) - setDataAdmin(loadData.data) - setNPage(loadData.nPage) - const loadDataUser = await adminDeveloper_funGetListAllUser({ page: 1 }) - onUpdated(loadDataUser) - ComponentGlobal_NotifikasiBerhasil(upd.message) + const loadData = await adminDeveloper_funGetListAllAdmin({ + search: isSearch, + page: isChoosePage, + }); + setDataAdmin(loadData.data); + setNPage(loadData.nPage); + const loadDataUser = await adminDeveloper_funGetListAllUser({ page: 1 }); + onUpdated(loadDataUser); + ComponentGlobal_NotifikasiBerhasil(upd.message); } else { - ComponentGlobal_NotifikasiGagal(upd.message) + ComponentGlobal_NotifikasiGagal(upd.message); } } useEffect(() => { - setDataAdmin(data) - setNPage(nPage) - setSearch('') - setChoosePage(1) - }, [data, nPage]) + setDataAdmin(data); + setNPage(nPage); + setSearch(""); + setChoosePage(1); + }, [data, nPage]); return ( <> @@ -251,7 +288,7 @@ function NewTableAdmin({ data, nPage, onUpdated }: { data: any, nPage: any, onUp radius={"xl"} placeholder="Masukan username" onChange={(val) => { - onSearch(val.currentTarget.value) + onSearch(val.currentTarget.value); }} /> @@ -287,7 +324,9 @@ function NewTableAdmin({ data, nPage, onUpdated }: { data: any, nPage: any, onUp
- - + +