mediahub-fe/service/media-tracking/media-tracking.ts

93 lines
2.5 KiB
TypeScript

import api from "@/src/lib/api";
import {
httpGetInterceptor,
httpPostInterceptor,
} from "../http-config/http-interceptor-service";
export async function getMediaTrackingMonitoring(page: number, size: number) {
const url = `cekmedsos/monitoring/pagination?page=${page}&size=${size}`;
return httpGetInterceptor(url);
}
export async function sendMediaUploadToEmail(data: any) {
const url = "media/public/share-to-email";
return httpPostInterceptor(url, data);
}
export async function mediaTrackingSave(data: any) {
const url = `/media/tracking/monitoring`;
return httpPostInterceptor(url, data);
}
export async function getMediaTracking(
page: any,
title: string = "",
size: any
) {
return httpGetInterceptor(
`/media/tracking/monitoring/pagination?enablePagination=1&size=${size}&page=${page}&title=${title}&sortBy=id&sort=desc`
);
}
// export async function getMediaTracking(data: any) {
// // const url = `/media/tracking/monitoring/pagination`;
// const url = `/media/tracking/monitoring/pagination?enablePagination=1&page=${
// data.page || 0
// }&size=${data?.size || 10}`;
// return httpGetInterceptor(url);
// }
export async function getMediaTrackingResult(data: any) {
// const url = `/media/tracking/monitoring/pagination`;
const url = `/media/tracking/monitoring/results/pagination?trackingId=${
data.id || ""
}`;
return httpGetInterceptor(url);
}
// export async function listDataTracking(size: any, page: any) {
// return await httpGetInterceptor(
// `media/public/list?enablePage=1&sort=desc&size=${size}&page=${page}`
// );
// }
export async function listDataTracking(
size: number,
page: number,
keyword = "",
categoryFilter = "",
statusFilter = ""
) {
return await httpGetInterceptor(
`media/list?isForAdmin=true&title=${keyword}&enablePage=1&sortBy=createdAt&sort=desc&size=${size}&page=${page}&categoryId=${categoryFilter}&statusId=${statusFilter}`
);
}
export async function listDataAllNonPagination(search: string) {
return await httpGetInterceptor(
`media/public/list?enablePage=0&sort=desc&title=${search || ""}`
);
}
export const validateMediaLink = async (
resultId: number,
isRelevant: boolean
) => {
try {
const res = await api.put(
"/media/tracking/monitoring/results/relevant",
{
resultId,
isRelevant,
}
);
return res.data;
} catch (error: any) {
throw new Error(
error?.response?.data?.messages?.[0] ||
"Gagal memperbarui status relevansi"
);
}
};