feat: fixing all service axios

This commit is contained in:
hanif salafi 2025-01-02 00:48:57 +07:00
parent c8c3ed2ee6
commit d7b11b2516
60 changed files with 316 additions and 363 deletions

View File

@ -138,7 +138,7 @@ const CalendarView = ({ categories }: CalendarViewProps) => {
if (response.data && Array.isArray(response.data)) { if (response.data && Array.isArray(response.data)) {
// Transform API data to match CalendarEvent type // 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(), id: item.id.toString(),
title: item.title, title: item.title,
start: new Date(item.startDate), start: new Date(item.startDate),

View File

@ -96,8 +96,8 @@ const EventModal = ({
setIsLoading(true); setIsLoading(true);
try { try {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
const initialExpandedState = response.data.data.list.reduce( const initialExpandedState = response?.data?.data.list.reduce(
(acc: any, polda: any) => { (acc: any, polda: any) => {
acc[polda.id] = false; acc[polda.id] = false;
return acc; return acc;
@ -145,12 +145,12 @@ const EventModal = ({
console.log("Submitted Data:", reqData); console.log("Submitted Data:", reqData);
const response = await saveAgendaSettings(reqData); const response = await saveAgendaSettings(reqData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("AgendaSetting", response.data.data.id, { Cookies.set("AgendaSetting", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -248,8 +248,8 @@ export default function DetailDaily() {
console.log("req =>", reqData); console.log("req =>", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
@ -327,7 +327,7 @@ export default function DetailDaily() {
useEffect(() => { useEffect(() => {
async function initState() { async function initState() {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
} }
initState(); initState();

View File

@ -262,8 +262,8 @@ export default function EditDaily() {
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
@ -341,7 +341,7 @@ export default function EditDaily() {
useEffect(() => { useEffect(() => {
async function initState() { async function initState() {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
} }
initState(); initState();

View File

@ -210,8 +210,8 @@ export default function CreateDaily() {
console.log("req =>", reqData); console.log("req =>", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
@ -289,7 +289,7 @@ export default function CreateDaily() {
useEffect(() => { useEffect(() => {
async function initState() { async function initState() {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
} }
initState(); initState();

View File

@ -122,8 +122,8 @@ export default function DetailMonthly() {
console.log("req", reqData, data.month); console.log("req", reqData, data.month);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -123,8 +123,8 @@ export default function EditMonthly() {
console.log("req", reqData, data.month); console.log("req", reqData, data.month);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -91,8 +91,8 @@ export default function CreateMonthly() {
console.log("req", reqData, data.month); console.log("req", reqData, data.month);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -113,8 +113,8 @@ export default function DetailMonthly() {
console.log("req", reqData); console.log("req", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -113,8 +113,8 @@ export default function EditMonthly() {
console.log("req", reqData); console.log("req", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -112,8 +112,8 @@ export default function CreateMonthly() {
console.log("req", reqData); console.log("req", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -229,8 +229,8 @@ export default function CreateMonthly() {
console.log("req =>", reqData); console.log("req =>", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
@ -258,7 +258,7 @@ export default function CreateMonthly() {
useEffect(() => { useEffect(() => {
async function initState() { async function initState() {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
} }
initState(); initState();

View File

@ -122,8 +122,8 @@ export default function DetailMonthly() {
console.log("req", reqData, data.month); console.log("req", reqData, data.month);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -123,8 +123,8 @@ export default function EditMonthly() {
console.log("req", reqData, data.month); console.log("req", reqData, data.month);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -91,8 +91,8 @@ export default function CreateMonthly() {
console.log("req", reqData, data.month); console.log("req", reqData, data.month);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -113,8 +113,8 @@ export default function DetailMonthly() {
console.log("req", reqData); console.log("req", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -113,8 +113,8 @@ export default function EditMonthly() {
console.log("req", reqData); console.log("req", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -111,8 +111,8 @@ export default function CreateMonthly() {
console.log("req", reqData); console.log("req", reqData);
const response = await savePlanning(reqData); const response = await savePlanning(reqData);
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -86,8 +86,8 @@ const FeedbackForm: React.FC = () => {
console.log("Save Feedback :", userFeedbacks); console.log("Save Feedback :", userFeedbacks);
const response = await postUserFeedback(); const response = await postUserFeedback();
close(); close();
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,
@ -172,20 +171,20 @@ export default function FormBlog() {
console.log("Form Data Submitted:", requestData); console.log("Form Data Submitted:", requestData);
console.log("response", response); console.log("response", response);
if (response.error) { if (response?.error) {
MySwal.fire("Error", response.message, "error"); MySwal.fire("Error", response?.message, "error");
return; return;
} }
const blogId = response.data.data.id; const blogId = response?.data.data.id;
if (blogId && thumbnail) { if (blogId && thumbnail) {
const formMedia = new FormData(); const formMedia = new FormData();
formMedia.append("file", thumbnail); formMedia.append("file", thumbnail);
const responseThumbnail = await uploadThumbnailBlog(blogId, formMedia); const responseThumbnail = await uploadThumbnailBlog(blogId, formMedia);
if (responseThumbnail.error) { if (responseThumbnail?.error) {
MySwal.fire("Error", responseThumbnail.message, "error"); MySwal.fire("Error", responseThumbnail?.message, "error");
return; return;
} }
} }

View File

@ -136,11 +136,11 @@ export default function FormDetailEscalation() {
// Tambahkan balasan baru ke daftar balasan // Tambahkan balasan baru ke daftar balasan
const newReply: replyDetail = { const newReply: replyDetail = {
id: response.data.id, id: response?.data?.id,
message: replyMessage, message: replyMessage,
createdAt: response.data.createdAt, createdAt: response?.data?.createdAt,
messageFrom: response.data.messageFrom, messageFrom: response?.data?.messageFrom,
messageTo: response.data.messageTo, messageTo: response?.data?.messageTo,
}; };
setTicketReply((prevReplies) => [newReply, ...prevReplies]); setTicketReply((prevReplies) => [newReply, ...prevReplies]);

View File

@ -132,11 +132,11 @@ export default function FormDetailInternal() {
// Tambahkan balasan baru ke daftar balasan // Tambahkan balasan baru ke daftar balasan
const newReply: replyDetail = { const newReply: replyDetail = {
id: response.data.id, id: response?.data?.id,
message: replyMessage, message: replyMessage,
createdAt: response.data.createdAt, createdAt: response?.data?.createdAt,
messageFrom: response.data.messageFrom, messageFrom: response?.data?.messageFrom,
messageTo: response.data.messageTo, messageTo: response?.data?.messageTo,
}; };
setTicketReply((prevReplies) => [newReply, ...prevReplies]); setTicketReply((prevReplies) => [newReply, ...prevReplies]);

View File

@ -135,11 +135,11 @@ export default function FormEditInternal() {
// Tambahkan balasan baru ke daftar balasan // Tambahkan balasan baru ke daftar balasan
const newReply: replyDetail = { const newReply: replyDetail = {
id: response.data.id, id: response?.data?.id,
message: replyMessage, message: replyMessage,
createdAt: response.data.createdAt, createdAt: response?.data?.createdAt,
messageFrom: response.data.messageFrom, messageFrom: response?.data?.messageFrom,
messageTo: response.data.messageTo, messageTo: response?.data?.messageTo,
}; };
setTicketReply((prevReplies) => [newReply, ...prevReplies]); setTicketReply((prevReplies) => [newReply, ...prevReplies]);

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,
@ -342,20 +341,20 @@ export default function FormImageAI() {
const response = await createMedia(requestData); const response = await createMedia(requestData);
console.log("Form Data Submitted:", requestData); console.log("Form Data Submitted:", requestData);
if (response.error) { if (response?.error) {
MySwal.fire("Error", response.message, "error"); MySwal.fire("Error", response?.message, "error");
return; return;
} }
const imageId = response.data.data.id; const imageId = response?.data?.data.id;
if (imageId && thumbnail) { if (imageId && thumbnail) {
const formMedia = new FormData(); const formMedia = new FormData();
formMedia.append("file", thumbnail); formMedia.append("file", thumbnail);
const responseThumbnail = await uploadThumbnail(imageId, formMedia); const responseThumbnail = await uploadThumbnail(imageId, formMedia);
if (responseThumbnail.error) { if (responseThumbnail?.error) {
MySwal.fire("Error", responseThumbnail.message, "error"); MySwal.fire("Error", responseThumbnail?.message, "error");
return; return;
} }
} }

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,

View File

@ -1,5 +1,5 @@
"use client"; "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 { useForm, Controller } from "react-hook-form";
import { Input } from "@/components/ui/input"; import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button"; import { Button } from "@/components/ui/button";
@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,
@ -48,6 +47,14 @@ const imageSchema = z.object({
creatorName: z.string().min(1, { message: "Creator diperlukan" }), creatorName: z.string().min(1, { message: "Creator diperlukan" }),
// tags: z.string().min(1, { message: "Judul 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 = { type Category = {
id: string; id: string;
@ -102,6 +109,14 @@ export default function FormImage() {
let fileTypeId = "1"; let fileTypeId = "1";
const [files, setFiles] = useState<FileWithPreview[]>([]);
const { getRootProps, getInputProps } = useDropzone({
onDrop: (acceptedFiles) => {
setFiles(acceptedFiles.map((file) => Object.assign(file)));
},
});
const { const {
control, control,
handleSubmit, handleSubmit,
@ -342,20 +357,20 @@ export default function FormImage() {
const response = await createMedia(requestData); const response = await createMedia(requestData);
console.log("Form Data Submitted:", requestData); console.log("Form Data Submitted:", requestData);
if (response.error) { if (response?.error) {
MySwal.fire("Error", response.message, "error"); MySwal.fire("Error", response?.message, "error");
return; return;
} }
const imageId = response.data.data.id; const imageId = response?.data?.data.id;
if (imageId && thumbnail) { if (imageId && thumbnail) {
const formMedia = new FormData(); const formMedia = new FormData();
formMedia.append("file", thumbnail); formMedia.append("file", thumbnail);
const responseThumbnail = await uploadThumbnail(imageId, formMedia); const responseThumbnail = await uploadThumbnail(imageId, formMedia);
if (responseThumbnail.error) { if (responseThumbnail?.error) {
MySwal.fire("Error", responseThumbnail.message, "error"); MySwal.fire("Error", responseThumbnail?.message, "error");
return; return;
} }
} }
@ -400,6 +415,65 @@ export default function FormImage() {
} }
}; };
const renderFilePreview = (file: FileWithPreview) => {
if (file.type.startsWith("image")) {
return (
<Image
width={48}
height={48}
alt={file.name}
src={URL.createObjectURL(file)}
className=" rounded border p-0.5"
/>
);
} else {
return <Icon icon="tabler:file-description" />;
}
};
const handleRemoveFile = (file: FileWithPreview) => {
const uploadedFiles = files;
const filtered = uploadedFiles.filter((i) => i.name !== file.name);
setFiles([...filtered]);
};
const fileList = files.map((file) => (
<div
key={file.name}
className=" flex justify-between border px-3.5 py-3 my-6 rounded-md"
>
<div className="flex gap-3 items-center">
<div className="file-preview">{renderFilePreview(file)}</div>
<div>
<div className=" text-sm text-card-foreground">{file.name}</div>
<div className=" text-xs font-light text-muted-foreground">
{Math.round(file.size / 100) / 10 > 1000 ? (
<>{(Math.round(file.size / 100) / 10000).toFixed(1)}</>
) : (
<>{(Math.round(file.size / 100) / 10).toFixed(1)}</>
)}
{" kb"}
</div>
</div>
</div>
<Button
size="icon"
color="destructive"
variant="outline"
className=" border-none rounded-full"
onClick={() => handleRemoveFile(file)}
>
<Icon icon="tabler:x" className=" h-5 w-5" />
</Button>
</div>
));
const handleRemoveAllFiles = () => {
setFiles([]);
};
return ( return (
<form onSubmit={handleSubmit(onSubmit)}> <form onSubmit={handleSubmit(onSubmit)}>
<div className="flex lg:flex-row gap-10"> <div className="flex lg:flex-row gap-10">
@ -695,29 +769,44 @@ export default function FormImage() {
)} )}
</div> </div>
<div className="py-3"> <div className="py-3">
<Label>Attachment</Label> <Label>Pilih File</Label>
{/* <Input
<Input
id="fileInput" id="fileInput"
type="file" type="file"
onChange={handleImageChange} onChange={handleImageChange}
/> /> */}
<Fragment>
<div {...getRootProps({ className: "dropzone" })}>
<input {...getInputProps()} />
<div className=" w-full text-center border-dashed border border-default-200 dark:border-default-300 rounded-md py-[52px] flex items-center flex-col">
<CloudUpload className="text-default-300 w-10 h-10" />
<h4 className=" text-2xl font-medium mb-1 mt-3 text-card-foreground/80">
{/* Drop files here or click to upload. */}
Tarik file disini atau klik untuk upload.
</h4>
<div className=" text-xs text-muted-foreground">
( Upload file dengan format .jpg, .jpeg, atau .png. Ukuran maksimal 100mb.)
</div>
</div>
</div>
{files.length ? (
<Fragment>
<div>{fileList}</div>
<div className=" flex justify-between gap-2">
<div className="flex flex-row items-center gap-3 py-3"> <div className="flex flex-row items-center gap-3 py-3">
<Label>Gunakan Watermark</Label> <Label>Gunakan Watermark</Label>
<div className="flex items-center gap-3"> <div className="flex items-center gap-3">
<Switch defaultChecked color="primary" id="c2" /> <Switch defaultChecked color="primary" id="c2" />
</div> </div>
</div> </div>
{preview && ( <Button color="destructive" onClick={handleRemoveAllFiles}>
<div className="mt-3 px-3"> Remove All
<img </Button>
src={preview}
alt="Thumbnail Preview"
className="w-32 h-auto rounded"
/>
</div> </div>
)} </Fragment>
) : null}
</Fragment>
</div> </div>
</div> </div>

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
convertSPIT, convertSPIT,
createMedia, createMedia,

View File

@ -23,7 +23,6 @@ import JoditEditor from "jodit-react";
import { register } from "module"; import { register } from "module";
import { Switch } from "@/components/ui/switch"; import { Switch } from "@/components/ui/switch";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { createTask } from "@/config/api";
import { import {
createMedia, createMedia,
getTagsBySubCategoryId, getTagsBySubCategoryId,

View File

@ -115,8 +115,8 @@ export default function PublishMediahub() {
setIsLoading(true); setIsLoading(true);
try { try {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
const initialExpandedState = response.data.data.list.reduce( const initialExpandedState = response?.data?.data.list.reduce(
(acc: any, polda: any) => { (acc: any, polda: any) => {
acc[polda.id] = false; acc[polda.id] = false;
return acc; return acc;

View File

@ -110,8 +110,8 @@ export default function PublishMedsos() {
setIsLoading(true); setIsLoading(true);
try { try {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
const initialExpandedState = response.data.data.list.reduce( const initialExpandedState = response?.data?.data.list.reduce(
(acc: any, polda: any) => { (acc: any, polda: any) => {
acc[polda.id] = false; acc[polda.id] = false;
return acc; return acc;

View File

@ -112,12 +112,12 @@ export default function FormEvent() {
console.log("Form Data Submitted:", requestData); console.log("Form Data Submitted:", requestData);
const response = await postSchedule(requestData); const response = await postSchedule(requestData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("scheduleId", response.data.data.id, { Cookies.set("scheduleId", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -142,12 +142,12 @@ export default function FormEventUpdate() {
const response = await postSchedule(requestData); const response = await postSchedule(requestData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("scheduleId", response.data.data.id, { Cookies.set("scheduleId", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -149,12 +149,12 @@ export default function FormUpdatePressRelease() {
const response = await postSchedule(requestData); const response = await postSchedule(requestData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("scheduleId", response.data.data.id, { Cookies.set("scheduleId", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -112,12 +112,12 @@ export default function FormPressRelease() {
console.log("Form Data Submitted:", requestData); console.log("Form Data Submitted:", requestData);
const response = await postSchedule(requestData); const response = await postSchedule(requestData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("scheduleId", response.data.data.id, { Cookies.set("scheduleId", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -102,12 +102,12 @@ export default function FormPressConference() {
console.log("Form Data Submitted:", requestData); console.log("Form Data Submitted:", requestData);
const response = await postSchedule(requestData); const response = await postSchedule(requestData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("scheduleId", response.data.data.id, { Cookies.set("scheduleId", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -149,12 +149,12 @@ export default function FormUpdatePressConference() {
const response = await postSchedule(requestData); const response = await postSchedule(requestData);
if (response.error) { if (response?.error) {
error(response.message); error(response?.message);
return false; return false;
} }
Cookies.set("scheduleId", response.data.data.id, { Cookies.set("scheduleId", response?.data?.data.id, {
expires: 1, expires: 1,
}); });

View File

@ -122,8 +122,8 @@ export default function FormTaskDetail() {
setIsLoading(true); setIsLoading(true);
try { try {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
const initialExpandedState = response.data.data.list.reduce( const initialExpandedState = response?.data?.data.list.reduce(
(acc: any, polda: any) => { (acc: any, polda: any) => {
acc[polda.id] = false; acc[polda.id] = false;
return acc; return acc;

View File

@ -122,8 +122,8 @@ export default function FormTaskEdit() {
setIsLoading(true); setIsLoading(true);
try { try {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
const initialExpandedState = response.data.data.list.reduce( const initialExpandedState = response?.data?.data.list.reduce(
(acc: any, polda: any) => { (acc: any, polda: any) => {
acc[polda.id] = false; acc[polda.id] = false;
return acc; return acc;

View File

@ -126,8 +126,8 @@ export default function FormTask() {
setIsLoading(true); setIsLoading(true);
try { try {
const response = await getUserLevelForAssignments(); const response = await getUserLevelForAssignments();
setListDest(response.data.data.list); setListDest(response?.data?.data.list);
const initialExpandedState = response.data.data.list.reduce( const initialExpandedState = response?.data?.data.list.reduce(
(acc: any, polda: any) => { (acc: any, polda: any) => {
acc[polda.id] = false; acc[polda.id] = false;
return acc; return acc;

View File

@ -11,7 +11,7 @@ import { zodResolver } from "@hookform/resolvers/zod";
import { z } from "zod"; import { z } from "zod";
import { cn, setCookiesEncrypt } from "@/lib/utils"; import { cn, setCookiesEncrypt } from "@/lib/utils";
import { Loader2 } from "lucide-react"; import { Loader2 } from "lucide-react";
import { getProfile, setLogin } from "@/service/auth"; import { getProfile, login } from "@/service/auth";
import { toast } from "sonner"; import { toast } from "sonner";
import { Link, useRouter } from "@/components/navigation"; import { Link, useRouter } from "@/components/navigation";
import { warning } from "@/lib/swal"; import { warning } from "@/lib/swal";
@ -49,13 +49,13 @@ const LoginForm = () => {
// Fungsi submit form // Fungsi submit form
const onSubmit: SubmitHandler<LoginFormValues> = async (data) => { const onSubmit: SubmitHandler<LoginFormValues> = async (data) => {
try { try {
const response = await setLogin({ const response = await login({
...data, ...data,
grant_type: "password", grant_type: "password",
client_id: "mediahub-app", client_id: "mediahub-app",
}); });
if (response.error) { if (response?.error) {
toast.error("Username / Password Tidak Sesuai"); toast.error("Username / Password Tidak Sesuai");
} else { } else {
const { access_token } = response.data; const { access_token } = response.data;
@ -86,53 +86,53 @@ const LoginForm = () => {
}); });
warning("Akun Anda tidak dapat digunakan untuk masuk ke MediaHub Polri", "/auth/login"); warning("Akun Anda tidak dapat digunakan untuk masuk ke MediaHub Polri", "/auth/login");
} else { } else {
Cookies.set("home_path", profile.data?.data?.homePath, { Cookies.set("home_path", profile?.data?.data?.homePath, {
expires: 1, expires: 1,
}); });
Cookies.set("profile_picture", profile.data?.data?.profilePictureUrl, { Cookies.set("profile_picture", profile?.data?.data?.profilePictureUrl, {
expires: 1, expires: 1,
}); });
Cookies.set("state", profile.data?.data?.userLevel?.name, { Cookies.set("state", profile?.data?.data?.userLevel?.name, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("uie", profile.data.data?.id, { setCookiesEncrypt("uie", profile?.data?.data?.id, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("urie", profile.data.data?.roleId, { setCookiesEncrypt("urie", profile?.data?.data?.roleId, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("urne", profile.data.data?.role?.name, { setCookiesEncrypt("urne", profile?.data?.data?.role?.name, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("ulie", profile.data.data?.userLevel?.id, { setCookiesEncrypt("ulie", profile?.data?.data?.userLevel?.id, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("uplie", profile.data.data?.userLevel?.parentLevelId, { setCookiesEncrypt("uplie", profile?.data?.data?.userLevel?.parentLevelId, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("ulne", profile.data.data?.userLevel?.levelNumber, { setCookiesEncrypt("ulne", profile?.data?.data?.userLevel?.levelNumber, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("ufne", profile.data.data?.fullname, { setCookiesEncrypt("ufne", profile?.data?.data?.fullname, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("ulnae", profile.data.data?.userLevel?.name, { setCookiesEncrypt("ulnae", profile?.data?.data?.userLevel?.name, {
expires: 1, expires: 1,
}); });
setCookiesEncrypt("uinse", profile.data.data?.instituteId, { setCookiesEncrypt("uinse", profile?.data?.data?.instituteId, {
expires: 1, expires: 1,
}); });
if ( if (
Number(profile.data.data?.roleId) == 2 || Number(profile?.data?.data?.roleId) == 2 ||
Number(profile.data.data?.roleId) == 3 || Number(profile?.data?.data?.roleId) == 3 ||
Number(profile.data.data?.roleId) == 4 || Number(profile?.data?.data?.roleId) == 4 ||
Number(profile.data.data?.roleId) == 9 || Number(profile?.data?.data?.roleId) == 9 ||
Number(profile.data.data?.roleId) == 10 || Number(profile?.data?.data?.roleId) == 10 ||
Number(profile.data.data?.roleId) == 11 || Number(profile?.data?.data?.roleId) == 11 ||
Number(profile.data.data?.roleId) == 12 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"; window.location.href = "/in/welcome";
// router.push('/admin/dashboard'); // router.push('/admin/dashboard');
Cookies.set("status", "login", { Cookies.set("status", "login", {

View File

@ -5,7 +5,6 @@ import qs from "qs";
import axiosInstance from "./axiosInstance"; import axiosInstance from "./axiosInstance";
import axiosInstanceJson from "./axiosInstanceJson"; import axiosInstanceJson from "./axiosInstanceJson";
import axiosInterceptor from "./axiosInterceptor";
import { data } from "@/app/[locale]/(protected)/charts/rechart/charts-rechart-bar/data"; import { data } from "@/app/[locale]/(protected)/charts/rechart/charts-rechart-bar/data";
import { url } from "inspector"; import { url } from "inspector";

View File

@ -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;

View File

@ -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) { export async function getAgendaSettingsById(id: any) {
const url = `agenda-settings?id=${id}`; const url = `agenda-settings?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getAgendaSettingsList(year = "", month = "", type = "") { export async function getAgendaSettingsList(year = "", month = "", type = "") {
const url = `agenda-settings/list?year=${year}&month=${month}&type=${type}`; const url = `agenda-settings/list?year=${year}&month=${month}&type=${type}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function saveAgendaSettings(data: any) { export async function saveAgendaSettings(data: any) {
const url = `agenda-settings`; const url = `agenda-settings`;
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function getPlanningDailyByTypeId( 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}${ const url = `planning/pagination/daily?enablePage=1&time=1&size=${size}&page=${page}&date=${date}&typeId=${typeId}${
parentId ? `&parentId=${parentId}` : "" parentId ? `&parentId=${parentId}` : ""
}`; }`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getMonthlyPlanList(dates: any, typeId: number) { export async function getMonthlyPlanList(dates: any, typeId: number) {
const url = `planning/monthly/list?date=${dates}&typeId=${typeId}`; const url = `planning/monthly/list?date=${dates}&typeId=${typeId}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getWeeklyPlanList( export async function getWeeklyPlanList(
@ -39,12 +40,12 @@ export async function getWeeklyPlanList(
isMonthly = false isMonthly = false
) { ) {
const url = `planning/weekly/list?date=${dates}&typeId=${typeId}&isMonthly=${isMonthly}`; 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) { export async function getWeeklyPlanListByParentId(id: string, typeId: number) {
const url = `planning/weekly/list?parentId=${id}&typeId=${typeId}`; const url = `planning/weekly/list?parentId=${id}&typeId=${typeId}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getPlanningPagination( export async function getPlanningPagination(
@ -56,12 +57,12 @@ export async function getPlanningPagination(
parentId = "" parentId = ""
) { ) {
const url = `planning/pagination?enablePage=1&size=${size}&page=${page}&title=${title}&typeId=${typeId}&time=${time}&parentId=${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) { export async function savePlanning(data: any) {
const url = "planning"; const url = "planning";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function getPlanningMonthlyPerSocmed( export async function getPlanningMonthlyPerSocmed(
@ -71,7 +72,7 @@ export async function getPlanningMonthlyPerSocmed(
parentId = "" parentId = ""
) { ) {
const url = `planning/socmed/monthly?month=${month}&year=${year}&typeId=${typeId}&parentId=${parentId}`; const url = `planning/socmed/monthly?month=${month}&year=${year}&typeId=${typeId}&parentId=${parentId}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getPlanningDailyMedsosByPlatform( export async function getPlanningDailyMedsosByPlatform(
@ -81,5 +82,5 @@ export async function getPlanningDailyMedsosByPlatform(
platformTypeId: string platformTypeId: string
) { ) {
const url = `planning/pagination/daily?enablePage=1&size=${size}&page=${page}&date=${date}&typeId=2&platformTypeId=${platformTypeId}`; const url = `planning/pagination/daily?enablePage=1&size=${size}&page=${page}&date=${date}&typeId=2&platformTypeId=${platformTypeId}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }

View File

@ -1,43 +1,33 @@
import {
getAPI,
getAPIInterceptor,
postAPI,
postAPIInterceptor,
postAPIWithJson,
} from "../config/api";
import { getAPIDummy } from "./http-config/axiosCustom"; import { getAPIDummy } from "./http-config/axiosCustom";
import { httpPost } from "./http-config/http-base-service";
import { import {
httpGetInterceptor,
httpGetInterceptorWithToken, httpGetInterceptorWithToken,
httpPostInterceptor, httpPostInterceptor,
} from "./http-config/http-interceptor-service"; } from "./http-config/http-interceptor-service";
export async function setLogin(data: any) { export async function login(data: any) {
const pathUrl = "signin"; const pathUrl = "signin";
return postAPI(pathUrl, data); return httpPost(pathUrl, data);
} }
export async function getProfile(token: any) { export async function getProfile(token: any) {
const url = "users/info"; const url = "users/info";
return getAPI(url, token); return httpGetInterceptorWithToken(url, token);
} }
export async function getInfoProfile() { export async function getInfoProfile() {
const url = "users/info"; const url = "users/info";
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function setupPassword(data: any) { export async function setupPassword(data: any) {
const url = "setup-password"; const url = "setup-password";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function saveUser(data: any) { export async function saveUser(data: any) {
const url = "users/save"; 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);
}

View File

@ -1,6 +1,4 @@
import { title } from "process"; import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service";
import { httpGetInterceptor } from "../http-config/http-interceptor-service";
import { getAPIInterceptor, postAPIInterceptor } from "@/config/api";
export async function paginationBlog( export async function paginationBlog(
size: number, size: number,
@ -14,15 +12,15 @@ export async function paginationBlog(
export async function postBlog(data: any) { export async function postBlog(data: any) {
const url = "blog"; const url = "blog";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function getBlog(id: any) { export async function getBlog(id: any) {
const url = `blog/${id}`; const url = `blog/${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function uploadThumbnailBlog(id: any, data: any) { export async function uploadThumbnailBlog(id: any, data: any) {
const url = `blog/${id}/thumbnail`; const url = `blog/${id}/thumbnail`;
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }

View File

@ -1,4 +1,3 @@
import { getAPIInterceptor, postAPIInterceptor } from "@/config/api";
import { import {
httpGetInterceptor, httpGetInterceptor,
httpPostInterceptor, httpPostInterceptor,
@ -55,20 +54,20 @@ export async function saveTicketing(data: any) {
export async function getTicketingInternalDetail(id: any) { export async function getTicketingInternalDetail(id: any) {
const url = `ticketing/internal?id=${id}`; const url = `ticketing/internal?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getTicketingInternalDiscussion(id: any) { export async function getTicketingInternalDiscussion(id: any) {
const url = `ticketing/internal/discussion?ticketId=${id}`; const url = `ticketing/internal/discussion?ticketId=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function saveTicketInternalReply(data: any) { export async function saveTicketInternalReply(data: any) {
const url = "ticketing/internal/discussion"; const url = "ticketing/internal/discussion";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function getTicketingDetail(id: any) { export async function getTicketingDetail(id: any) {
const url = `ticketing?id=${id}`; const url = `ticketing?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }

View File

@ -1,4 +1,4 @@
import { getAPIInterceptor } from "@/config/api"; import { httpGetInterceptor } from "../http-config/http-interceptor-service";
import { httpGet, httpPost } from "../http-config/nulisAIApi"; import { httpGet, httpPost } from "../http-config/nulisAIApi";
export async function generateDataArticle(data: any) { export async function generateDataArticle(data: any) {
@ -102,10 +102,10 @@ export async function generateDataBulkArticle(data: any) {
export async function listNulisAI(page: any, limit: any) { export async function listNulisAI(page: any, limit: any) {
const url = `media/nulis-ai/pagination?enablePage=1&page=${page}&size=${limit}`; const url = `media/nulis-ai/pagination?enablePage=1&page=${page}&size=${limit}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function detailMediaNulis(id: any) { export async function detailMediaNulis(id: any) {
const url = `media/nulis-ai?id=${id}`; const url = `media/nulis-ai?id=${id}`;
return getAPIInterceptor({ url }); return httpGetInterceptor({ url });
} }

View File

@ -1,5 +1,4 @@
import { getAPI, getAPIInterceptor, postAPIInterceptor } from "@/config/api"; import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service";
import { httpGetInterceptor } from "../http-config/http-interceptor-service";
// export async function listDataAll( // export async function listDataAll(
// isForSelf, // isForSelf,
@ -19,7 +18,7 @@ import { httpGetInterceptor } from "../http-config/http-interceptor-service";
// }&endDate=${ // }&endDate=${
// endDate == undefined ? "" : endDate // endDate == undefined ? "" : endDate
// }&needApprovalFromLevel=${needApprovalFromLevel}`; // }&needApprovalFromLevel=${needApprovalFromLevel}`;
// return getAPIInterceptor({ url }); // return httpGetInterceptor({ url });
// } // }
export async function listDataAll( export async function listDataAll(
@ -37,7 +36,7 @@ export async function listDataAll(
endDate: any, endDate: any,
title: string = "" 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}` `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, endDate: any,
title: string = "" 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}` `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, endDate: any,
title: string = "" 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}` `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, endDate: any,
title: string = "" 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}` `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, endDate: any,
title: string = "" 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}` `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 = "") { 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}` `media/nulis-ai/pagination?enablePage=1&page=${page}&size=${limit}&title=${title}`
); );
} }
export async function getTagsBySubCategoryId(subCategory: any) { export async function getTagsBySubCategoryId(subCategory: any) {
return await getAPIInterceptor( return await httpGetInterceptor(
`media/tags/list?subCategoryId=${subCategory}` `media/tags/list?subCategoryId=${subCategory}`
); );
} }
export async function listEnableCategory(type: any) { export async function listEnableCategory(type: any) {
const url = `media/categories/list/enable?enablePage=0&sort=desc&sortBy=id&type=${type}`; 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) { export async function listCategory(type: any) {
const url = `media/categories/list/publish?enablePage=0&sort=desc&sortBy=id&categoryId=${type}`; const url = `media/categories/list/publish?enablePage=0&sort=desc&sortBy=id&categoryId=${type}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getTags() { export async function getTags() {
const url = "media/tags/list"; const url = "media/tags/list";
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function createMedia(data: any) { export async function createMedia(data: any) {
const url = "media"; const url = "media";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function uploadThumbnail(id: any, data: any) { export async function uploadThumbnail(id: any, data: any) {
const url = `media/upload?id=${id}&operation=thumbnail`; const url = `media/upload?id=${id}&operation=thumbnail`;
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function detailSPIT(id: any) { export async function detailSPIT(id: any) {
const url = `media/spit?id=${id}`; const url = `media/spit?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function convertSPIT(data: any) { export async function convertSPIT(data: any) {
const url = "media/spit/convert"; const url = "media/spit/convert";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }

View File

@ -1,4 +1,3 @@
import { getAPIInterceptor } from "@/config/api";
import { import {
httpGetInterceptor, httpGetInterceptor,
httpPostInterceptor, httpPostInterceptor,
@ -21,5 +20,5 @@ export async function createTask(data: any) {
export async function getContestById(id: any, pages = 0) { export async function getContestById(id: any, pages = 0) {
const url = `contest?id=${id}&page=${pages}`; const url = `contest?id=${id}&page=${pages}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }

View File

@ -1,6 +1,6 @@
import { getAPIInterceptor } from "@/config/api"; import { httpGetInterceptor } from "../http-config/http-interceptor-service";
export async function detailMedia(id: any) { export async function detailMedia(id: any) {
const url = `media?id=${id}`; const url = `media?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }

View File

@ -1,7 +1,5 @@
import { getAPI, getAPIInterceptor } from "@/config/api";
import { httpGet, httpPost } from "./http-config/http-base-service"; import { httpGet, httpPost } from "./http-config/http-base-service";
import { import {
httpGetInterceptor,
httpGetInterceptorWithToken, httpGetInterceptorWithToken,
} from "./http-config/http-interceptor-service"; } from "./http-config/http-interceptor-service";

View File

@ -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) { export async function getMediaTrackingMonitoring(page: number, size: number) {
const url = `cekmedsos/monitoring/pagination?page=${page}&size=${size}`; const url = `cekmedsos/monitoring/pagination?page=${page}&size=${size}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }

View File

@ -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) { export async function getNotifications(page = 0, pageSize = 10) {
const url = `notification/list?enablePage=1&page=${page}&pageSize=${pageSize}`; const url = `notification/list?enablePage=1&page=${page}&pageSize=${pageSize}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }

View File

@ -1,5 +1,4 @@
import { getAPIInterceptor, postAPIInterceptor } from "@/config/api"; import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service";
import { httpGetInterceptor } from "../http-config/http-interceptor-service";
export async function getPlanningSentPagination( export async function getPlanningSentPagination(
size: number, size: number,
@ -14,10 +13,10 @@ export async function getPlanningSentPagination(
export async function getPlanningById(id: any) { export async function getPlanningById(id: any) {
const url = `planning?id=${id}`; const url = `planning?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function publishPlanning(data: any) { export async function publishPlanning(data: any) {
const url = "planning/publish"; const url = "planning/publish";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }

View File

@ -1,7 +1,5 @@
import { title } from "process"; import { httpGetInterceptor, httpPostInterceptor } from "../http-config/http-interceptor-service";
import { httpGetInterceptor } from "../http-config/http-interceptor-service"; import { httpGet } from "../http-config/http-base-service";
import { type } from "os";
import { getAPI, getAPIInterceptor, postAPIInterceptor } from "@/config/api";
export async function paginationSchedule( export async function paginationSchedule(
size: number, size: number,
@ -16,31 +14,31 @@ export async function paginationSchedule(
export async function postSchedule(data: any) { export async function postSchedule(data: any) {
const url = "schedule"; const url = "schedule";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function detailSchedule(id: any) { export async function detailSchedule(id: any) {
const url = `public/schedule?id=${id}`; const url = `public/schedule?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function listScheduleTodayPublic(group = null) { export async function listScheduleTodayPublic(group = null) {
const url = `public/schedule/today?group=${group}`; const url = `public/schedule/today?group=${group}`;
return getAPI( url, null ); return httpGet( url, null );
} }
export async function listScheduleNextPublic(group = null) { export async function listScheduleNextPublic(group = null) {
const url = `public/schedule/next-activity?group=${group}`; const url = `public/schedule/next-activity?group=${group}`;
return getAPI( url, null ); return httpGet( url, null );
} }
export async function listSchedulePrevPublic(group = null) { export async function listSchedulePrevPublic(group = null) {
const url = `public/schedule/prev-activity?group=${group}`; const url = `public/schedule/prev-activity?group=${group}`;
return getAPI( url, null ); return httpGet( url, null );
} }
export async function listSchedule(group = null) { export async function listSchedule(group = null) {
const url = `public/schedule/list?group=${group}`; const url = `public/schedule/list?group=${group}`;
return getAPI( url, null ); return httpGet( url, null );
} }

View File

@ -1,50 +1,6 @@
"use client"; import { httpPostInterceptor } from "../http-config/http-interceptor-service";
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,
};
}
export async function generateTicket() { export async function generateTicket() {
const url = "/admin/tableau-ticket"; const url = "/admin/tableau-ticket";
return postAPIInterceptorTableau(url); return httpPostInterceptor(url, null);
} }

View File

@ -1,11 +1,6 @@
import { title } from "process"; import { title } from "process";
import { import {
deleteAPIInterceptor, httpDeleteInterceptor,
getAPIInterceptor,
postAPI,
postAPIInterceptor,
} from "../config/api";
import {
httpGetInterceptor, httpGetInterceptor,
httpPostInterceptor, httpPostInterceptor,
} from "./http-config/http-interceptor-service"; } from "./http-config/http-interceptor-service";
@ -23,7 +18,7 @@ export async function listTask(
taskType: string taskType: string
) { ) {
const url = `assignment/list?enablePage=1&size=${size}&page=${page}&title=${title}&taskType=${taskType}`; 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) { // export async function createTask(data: any) {
@ -33,70 +28,70 @@ export async function listTask(
export async function createTask(data: any) { export async function createTask(data: any) {
const pathUrl = "assignment"; const pathUrl = "assignment";
return postAPIInterceptor(pathUrl, data); return httpPostInterceptor(pathUrl, data);
} }
export async function getTask(id: any) { export async function getTask(id: any) {
const url = `/assignment?id=${id}`; const url = `/assignment?id=${id}`;
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function forwardTask(data: any) { export async function forwardTask(data: any) {
const url = "assignment/forward"; const url = "assignment/forward";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function finishTask(id: any) { export async function finishTask(id: any) {
const url = `assignment/finish?id=${id}`; const url = `assignment/finish?id=${id}`;
return postAPIInterceptor(url, id); return httpPostInterceptor(url, id);
} }
export async function deleteTask(id: any) { export async function deleteTask(id: any) {
const url = `assignment?id=${id}`; const url = `assignment?id=${id}`;
return deleteAPIInterceptor(url, id); return httpDeleteInterceptor(url);
} }
export async function getUserLevelForAssignments() { export async function getUserLevelForAssignments() {
const url = "/users/user-levels/assignment"; const url = "/users/user-levels/assignment";
return getAPIInterceptor(url); return httpGetInterceptor(url);
} }
export async function getAssignmentResponseList(id: any) { export async function getAssignmentResponseList(id: any) {
const url = `assignment/response?assignmentId=${id}`; const url = `assignment/response?assignmentId=${id}`;
return getAPIInterceptor({ url }); return httpGetInterceptor({ url });
} }
export async function createAssignmentResponse(data: any) { export async function createAssignmentResponse(data: any) {
const url = "assignment/response"; const url = "assignment/response";
return postAPIInterceptor(url, data); return httpPostInterceptor(url, data);
} }
export async function deleteAssignmentResponse(id: any) { export async function deleteAssignmentResponse(id: any) {
const url = `assignment/response?id=${id}`; const url = `assignment/response?id=${id}`;
return deleteAPIInterceptor(url, id); return httpDeleteInterceptor(url);
} }
export async function getAcceptance(id: any, isAccept: any) { export async function getAcceptance(id: any, isAccept: any) {
const url = `assignment/acceptance?id=${id}&isAccept=${isAccept}`; const url = `assignment/acceptance?id=${id}&isAccept=${isAccept}`;
return getAPIInterceptor({ url }); return httpGetInterceptor({ url });
} }
export async function acceptAssignment(id: any, isAccept: any) { export async function acceptAssignment(id: any, isAccept: any) {
const url = `assignment/acceptance?id=${id}`; const url = `assignment/acceptance?id=${id}`;
return postAPIInterceptor(url, id); return httpPostInterceptor(url, id);
} }
export async function postFinishAcceptance(id: any) { export async function postFinishAcceptance(id: any) {
const url = `assignment/finish-acceptance?id=${id}`; const url = `assignment/finish-acceptance?id=${id}`;
return postAPIInterceptor(url, id); return httpPostInterceptor(url, id);
} }
export async function getAcceptanceAssignmentStatus(id: any) { export async function getAcceptanceAssignmentStatus(id: any) {
const url = `assignment/acceptance/status?id=${id}`; const url = `assignment/acceptance/status?id=${id}`;
return getAPIInterceptor({ url }); return httpGetInterceptor({ url });
} }
export async function getListAttachment(assignmentId: any, isForCreator: any) { export async function getListAttachment(assignmentId: any, isForCreator: any) {
const url = `media/list?&enablePage=0&assignmentId=${assignmentId}&isForAdmin=${isForCreator}`; const url = `media/list?&enablePage=0&assignmentId=${assignmentId}&isForAdmin=${isForCreator}`;
return getAPIInterceptor({ url }); return httpGetInterceptor({ url });
} }