Files
hipmi/src/app_modules/donasi/lib/api_donasi.ts
Bagasbanuna02 1f1cca3520 fix: donasi
deskripsi:
- fix perubahan use server menjadi API
src/app/api/donasi/kabar/[id]/list/route.ts
src/app/dev/(user)/donasi/kabar/daftar/[id]/page.tsx
src/app/dev/(user)/donasi/kabar/rekap/[id]/page.tsx
src/app_modules/donasi/_ui/kabar/ui_daftar_kabar.tsx
src/app_modules/donasi/_ui/kabar/ui_rekap_kabar.tsx
src/app_modules/donasi/_view/kabar/view_daftar_kabar.tsx
src/app_modules/donasi/_view/kabar/view_rekap_kabar.tsx
src/app_modules/donasi/component/card_view/ui_card_kabar.tsx
src/app_modules/donasi/lib/api_donasi.ts

No issue
2025-06-11 10:54:45 +08:00

407 lines
12 KiB
TypeScript

export const apiGetAllDonasi = async (path?: string) => {
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) return await token.json().catch(() => null);
const response = await fetch(`/api/new/donasi${path ? path : ""}`, {
headers: {
"Content-Type": "application/json",
Accept: "application/json",
"Access-Control-Allow-Origin": "*",
Authorization: `Bearer ${token}`,
},
});
return await response.json().catch(() => null);
};
export const apiGetMasterDonasi = async (path?: string) => {
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) return await token.json().catch(() => null);
const response = await fetch(`/api/new/donasi/master${path ? path : ""}`, {
headers: {
"Content-Type": "application/json",
Accept: "application/json",
"Access-Control-Allow-Origin": "*",
Authorization: `Bearer ${token}`,
},
});
return await response.json().catch(() => null);
};
export const apiGetAllDonasiSaya = async (path?: string) => {
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) return await token.json().catch(() => null);
const response = await fetch(`/api/new/donasi/invoice${path ? path : ""}`, {
headers: {
"Content-Type": "application/json",
Accept: "application/json",
"Access-Control-Allow-Origin": "*",
Authorization: `Bearer ${token}`,
},
});
return await response.json().catch(() => null);
};
export const apiGetOneDonasiById = async (path: string, kategori: string) => {
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) return await token.json().catch(() => null);
// const response = await fetch(`/api/new/donasi/${path}?cat=${kategori}`, {
const response = await fetch(`/api/donasi/${path}?cat=${kategori}`, {
headers: {
"Content-Type": "application/json",
Accept: "application/json",
"Access-Control-Allow-Origin": "*",
Authorization: `Bearer ${token}`,
},
});
return await response.json().catch(() => null);
};
export const apiGetDonasiCeritaPenggalang = async ({ id }: { id: string }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/cerita-penggalang`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi cerita penggalang",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi cerita penggalang"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi cerita penggalang", error);
throw error; // Re-throw the error to handle it in the calling function
}
};
export const apiGetTemporaryCreate = async ({ id }: { id: string }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/temporary-create`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi temporary create",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi temporary create"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi temporary create", error);
throw error; // Re-throw the error to handle it in the calling function
}
};
export const apiGetDonasiInvoiceById = async ({ id }: { id: string }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/invoice`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi invoice",
response.statusText,
errorData
);
throw new Error(errorData?.message || "Failed to get donasi invoice");
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi invoice", error);
throw error; // Re-throw the error to handle it in the calling function
}
};
export const apiGetCountDonatur = async ({ id }: { id: string }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/invoice/count`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi invoice count",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi invoice count"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi invoice count", error);
throw error; // Re-throw the error to handle it in the calling function
}
};
export const apiGetDonasiKabarById = async ({ id }: { id: string }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/kabar/${id}`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi kabar",
response.statusText,
errorData
);
throw new Error(errorData?.message || "Failed to get donasi kabar");
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi kabar", error);
throw error; // Re-throw the error to handle it in the calling function
}
};
export const apiGetDonasiPenggalangDanaByUserId = async ({ id }: { id: string }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/penggalang-dana`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi penggalang dana",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi penggalang dana"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi penggalang dana", error);
throw error; // Re-throw the error to handle it in the calling function
}
}
export const apiGetDonasiPencairanDanaById = async ({ id, page }: { id: string, page: number }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/pencairan-dana?page=${page}`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi pencairan dana",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi pencairan dana"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi pencairan dana", error);
throw error; // Re-throw the error to handle it in the calling function
}
}
export const apiGetDonasiListDonaturById = async ({ id, page }: { id: string, page: number }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/${id}/donatur?page=${page}`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi list donatur",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi list donatur"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi list donatur", error);
throw error; // Re-throw the error to handle it in the calling function
}
}
export const apiGetDonasiListKabarById = async ({ id, page }: { id: string, page: number }) => {
try {
// Fetch token from cookie
const { token } = await fetch("/api/get-cookie").then((res) => res.json());
if (!token) {
console.error("No token found");
return null;
}
const response = await fetch(`/api/donasi/kabar/${id}/list?page=${page}`, {
method: "GET",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
const errorData = await response.json().catch(() => null);
console.error(
"Failed to get donasi list kabar",
response.statusText,
errorData
);
throw new Error(
errorData?.message || "Failed to get donasi list kabar"
);
}
// Return the JSON response
const data = await response.json();
return data;
} catch (error) {
console.error("Error get donasi list kabar", error);
throw error; // Re-throw the error to handle it in the calling function
}
}