From d7b11b251684661ec77e3bccccea6ef9167db2fe Mon Sep 17 00:00:00 2001 From: hanif salafi Date: Thu, 2 Jan 2025 00:48:57 +0700 Subject: [PATCH] feat: fixing all service axios --- .../agenda-setting/calender-view.tsx | 2 +- .../agenda-setting/event-modal.tsx | 10 +- .../create-daily/detail/[id]/page.tsx | 6 +- .../mediahub/create-daily/edit/[id]/page.tsx | 6 +- .../task-plan/mediahub/create-daily/page.tsx | 6 +- .../create-monthly/detail/[id]/page.tsx | 4 +- .../create-monthly/edit/[id]/page.tsx | 4 +- .../mediahub/create-monthly/page.tsx | 4 +- .../create-weekly/detail/[id]/page.tsx | 4 +- .../mediahub/create-weekly/edit/[id]/page.tsx | 4 +- .../task-plan/mediahub/create-weekly/page.tsx | 4 +- .../medsos-mediahub/create-daily/page.tsx | 6 +- .../create-monthly/detail/[id]/page.tsx | 4 +- .../create-monthly/edit/[id]/page.tsx | 4 +- .../medsos-mediahub/create-monthly/page.tsx | 4 +- .../create-weekly/detail/[id]/page.tsx | 4 +- .../create-weekly/edit/[id]/page.tsx | 4 +- .../medsos-mediahub/create-weekly/page.tsx | 4 +- app/[locale]/(public)/feedback/page.tsx | 4 +- components/form/blog/blog--detail-form.tsx | 1 - components/form/blog/blog--update-form.tsx | 1 - components/form/blog/blog-form.tsx | 11 +- .../communication/escalation-detail-form.tsx | 8 +- .../communication/internal-detail-form.tsx | 8 +- .../form/communication/internal-edit-form.tsx | 8 +- components/form/content/image-ai-form.tsx | 11 +- components/form/content/image-detail-form.tsx | 1 - components/form/content/image-form.tsx | 141 ++++++++++++++---- components/form/content/image-update-form.tsx | 1 - components/form/content/spit-convert-form.tsx | 1 - components/form/content/video-form.tsx | 1 - components/form/planning/mediahub-publish.tsx | 4 +- components/form/planning/medsos-publish.tsx | 4 +- components/form/schedule/event-form.tsx | 6 +- .../form/schedule/event-update-form.tsx | 6 +- .../schedule/pers-release--update-form.tsx | 6 +- .../form/schedule/pers-release-form.tsx | 6 +- .../form/schedule/press-conference-form.tsx | 6 +- .../schedule/press-conference-update-form.tsx | 6 +- components/form/task/task-detail-form.tsx | 4 +- components/form/task/task-edit-form.tsx | 4 +- components/form/task/task-form.tsx | 4 +- components/partials/auth/login-form.tsx | 46 +++--- config/api.ts | 1 - config/axiosInterceptor.ts | 59 -------- service/agenda-setting/agenda-setting.ts | 25 ++-- service/auth.ts | 26 +--- service/blog/blog.ts | 10 +- service/communication/communication.ts | 9 +- service/content/ai.ts | 6 +- service/content/content.ts | 33 ++-- service/contest/contest.ts | 3 +- service/curated-content/curated-content.ts | 4 +- service/login-services.ts | 2 - service/media-tracking/media-tracking.ts | 4 +- service/notifications/notifications.ts | 4 +- service/planning/planning.ts | 7 +- service/schedule/schedule.ts | 18 +-- service/tableau/tableau-service.ts | 48 +----- service/task.ts | 37 ++--- 60 files changed, 316 insertions(+), 363 deletions(-) delete mode 100644 config/axiosInterceptor.ts diff --git a/app/[locale]/(protected)/contributor/agenda-setting/calender-view.tsx b/app/[locale]/(protected)/contributor/agenda-setting/calender-view.tsx index 038f8419..a7996eff 100644 --- a/app/[locale]/(protected)/contributor/agenda-setting/calender-view.tsx +++ b/app/[locale]/(protected)/contributor/agenda-setting/calender-view.tsx @@ -138,7 +138,7 @@ const CalendarView = ({ categories }: CalendarViewProps) => { if (response.data && Array.isArray(response.data)) { // Transform API data to match CalendarEvent type - const eventsFromAPI: CalendarEvent[] = response.data.map((item) => ({ + const eventsFromAPI: CalendarEvent[] = response?.data?.map((item) => ({ id: item.id.toString(), title: item.title, start: new Date(item.startDate), diff --git a/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx b/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx index 650c8a14..0010f772 100644 --- a/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx +++ b/app/[locale]/(protected)/contributor/agenda-setting/event-modal.tsx @@ -96,8 +96,8 @@ const EventModal = ({ setIsLoading(true); try { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); - const initialExpandedState = response.data.data.list.reduce( + setListDest(response?.data?.data.list); + const initialExpandedState = response?.data?.data.list.reduce( (acc: any, polda: any) => { acc[polda.id] = false; return acc; @@ -145,12 +145,12 @@ const EventModal = ({ console.log("Submitted Data:", reqData); const response = await saveAgendaSettings(reqData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("AgendaSetting", response.data.data.id, { + Cookies.set("AgendaSetting", response?.data?.data.id, { expires: 1, }); diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/detail/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/detail/[id]/page.tsx index 0f3d562d..1cc0d504 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/detail/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/detail/[id]/page.tsx @@ -248,8 +248,8 @@ export default function DetailDaily() { console.log("req =>", reqData); const response = await savePlanning(reqData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } @@ -327,7 +327,7 @@ export default function DetailDaily() { useEffect(() => { async function initState() { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); + setListDest(response?.data?.data.list); } initState(); diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/edit/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/edit/[id]/page.tsx index 0ce52579..81097090 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/edit/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/edit/[id]/page.tsx @@ -262,8 +262,8 @@ export default function EditDaily() { const response = await savePlanning(reqData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } @@ -341,7 +341,7 @@ export default function EditDaily() { useEffect(() => { async function initState() { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); + setListDest(response?.data?.data.list); } initState(); diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/page.tsx index beb07552..3c86ab34 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-daily/page.tsx @@ -210,8 +210,8 @@ export default function CreateDaily() { console.log("req =>", reqData); const response = await savePlanning(reqData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } @@ -289,7 +289,7 @@ export default function CreateDaily() { useEffect(() => { async function initState() { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); + setListDest(response?.data?.data.list); } initState(); diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/detail/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/detail/[id]/page.tsx index 5c99af8b..80991505 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/detail/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/detail/[id]/page.tsx @@ -122,8 +122,8 @@ export default function DetailMonthly() { console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/edit/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/edit/[id]/page.tsx index cee02ce1..ab6dc3ae 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/edit/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/edit/[id]/page.tsx @@ -123,8 +123,8 @@ export default function EditMonthly() { console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/page.tsx index 19f8ccbd..a581bbb0 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-monthly/page.tsx @@ -91,8 +91,8 @@ export default function CreateMonthly() { console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/detail/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/detail/[id]/page.tsx index 1d3c4ff5..8d1f652f 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/detail/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/detail/[id]/page.tsx @@ -113,8 +113,8 @@ export default function DetailMonthly() { console.log("req", reqData); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/edit/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/edit/[id]/page.tsx index de245202..1173fb81 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/edit/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/edit/[id]/page.tsx @@ -113,8 +113,8 @@ export default function EditMonthly() { console.log("req", reqData); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/page.tsx b/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/page.tsx index 028bcd47..0e47f5bc 100644 --- a/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/mediahub/create-weekly/page.tsx @@ -112,8 +112,8 @@ export default function CreateMonthly() { console.log("req", reqData); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-daily/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-daily/page.tsx index c4e62a65..e2c2d8a8 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-daily/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-daily/page.tsx @@ -229,8 +229,8 @@ export default function CreateMonthly() { console.log("req =>", reqData); const response = await savePlanning(reqData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } @@ -258,7 +258,7 @@ export default function CreateMonthly() { useEffect(() => { async function initState() { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); + setListDest(response?.data?.data.list); } initState(); diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/detail/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/detail/[id]/page.tsx index 5c99af8b..80991505 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/detail/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/detail/[id]/page.tsx @@ -122,8 +122,8 @@ export default function DetailMonthly() { console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/edit/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/edit/[id]/page.tsx index cee02ce1..ab6dc3ae 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/edit/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/edit/[id]/page.tsx @@ -123,8 +123,8 @@ export default function EditMonthly() { console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/page.tsx index c092c096..dfb0ac47 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-monthly/page.tsx @@ -91,8 +91,8 @@ export default function CreateMonthly() { console.log("req", reqData, data.month); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/detail/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/detail/[id]/page.tsx index 1d3c4ff5..8d1f652f 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/detail/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/detail/[id]/page.tsx @@ -113,8 +113,8 @@ export default function DetailMonthly() { console.log("req", reqData); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/edit/[id]/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/edit/[id]/page.tsx index de245202..1173fb81 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/edit/[id]/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/edit/[id]/page.tsx @@ -113,8 +113,8 @@ export default function EditMonthly() { console.log("req", reqData); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/page.tsx b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/page.tsx index ccea6fb7..65f78639 100644 --- a/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/page.tsx +++ b/app/[locale]/(protected)/curator/task-plan/medsos-mediahub/create-weekly/page.tsx @@ -111,8 +111,8 @@ export default function CreateMonthly() { console.log("req", reqData); const response = await savePlanning(reqData); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/app/[locale]/(public)/feedback/page.tsx b/app/[locale]/(public)/feedback/page.tsx index d5f7f250..e657c5d7 100644 --- a/app/[locale]/(public)/feedback/page.tsx +++ b/app/[locale]/(public)/feedback/page.tsx @@ -86,8 +86,8 @@ const FeedbackForm: React.FC = () => { console.log("Save Feedback :", userFeedbacks); const response = await postUserFeedback(); close(); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } diff --git a/components/form/blog/blog--detail-form.tsx b/components/form/blog/blog--detail-form.tsx index e875e29d..6dc37422 100644 --- a/components/form/blog/blog--detail-form.tsx +++ b/components/form/blog/blog--detail-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, diff --git a/components/form/blog/blog--update-form.tsx b/components/form/blog/blog--update-form.tsx index e44293e5..72d5b96c 100644 --- a/components/form/blog/blog--update-form.tsx +++ b/components/form/blog/blog--update-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, diff --git a/components/form/blog/blog-form.tsx b/components/form/blog/blog-form.tsx index 534aad02..e1a79c38 100644 --- a/components/form/blog/blog-form.tsx +++ b/components/form/blog/blog-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, @@ -172,20 +171,20 @@ export default function FormBlog() { console.log("Form Data Submitted:", requestData); console.log("response", response); - if (response.error) { - MySwal.fire("Error", response.message, "error"); + if (response?.error) { + MySwal.fire("Error", response?.message, "error"); return; } - const blogId = response.data.data.id; + const blogId = response?.data.data.id; if (blogId && thumbnail) { const formMedia = new FormData(); formMedia.append("file", thumbnail); const responseThumbnail = await uploadThumbnailBlog(blogId, formMedia); - if (responseThumbnail.error) { - MySwal.fire("Error", responseThumbnail.message, "error"); + if (responseThumbnail?.error) { + MySwal.fire("Error", responseThumbnail?.message, "error"); return; } } diff --git a/components/form/communication/escalation-detail-form.tsx b/components/form/communication/escalation-detail-form.tsx index 2e5a7e98..0332f690 100644 --- a/components/form/communication/escalation-detail-form.tsx +++ b/components/form/communication/escalation-detail-form.tsx @@ -136,11 +136,11 @@ export default function FormDetailEscalation() { // Tambahkan balasan baru ke daftar balasan const newReply: replyDetail = { - id: response.data.id, + id: response?.data?.id, message: replyMessage, - createdAt: response.data.createdAt, - messageFrom: response.data.messageFrom, - messageTo: response.data.messageTo, + createdAt: response?.data?.createdAt, + messageFrom: response?.data?.messageFrom, + messageTo: response?.data?.messageTo, }; setTicketReply((prevReplies) => [newReply, ...prevReplies]); diff --git a/components/form/communication/internal-detail-form.tsx b/components/form/communication/internal-detail-form.tsx index 77462c93..70a3139e 100644 --- a/components/form/communication/internal-detail-form.tsx +++ b/components/form/communication/internal-detail-form.tsx @@ -132,11 +132,11 @@ export default function FormDetailInternal() { // Tambahkan balasan baru ke daftar balasan const newReply: replyDetail = { - id: response.data.id, + id: response?.data?.id, message: replyMessage, - createdAt: response.data.createdAt, - messageFrom: response.data.messageFrom, - messageTo: response.data.messageTo, + createdAt: response?.data?.createdAt, + messageFrom: response?.data?.messageFrom, + messageTo: response?.data?.messageTo, }; setTicketReply((prevReplies) => [newReply, ...prevReplies]); diff --git a/components/form/communication/internal-edit-form.tsx b/components/form/communication/internal-edit-form.tsx index 2bcf5dc2..3ce6ae44 100644 --- a/components/form/communication/internal-edit-form.tsx +++ b/components/form/communication/internal-edit-form.tsx @@ -135,11 +135,11 @@ export default function FormEditInternal() { // Tambahkan balasan baru ke daftar balasan const newReply: replyDetail = { - id: response.data.id, + id: response?.data?.id, message: replyMessage, - createdAt: response.data.createdAt, - messageFrom: response.data.messageFrom, - messageTo: response.data.messageTo, + createdAt: response?.data?.createdAt, + messageFrom: response?.data?.messageFrom, + messageTo: response?.data?.messageTo, }; setTicketReply((prevReplies) => [newReply, ...prevReplies]); diff --git a/components/form/content/image-ai-form.tsx b/components/form/content/image-ai-form.tsx index e330f3cd..cbfc7eb2 100644 --- a/components/form/content/image-ai-form.tsx +++ b/components/form/content/image-ai-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, @@ -342,20 +341,20 @@ export default function FormImageAI() { const response = await createMedia(requestData); console.log("Form Data Submitted:", requestData); - if (response.error) { - MySwal.fire("Error", response.message, "error"); + if (response?.error) { + MySwal.fire("Error", response?.message, "error"); return; } - const imageId = response.data.data.id; + const imageId = response?.data?.data.id; if (imageId && thumbnail) { const formMedia = new FormData(); formMedia.append("file", thumbnail); const responseThumbnail = await uploadThumbnail(imageId, formMedia); - if (responseThumbnail.error) { - MySwal.fire("Error", responseThumbnail.message, "error"); + if (responseThumbnail?.error) { + MySwal.fire("Error", responseThumbnail?.message, "error"); return; } } diff --git a/components/form/content/image-detail-form.tsx b/components/form/content/image-detail-form.tsx index b22b55dd..ae78ece7 100644 --- a/components/form/content/image-detail-form.tsx +++ b/components/form/content/image-detail-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, diff --git a/components/form/content/image-form.tsx b/components/form/content/image-form.tsx index 7793ba5d..9b92a0c6 100644 --- a/components/form/content/image-form.tsx +++ b/components/form/content/image-form.tsx @@ -1,5 +1,5 @@ "use client"; -import React, { ChangeEvent, useEffect, useRef, useState } from "react"; +import React, { ChangeEvent, useEffect, useRef, Fragment, useState } from "react"; import { useForm, Controller } from "react-hook-form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, @@ -48,6 +47,14 @@ const imageSchema = z.object({ creatorName: z.string().min(1, { message: "Creator diperlukan" }), // tags: z.string().min(1, { message: "Judul diperlukan" }), }); +import { useDropzone } from "react-dropzone"; +import { Icon } from "@iconify/react"; +import { CloudUpload } from "lucide-react"; +import Image from "next/image"; + +interface FileWithPreview extends File { + preview: string; +} type Category = { id: string; @@ -102,6 +109,14 @@ export default function FormImage() { let fileTypeId = "1"; + const [files, setFiles] = useState([]); + + const { getRootProps, getInputProps } = useDropzone({ + onDrop: (acceptedFiles) => { + setFiles(acceptedFiles.map((file) => Object.assign(file))); + }, + }); + const { control, handleSubmit, @@ -342,20 +357,20 @@ export default function FormImage() { const response = await createMedia(requestData); console.log("Form Data Submitted:", requestData); - if (response.error) { - MySwal.fire("Error", response.message, "error"); + if (response?.error) { + MySwal.fire("Error", response?.message, "error"); return; } - const imageId = response.data.data.id; + const imageId = response?.data?.data.id; if (imageId && thumbnail) { const formMedia = new FormData(); formMedia.append("file", thumbnail); const responseThumbnail = await uploadThumbnail(imageId, formMedia); - if (responseThumbnail.error) { - MySwal.fire("Error", responseThumbnail.message, "error"); + if (responseThumbnail?.error) { + MySwal.fire("Error", responseThumbnail?.message, "error"); return; } } @@ -400,6 +415,65 @@ export default function FormImage() { } }; + const renderFilePreview = (file: FileWithPreview) => { + if (file.type.startsWith("image")) { + return ( + {file.name} + ); + } else { + return ; + } + }; + + const handleRemoveFile = (file: FileWithPreview) => { + const uploadedFiles = files; + const filtered = uploadedFiles.filter((i) => i.name !== file.name); + setFiles([...filtered]); + }; + + const fileList = files.map((file) => ( +
+
+
{renderFilePreview(file)}
+
+
{file.name}
+
+ {Math.round(file.size / 100) / 10 > 1000 ? ( + <>{(Math.round(file.size / 100) / 10000).toFixed(1)} + ) : ( + <>{(Math.round(file.size / 100) / 10).toFixed(1)} + )} + {" kb"} +
+
+
+ + +
+ )); + + const handleRemoveAllFiles = () => { + setFiles([]); + }; + + return (
@@ -695,29 +769,44 @@ export default function FormImage() { )}
- - - Pilih File + {/* - -
- -
- + /> */} + +
+ +
+ +

