Files
hipmi-mobile/service/api-client/api-donation.ts
Bagasbanuna02 a980397640 Donation
Add:
- (user)/donation/[id]/(transaction-flow)/[invoiceId]

Fix:
Integrasi dalam alur transaksi
- Buat invoice dan list transaksi

### No Issue
2025-10-07 17:40:54 +08:00

166 lines
3.1 KiB
TypeScript

import { apiConfig } from "../api-config";
export async function apiDonationCreate({
data,
category,
}: {
data: any;
category: "temporary" | "permanent";
}) {
try {
const response = await apiConfig.post(
`/mobile/donation?category=${category}`,
{
data: data,
}
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationGetOne({
id,
category,
}: {
id: string;
category: "temporary" | "permanent";
}) {
try {
const response = await apiConfig.get(
`/mobile/donation/${id}?category=${category}`
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationGetByStatus({
authorId,
status,
}: {
authorId: string;
status: string;
}) {
const authorQuery = `/${authorId}`;
const statusQuery = `/${status}`;
try {
const response = await apiConfig.get(
`/mobile/donation${authorQuery}${statusQuery}`
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationUpdateStatus({
id,
status,
}: {
id: string;
status: "draft" | "review" | "publish" | "reject";
}) {
try {
const response = await apiConfig.put(`/mobile/donation/${id}/${status}`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationDelete({ id }: { id: string }) {
try {
const response = await apiConfig.delete(`/mobile/donation/${id}`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationUpdateData({
id,
data,
category,
}: {
id: string;
data: any;
category: "edit-donation" | "edit-story" | "edit-bank-account";
}) {
try {
const response = await apiConfig.put(
`/mobile/donation/${id}?category=${category}`,
{
data: data,
}
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationGetAll({
category,
authorId,
}: {
category: "beranda" | "my-donation";
authorId?: string;
}) {
const authorQuery = authorId ? `&authorId=${authorId}` : "";
try {
const response = await apiConfig.get(
`/mobile/donation?category=${category}${authorQuery}`
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationFundrising({ id }: { id: string }) {
try {
const response = await apiConfig.get(`/mobile/donation/${id}/fundrising`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationCreateDonatur({
id,
data,
}: {
id: string;
data: any;
}) {
try {
const response = await apiConfig.post(`/mobile/donation/${id}/donatur`, {
data: data,
});
return response.data;
} catch (error) {
throw error;
}
}
export async function apiDonationCreateInvoice({
id,
data,
}: {
id: string;
data: any;
}) {
try {
const response = await apiConfig.post(`/mobile/donation/${id}/invoice`, {
data: data,
});
return response.data;
} catch (error) {
throw error;
}
}