+ {/* Drop files here or click to upload. */} + Tarik file disini atau klik untuk upload. +

+
+ ( Upload file dengan format .jpg, .jpeg, atau .png. Ukuran maksimal 100mb.) +
+
-
- {preview && ( -
- Thumbnail Preview -
- )} + {files.length ? ( + +
{fileList}
+
+
+ +
+ +
+
+ +
+
+ ) : null} + +
diff --git a/components/form/content/image-update-form.tsx b/components/form/content/image-update-form.tsx index 9b9578ef..4bc6fe05 100644 --- a/components/form/content/image-update-form.tsx +++ b/components/form/content/image-update-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, diff --git a/components/form/content/spit-convert-form.tsx b/components/form/content/spit-convert-form.tsx index e9150c19..f8e571b9 100644 --- a/components/form/content/spit-convert-form.tsx +++ b/components/form/content/spit-convert-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { convertSPIT, createMedia, diff --git a/components/form/content/video-form.tsx b/components/form/content/video-form.tsx index 23c57810..2b82c1ff 100644 --- a/components/form/content/video-form.tsx +++ b/components/form/content/video-form.tsx @@ -23,7 +23,6 @@ import JoditEditor from "jodit-react"; import { register } from "module"; import { Switch } from "@/components/ui/switch"; import Cookies from "js-cookie"; -import { createTask } from "@/config/api"; import { createMedia, getTagsBySubCategoryId, diff --git a/components/form/planning/mediahub-publish.tsx b/components/form/planning/mediahub-publish.tsx index 11ed447f..2e5ab7ae 100644 --- a/components/form/planning/mediahub-publish.tsx +++ b/components/form/planning/mediahub-publish.tsx @@ -115,8 +115,8 @@ export default function PublishMediahub() { setIsLoading(true); try { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); - const initialExpandedState = response.data.data.list.reduce( + setListDest(response?.data?.data.list); + const initialExpandedState = response?.data?.data.list.reduce( (acc: any, polda: any) => { acc[polda.id] = false; return acc; diff --git a/components/form/planning/medsos-publish.tsx b/components/form/planning/medsos-publish.tsx index 12381adb..e635c7a5 100644 --- a/components/form/planning/medsos-publish.tsx +++ b/components/form/planning/medsos-publish.tsx @@ -110,8 +110,8 @@ export default function PublishMedsos() { setIsLoading(true); try { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); - const initialExpandedState = response.data.data.list.reduce( + setListDest(response?.data?.data.list); + const initialExpandedState = response?.data?.data.list.reduce( (acc: any, polda: any) => { acc[polda.id] = false; return acc; diff --git a/components/form/schedule/event-form.tsx b/components/form/schedule/event-form.tsx index e6dabeb8..371cc477 100644 --- a/components/form/schedule/event-form.tsx +++ b/components/form/schedule/event-form.tsx @@ -112,12 +112,12 @@ export default function FormEvent() { console.log("Form Data Submitted:", requestData); const response = await postSchedule(requestData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("scheduleId", response.data.data.id, { + Cookies.set("scheduleId", response?.data?.data.id, { expires: 1, }); diff --git a/components/form/schedule/event-update-form.tsx b/components/form/schedule/event-update-form.tsx index cf0ea640..6c643374 100644 --- a/components/form/schedule/event-update-form.tsx +++ b/components/form/schedule/event-update-form.tsx @@ -142,12 +142,12 @@ export default function FormEventUpdate() { const response = await postSchedule(requestData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("scheduleId", response.data.data.id, { + Cookies.set("scheduleId", response?.data?.data.id, { expires: 1, }); diff --git a/components/form/schedule/pers-release--update-form.tsx b/components/form/schedule/pers-release--update-form.tsx index 6a3e44f4..2fb8cac0 100644 --- a/components/form/schedule/pers-release--update-form.tsx +++ b/components/form/schedule/pers-release--update-form.tsx @@ -149,12 +149,12 @@ export default function FormUpdatePressRelease() { const response = await postSchedule(requestData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("scheduleId", response.data.data.id, { + Cookies.set("scheduleId", response?.data?.data.id, { expires: 1, }); diff --git a/components/form/schedule/pers-release-form.tsx b/components/form/schedule/pers-release-form.tsx index 4b501480..3628d9c2 100644 --- a/components/form/schedule/pers-release-form.tsx +++ b/components/form/schedule/pers-release-form.tsx @@ -112,12 +112,12 @@ export default function FormPressRelease() { console.log("Form Data Submitted:", requestData); const response = await postSchedule(requestData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("scheduleId", response.data.data.id, { + Cookies.set("scheduleId", response?.data?.data.id, { expires: 1, }); diff --git a/components/form/schedule/press-conference-form.tsx b/components/form/schedule/press-conference-form.tsx index 5498413e..efbcc8cb 100644 --- a/components/form/schedule/press-conference-form.tsx +++ b/components/form/schedule/press-conference-form.tsx @@ -102,12 +102,12 @@ export default function FormPressConference() { console.log("Form Data Submitted:", requestData); const response = await postSchedule(requestData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("scheduleId", response.data.data.id, { + Cookies.set("scheduleId", response?.data?.data.id, { expires: 1, }); diff --git a/components/form/schedule/press-conference-update-form.tsx b/components/form/schedule/press-conference-update-form.tsx index 93f53834..8519b179 100644 --- a/components/form/schedule/press-conference-update-form.tsx +++ b/components/form/schedule/press-conference-update-form.tsx @@ -149,12 +149,12 @@ export default function FormUpdatePressConference() { const response = await postSchedule(requestData); - if (response.error) { - error(response.message); + if (response?.error) { + error(response?.message); return false; } - Cookies.set("scheduleId", response.data.data.id, { + Cookies.set("scheduleId", response?.data?.data.id, { expires: 1, }); diff --git a/components/form/task/task-detail-form.tsx b/components/form/task/task-detail-form.tsx index f3279960..6cc15c65 100644 --- a/components/form/task/task-detail-form.tsx +++ b/components/form/task/task-detail-form.tsx @@ -122,8 +122,8 @@ export default function FormTaskDetail() { setIsLoading(true); try { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); - const initialExpandedState = response.data.data.list.reduce( + setListDest(response?.data?.data.list); + const initialExpandedState = response?.data?.data.list.reduce( (acc: any, polda: any) => { acc[polda.id] = false; return acc; diff --git a/components/form/task/task-edit-form.tsx b/components/form/task/task-edit-form.tsx index 2a8cafcb..15ca536c 100644 --- a/components/form/task/task-edit-form.tsx +++ b/components/form/task/task-edit-form.tsx @@ -122,8 +122,8 @@ export default function FormTaskEdit() { setIsLoading(true); try { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); - const initialExpandedState = response.data.data.list.reduce( + setListDest(response?.data?.data.list); + const initialExpandedState = response?.data?.data.list.reduce( (acc: any, polda: any) => { acc[polda.id] = false; return acc; diff --git a/components/form/task/task-form.tsx b/components/form/task/task-form.tsx index f6662174..5f5f22f4 100644 --- a/components/form/task/task-form.tsx +++ b/components/form/task/task-form.tsx @@ -126,8 +126,8 @@ export default function FormTask() { setIsLoading(true); try { const response = await getUserLevelForAssignments(); - setListDest(response.data.data.list); - const initialExpandedState = response.data.data.list.reduce( + setListDest(response?.data?.data.list); + const initialExpandedState = response?.data?.data.list.reduce( (acc: any, polda: any) => { acc[polda.id] = false; return acc; diff --git a/components/partials/auth/login-form.tsx b/components/partials/auth/login-form.tsx index 8d7d3613..56a70a38 100644 --- a/components/partials/auth/login-form.tsx +++ b/components/partials/auth/login-form.tsx @@ -11,7 +11,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { cn, setCookiesEncrypt } from "@/lib/utils"; import { Loader2 } from "lucide-react"; -import { getProfile, setLogin } from "@/service/auth"; +import { getProfile, login } from "@/service/auth"; import { toast } from "sonner"; import { Link, useRouter } from "@/components/navigation"; import { warning } from "@/lib/swal"; @@ -49,13 +49,13 @@ const LoginForm = () => { // Fungsi submit form const onSubmit: SubmitHandler = async (data) => { try { - const response = await setLogin({ + const response = await login({ ...data, grant_type: "password", client_id: "mediahub-app", }); - if (response.error) { + if (response?.error) { toast.error("Username / Password Tidak Sesuai"); } else { const { access_token } = response.data; @@ -86,53 +86,53 @@ const LoginForm = () => { }); warning("Akun Anda tidak dapat digunakan untuk masuk ke MediaHub Polri", "/auth/login"); } else { - Cookies.set("home_path", profile.data?.data?.homePath, { + Cookies.set("home_path", profile?.data?.data?.homePath, { expires: 1, }); - Cookies.set("profile_picture", profile.data?.data?.profilePictureUrl, { + Cookies.set("profile_picture", profile?.data?.data?.profilePictureUrl, { expires: 1, }); - Cookies.set("state", profile.data?.data?.userLevel?.name, { + Cookies.set("state", profile?.data?.data?.userLevel?.name, { expires: 1, }); - setCookiesEncrypt("uie", profile.data.data?.id, { + setCookiesEncrypt("uie", profile?.data?.data?.id, { expires: 1, }); - setCookiesEncrypt("urie", profile.data.data?.roleId, { + setCookiesEncrypt("urie", profile?.data?.data?.roleId, { expires: 1, }); - setCookiesEncrypt("urne", profile.data.data?.role?.name, { + setCookiesEncrypt("urne", profile?.data?.data?.role?.name, { expires: 1, }); - setCookiesEncrypt("ulie", profile.data.data?.userLevel?.id, { + setCookiesEncrypt("ulie", profile?.data?.data?.userLevel?.id, { expires: 1, }); - setCookiesEncrypt("uplie", profile.data.data?.userLevel?.parentLevelId, { + setCookiesEncrypt("uplie", profile?.data?.data?.userLevel?.parentLevelId, { expires: 1, }); - setCookiesEncrypt("ulne", profile.data.data?.userLevel?.levelNumber, { + setCookiesEncrypt("ulne", profile?.data?.data?.userLevel?.levelNumber, { expires: 1, }); - setCookiesEncrypt("ufne", profile.data.data?.fullname, { + setCookiesEncrypt("ufne", profile?.data?.data?.fullname, { expires: 1, }); - setCookiesEncrypt("ulnae", profile.data.data?.userLevel?.name, { + setCookiesEncrypt("ulnae", profile?.data?.data?.userLevel?.name, { expires: 1, }); - setCookiesEncrypt("uinse", profile.data.data?.instituteId, { + setCookiesEncrypt("uinse", profile?.data?.data?.instituteId, { expires: 1, }); if ( - Number(profile.data.data?.roleId) == 2 || - Number(profile.data.data?.roleId) == 3 || - Number(profile.data.data?.roleId) == 4 || - Number(profile.data.data?.roleId) == 9 || - Number(profile.data.data?.roleId) == 10 || - Number(profile.data.data?.roleId) == 11 || - Number(profile.data.data?.roleId) == 12 + Number(profile?.data?.data?.roleId) == 2 || + Number(profile?.data?.data?.roleId) == 3 || + Number(profile?.data?.data?.roleId) == 4 || + Number(profile?.data?.data?.roleId) == 9 || + Number(profile?.data?.data?.roleId) == 10 || + Number(profile?.data?.data?.roleId) == 11 || + Number(profile?.data?.data?.roleId) == 12 ) { - if (profile.data.data?.userLevel?.id == 761 || profile.data.data?.userLevel?.parentLevelId == 761) { + if (profile?.data?.data?.userLevel?.id == 761 || profile?.data?.data?.userLevel?.parentLevelId == 761) { window.location.href = "/in/welcome"; // router.push('/admin/dashboard'); Cookies.set("status", "login", { diff --git a/config/api.ts b/config/api.ts index 6c9f6b37..b92a3181 100644 --- a/config/api.ts +++ b/config/api.ts @@ -5,7 +5,6 @@ import qs from "qs"; import axiosInstance from "./axiosInstance"; import axiosInstanceJson from "./axiosInstanceJson"; -import axiosInterceptor from "./axiosInterceptor"; import { data } from "@/app/[locale]/(protected)/charts/rechart/charts-rechart-bar/data"; import { url } from "inspector"; diff --git a/config/axiosInterceptor.ts b/config/axiosInterceptor.ts deleted file mode 100644 index 6c4b8c55..00000000 --- a/config/axiosInterceptor.ts +++ /dev/null @@ -1,59 +0,0 @@ -"use client"; -import axios from "axios"; -import Cookies from "js-cookie"; -import qs from "qs"; - -const baseURL = "https://netidhub.com/api/"; -const tokenAuth = Cookies.get("access_token") - ? Cookies.get("access_token") - : null; -const expired = Cookies.get("time_refresh") - ? Cookies.get("time_refresh") - : null; - -const axiosInterceptor = axios.create({ - baseURL, - headers: { - Authorization: `Bearer ${tokenAuth}`, - }, -}); - -axiosInterceptor.interceptors.request.use(async (req) => { - const time = new Date(); - const expiredValue = Cookies.get("time_refresh"); // Assuming 'time_refresh' contains `expired` - - if (expiredValue) { - const expired = new Date(expiredValue); // Ensure valid Date object - if (time.getTime() >= expired.getTime()) { - const url = `${baseURL}/signin`; - const data = { - grant_type: "refresh_token", - client_id: "mediahub-app", - refresh_token: Cookies.get("refresh_token") || "", // Fallback to empty string if undefined - }; - - const response = await axios - .post(url, qs.stringify(data)) - .catch((error) => error.response); - - if (response?.status === 401) { - Object.keys(Cookies.get() || {}).forEach((cookieName) => { - Cookies.remove(cookieName); - }); - // window.location.href = "/"; - } else { - const { access_token, refresh_token } = response?.data || {}; - const dateTime = new Date(); - const newTime = dateTime.getTime() + 10 * 60 * 1000; - Cookies.set("access_token", access_token, { expires: 1 }); - Cookies.set("refresh_token", refresh_token, { expires: 1 }); - Cookies.set("time_refresh", new Date(newTime).toISOString(), { - expires: 1, - }); - } - } - } - return req; -}); - -export default axiosInterceptor; diff --git a/service/agenda-setting/agenda-setting.ts b/service/agenda-setting/agenda-setting.ts index d6c34d98..0f90c2a8 100644 --- a/service/agenda-setting/agenda-setting.ts +++ b/service/agenda-setting/agenda-setting.ts @@ -1,18 +1,19 @@ -import { getAPIInterceptor, postAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service"; + export async function getAgendaSettingsById(id: any) { const url = `agenda-settings?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getAgendaSettingsList(year = "", month = "", type = "") { const url = `agenda-settings/list?year=${year}&month=${month}&type=${type}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function saveAgendaSettings(data: any) { const url = `agenda-settings`; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function getPlanningDailyByTypeId( @@ -25,12 +26,12 @@ export async function getPlanningDailyByTypeId( const url = `planning/pagination/daily?enablePage=1&time=1&size=${size}&page=${page}&date=${date}&typeId=${typeId}${ parentId ? `&parentId=${parentId}` : "" }`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getMonthlyPlanList(dates: any, typeId: number) { const url = `planning/monthly/list?date=${dates}&typeId=${typeId}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getWeeklyPlanList( @@ -39,12 +40,12 @@ export async function getWeeklyPlanList( isMonthly = false ) { const url = `planning/weekly/list?date=${dates}&typeId=${typeId}&isMonthly=${isMonthly}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getWeeklyPlanListByParentId(id: string, typeId: number) { const url = `planning/weekly/list?parentId=${id}&typeId=${typeId}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getPlanningPagination( @@ -56,12 +57,12 @@ export async function getPlanningPagination( parentId = "" ) { const url = `planning/pagination?enablePage=1&size=${size}&page=${page}&title=${title}&typeId=${typeId}&time=${time}&parentId=${parentId}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function savePlanning(data: any) { const url = "planning"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function getPlanningMonthlyPerSocmed( @@ -71,7 +72,7 @@ export async function getPlanningMonthlyPerSocmed( parentId = "" ) { const url = `planning/socmed/monthly?month=${month}&year=${year}&typeId=${typeId}&parentId=${parentId}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getPlanningDailyMedsosByPlatform( @@ -81,5 +82,5 @@ export async function getPlanningDailyMedsosByPlatform( platformTypeId: string ) { const url = `planning/pagination/daily?enablePage=1&size=${size}&page=${page}&date=${date}&typeId=2&platformTypeId=${platformTypeId}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } diff --git a/service/auth.ts b/service/auth.ts index 2c01c2e7..476c2bb1 100644 --- a/service/auth.ts +++ b/service/auth.ts @@ -1,43 +1,33 @@ -import { - getAPI, - getAPIInterceptor, - postAPI, - postAPIInterceptor, - postAPIWithJson, -} from "../config/api"; import { getAPIDummy } from "./http-config/axiosCustom"; - +import { httpPost } from "./http-config/http-base-service"; import { + httpGetInterceptor, httpGetInterceptorWithToken, httpPostInterceptor, } from "./http-config/http-interceptor-service"; -export async function setLogin(data: any) { +export async function login(data: any) { const pathUrl = "signin"; - return postAPI(pathUrl, data); + return httpPost(pathUrl, data); } export async function getProfile(token: any) { const url = "users/info"; - return getAPI(url, token); + return httpGetInterceptorWithToken(url, token); } export async function getInfoProfile() { const url = "users/info"; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function setupPassword(data: any) { const url = "setup-password"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function saveUser(data: any) { const url = "users/save"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } -export async function userInfo(token: any) { - const pathUrl = `users/info`; - return await httpGetInterceptorWithToken(pathUrl, token); -} diff --git a/service/blog/blog.ts b/service/blog/blog.ts index c2aa7da2..429598f7 100644 --- a/service/blog/blog.ts +++ b/service/blog/blog.ts @@ -1,6 +1,4 @@ -import { title } from "process"; -import { httpGetInterceptor } from "../http-config/http-interceptor-service"; -import { getAPIInterceptor, postAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service"; export async function paginationBlog( size: number, @@ -14,15 +12,15 @@ export async function paginationBlog( export async function postBlog(data: any) { const url = "blog"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function getBlog(id: any) { const url = `blog/${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function uploadThumbnailBlog(id: any, data: any) { const url = `blog/${id}/thumbnail`; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } diff --git a/service/communication/communication.ts b/service/communication/communication.ts index 17937f4f..f1f7770a 100644 --- a/service/communication/communication.ts +++ b/service/communication/communication.ts @@ -1,4 +1,3 @@ -import { getAPIInterceptor, postAPIInterceptor } from "@/config/api"; import { httpGetInterceptor, httpPostInterceptor, @@ -55,20 +54,20 @@ export async function saveTicketing(data: any) { export async function getTicketingInternalDetail(id: any) { const url = `ticketing/internal?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getTicketingInternalDiscussion(id: any) { const url = `ticketing/internal/discussion?ticketId=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function saveTicketInternalReply(data: any) { const url = "ticketing/internal/discussion"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function getTicketingDetail(id: any) { const url = `ticketing?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } diff --git a/service/content/ai.ts b/service/content/ai.ts index f8f8185c..4ab51b78 100644 --- a/service/content/ai.ts +++ b/service/content/ai.ts @@ -1,4 +1,4 @@ -import { getAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor } from "../http-config/http-interceptor-service"; import { httpGet, httpPost } from "../http-config/nulisAIApi"; export async function generateDataArticle(data: any) { @@ -102,10 +102,10 @@ export async function generateDataBulkArticle(data: any) { export async function listNulisAI(page: any, limit: any) { const url = `media/nulis-ai/pagination?enablePage=1&page=${page}&size=${limit}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function detailMediaNulis(id: any) { const url = `media/nulis-ai?id=${id}`; - return getAPIInterceptor({ url }); + return httpGetInterceptor({ url }); } diff --git a/service/content/content.ts b/service/content/content.ts index b3ba55c4..835e1a46 100644 --- a/service/content/content.ts +++ b/service/content/content.ts @@ -1,5 +1,4 @@ -import { getAPI, getAPIInterceptor, postAPIInterceptor } from "@/config/api"; -import { httpGetInterceptor } from "../http-config/http-interceptor-service"; +import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service"; // export async function listDataAll( // isForSelf, @@ -19,7 +18,7 @@ import { httpGetInterceptor } from "../http-config/http-interceptor-service"; // }&endDate=${ // endDate == undefined ? "" : endDate // }&needApprovalFromLevel=${needApprovalFromLevel}`; -// return getAPIInterceptor({ url }); +// return httpGetInterceptor({ url }); // } export async function listDataAll( @@ -37,7 +36,7 @@ export async function listDataAll( endDate: any, title: string = "" ) { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/list?enablePage=1&sortBy=createdAt&sort=desc&size=${limit}&page=${page}&isForSelf=${isForSelf}&isApproval=${isApproval}&typeId=${fileTypeFilter}&statusId=${statusFilter}&needApprovalFromLevel=${needApprovalFromLevel}&title=${title}` ); } @@ -56,7 +55,7 @@ export async function listDataImage( endDate: any, title: string = "" ) { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/list?enablePage=1&sortBy=createdAt&sort=desc&size=${limit}&page=${page}&typeId=1&isForSelf=${isForSelf}&isApproval=${isApproval}&categoryId=${categoryFilter}&statusId=${statusFilter}&needApprovalFromLevel=${needApprovalFromLevel}&creatorUserLevelName=${source}&creatorName=${creator}&startDate=${startDate}&endDate=${endDate}&title=${title}` ); } @@ -75,7 +74,7 @@ export async function listDataVideo( endDate: any, title: string = "" ) { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/list?enablePage=1&sortBy=createdAt&sort=desc&size=${limit}&page=${page}&typeId=2&isForSelf=${isForSelf}&isApproval=${isApproval}&categoryId=${categoryFilter}&statusId=${statusFilter}&needApprovalFromLevel=${needApprovalFromLevel}&creatorUserLevelName=${source}&creatorName=${creator}&startDate=${startDate}&endDate=${endDate}&title=${title}` ); } @@ -94,7 +93,7 @@ export async function listDataTeks( endDate: any, title: string = "" ) { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/list?enablePage=1&sortBy=createdAt&sort=desc&size=${limit}&page=${page}&typeId=3&isForSelf=${isForSelf}&isApproval=${isApproval}&categoryId=${categoryFilter}&statusId=${statusFilter}&needApprovalFromLevel=${needApprovalFromLevel}&creatorUserLevelName=${source}&creatorName=${creator}&startDate=${startDate}&endDate=${endDate}&title=${title}` ); } @@ -113,7 +112,7 @@ export async function listDataAudio( endDate: any, title: string = "" ) { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/list?enablePage=1&sortBy=createdAt&sort=desc&size=${limit}&page=${page}&typeId=4&isForSelf=${isForSelf}&isApproval=${isApproval}&categoryId=${categoryFilter}&statusId=${statusFilter}&needApprovalFromLevel=${needApprovalFromLevel}&creatorUserLevelName=${source}&creatorName=${creator}&startDate=${startDate}&endDate=${endDate}&title=${title}` ); } @@ -130,48 +129,48 @@ export async function listSPIT( } export async function listNulisAI(limit: any, page: any, title: string = "") { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/nulis-ai/pagination?enablePage=1&page=${page}&size=${limit}&title=${title}` ); } export async function getTagsBySubCategoryId(subCategory: any) { - return await getAPIInterceptor( + return await httpGetInterceptor( `media/tags/list?subCategoryId=${subCategory}` ); } export async function listEnableCategory(type: any) { const url = `media/categories/list/enable?enablePage=0&sort=desc&sortBy=id&type=${type}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function listCategory(type: any) { const url = `media/categories/list/publish?enablePage=0&sort=desc&sortBy=id&categoryId=${type}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getTags() { const url = "media/tags/list"; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function createMedia(data: any) { const url = "media"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function uploadThumbnail(id: any, data: any) { const url = `media/upload?id=${id}&operation=thumbnail`; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function detailSPIT(id: any) { const url = `media/spit?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function convertSPIT(data: any) { const url = "media/spit/convert"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } diff --git a/service/contest/contest.ts b/service/contest/contest.ts index a312d3dc..08b72e64 100644 --- a/service/contest/contest.ts +++ b/service/contest/contest.ts @@ -1,4 +1,3 @@ -import { getAPIInterceptor } from "@/config/api"; import { httpGetInterceptor, httpPostInterceptor, @@ -21,5 +20,5 @@ export async function createTask(data: any) { export async function getContestById(id: any, pages = 0) { const url = `contest?id=${id}&page=${pages}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } diff --git a/service/curated-content/curated-content.ts b/service/curated-content/curated-content.ts index af1628f4..6d558bd6 100644 --- a/service/curated-content/curated-content.ts +++ b/service/curated-content/curated-content.ts @@ -1,6 +1,6 @@ -import { getAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor } from "../http-config/http-interceptor-service"; export async function detailMedia(id: any) { const url = `media?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } diff --git a/service/login-services.ts b/service/login-services.ts index 6086b2cd..fa4a5281 100644 --- a/service/login-services.ts +++ b/service/login-services.ts @@ -1,7 +1,5 @@ -import { getAPI, getAPIInterceptor } from "@/config/api"; import { httpGet, httpPost } from "./http-config/http-base-service"; import { - httpGetInterceptor, httpGetInterceptorWithToken, } from "./http-config/http-interceptor-service"; diff --git a/service/media-tracking/media-tracking.ts b/service/media-tracking/media-tracking.ts index 078c131f..a1469fc4 100644 --- a/service/media-tracking/media-tracking.ts +++ b/service/media-tracking/media-tracking.ts @@ -1,6 +1,6 @@ -import { getAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor } from "../http-config/http-interceptor-service"; export async function getMediaTrackingMonitoring(page: number, size: number) { const url = `cekmedsos/monitoring/pagination?page=${page}&size=${size}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } diff --git a/service/notifications/notifications.ts b/service/notifications/notifications.ts index 83ad0c9b..f3752a53 100644 --- a/service/notifications/notifications.ts +++ b/service/notifications/notifications.ts @@ -1,6 +1,6 @@ -import { getAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor } from "../http-config/http-interceptor-service"; export async function getNotifications(page = 0, pageSize = 10) { const url = `notification/list?enablePage=1&page=${page}&pageSize=${pageSize}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } diff --git a/service/planning/planning.ts b/service/planning/planning.ts index b80d32c3..cbdcba2f 100644 --- a/service/planning/planning.ts +++ b/service/planning/planning.ts @@ -1,5 +1,4 @@ -import { getAPIInterceptor, postAPIInterceptor } from "@/config/api"; -import { httpGetInterceptor } from "../http-config/http-interceptor-service"; +import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service"; export async function getPlanningSentPagination( size: number, @@ -14,10 +13,10 @@ export async function getPlanningSentPagination( export async function getPlanningById(id: any) { const url = `planning?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function publishPlanning(data: any) { const url = "planning/publish"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } diff --git a/service/schedule/schedule.ts b/service/schedule/schedule.ts index 182c712b..4387fa8a 100644 --- a/service/schedule/schedule.ts +++ b/service/schedule/schedule.ts @@ -1,7 +1,5 @@ -import { title } from "process"; -import { httpGetInterceptor } from "../http-config/http-interceptor-service"; -import { type } from "os"; -import { getAPI, getAPIInterceptor, postAPIInterceptor } from "@/config/api"; +import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service"; +import { httpGet } from "../http-config/http-base-service"; export async function paginationSchedule( size: number, @@ -16,31 +14,31 @@ export async function paginationSchedule( export async function postSchedule(data: any) { const url = "schedule"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function detailSchedule(id: any) { const url = `public/schedule?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function listScheduleTodayPublic(group = null) { const url = `public/schedule/today?group=${group}`; - return getAPI( url, null ); + return httpGet( url, null ); } export async function listScheduleNextPublic(group = null) { const url = `public/schedule/next-activity?group=${group}`; - return getAPI( url, null ); + return httpGet( url, null ); } export async function listSchedulePrevPublic(group = null) { const url = `public/schedule/prev-activity?group=${group}`; - return getAPI( url, null ); + return httpGet( url, null ); } export async function listSchedule(group = null) { const url = `public/schedule/list?group=${group}`; - return getAPI( url, null ); + return httpGet( url, null ); } diff --git a/service/tableau/tableau-service.ts b/service/tableau/tableau-service.ts index 299bd206..a81649b0 100644 --- a/service/tableau/tableau-service.ts +++ b/service/tableau/tableau-service.ts @@ -1,50 +1,6 @@ -"use client"; -import axios from "axios"; -import Cookies from "js-cookie"; -import qs from "qs"; - -import { data } from "@/app/[locale]/(protected)/charts/rechart/charts-rechart-bar/data"; -import { url } from "inspector"; - -const baseURL = "https://netidhub.com/api/"; -const tokenAuth = Cookies.get("access_token") - ? Cookies.get("access_token") - : null; -import { getAPIInterceptor } from "@/config/api"; -import axiosInterceptor from "@/config/axiosInterceptor"; - -export async function postAPIInterceptorTableau(url: string, data?: any) { - const response = await axiosInterceptor - .post(url, data) - .catch((error) => error.response); - - if (response?.status === 401) { - Object.keys(Cookies.get()).forEach((cookieName) => { - Cookies.remove(cookieName); - }); - window.location.href = "/"; - } else if (response?.status > 300 && response?.status !== 401) { - return { - error: true, - message: response?.data?.message, - data: null, - }; - } else if (response?.data?.success) { - return { - error: false, - message: "success", - data: response?.data, - }; - } - - return { - error: true, - message: response?.data?.message, - data: null, - }; -} +import { httpPostInterceptor } from "../http-config/http-interceptor-service"; export async function generateTicket() { const url = "/admin/tableau-ticket"; - return postAPIInterceptorTableau(url); + return httpPostInterceptor(url, null); } diff --git a/service/task.ts b/service/task.ts index be3908ff..0c3fecc2 100644 --- a/service/task.ts +++ b/service/task.ts @@ -1,11 +1,6 @@ import { title } from "process"; import { - deleteAPIInterceptor, - getAPIInterceptor, - postAPI, - postAPIInterceptor, -} from "../config/api"; -import { + httpDeleteInterceptor, httpGetInterceptor, httpPostInterceptor, } from "./http-config/http-interceptor-service"; @@ -23,7 +18,7 @@ export async function listTask( taskType: string ) { const url = `assignment/list?enablePage=1&size=${size}&page=${page}&title=${title}&taskType=${taskType}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } // export async function createTask(data: any) { @@ -33,70 +28,70 @@ export async function listTask( export async function createTask(data: any) { const pathUrl = "assignment"; - return postAPIInterceptor(pathUrl, data); + return httpPostInterceptor(pathUrl, data); } export async function getTask(id: any) { const url = `/assignment?id=${id}`; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function forwardTask(data: any) { const url = "assignment/forward"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function finishTask(id: any) { const url = `assignment/finish?id=${id}`; - return postAPIInterceptor(url, id); + return httpPostInterceptor(url, id); } export async function deleteTask(id: any) { const url = `assignment?id=${id}`; - return deleteAPIInterceptor(url, id); + return httpDeleteInterceptor(url); } export async function getUserLevelForAssignments() { const url = "/users/user-levels/assignment"; - return getAPIInterceptor(url); + return httpGetInterceptor(url); } export async function getAssignmentResponseList(id: any) { const url = `assignment/response?assignmentId=${id}`; - return getAPIInterceptor({ url }); + return httpGetInterceptor({ url }); } export async function createAssignmentResponse(data: any) { const url = "assignment/response"; - return postAPIInterceptor(url, data); + return httpPostInterceptor(url, data); } export async function deleteAssignmentResponse(id: any) { const url = `assignment/response?id=${id}`; - return deleteAPIInterceptor(url, id); + return httpDeleteInterceptor(url); } export async function getAcceptance(id: any, isAccept: any) { const url = `assignment/acceptance?id=${id}&isAccept=${isAccept}`; - return getAPIInterceptor({ url }); + return httpGetInterceptor({ url }); } export async function acceptAssignment(id: any, isAccept: any) { const url = `assignment/acceptance?id=${id}`; - return postAPIInterceptor(url, id); + return httpPostInterceptor(url, id); } export async function postFinishAcceptance(id: any) { const url = `assignment/finish-acceptance?id=${id}`; - return postAPIInterceptor(url, id); + return httpPostInterceptor(url, id); } export async function getAcceptanceAssignmentStatus(id: any) { const url = `assignment/acceptance/status?id=${id}`; - return getAPIInterceptor({ url }); + return httpGetInterceptor({ url }); } export async function getListAttachment(assignmentId: any, isForCreator: any) { const url = `media/list?&enablePage=0&assignmentId=${assignmentId}&isForAdmin=${isForCreator}`; - return getAPIInterceptor({ url }); + return httpGetInterceptor({ url }); }