Investment

Add:
- utils/pickFile: pilih extention file sesuai kebutuhan
- utils/formatCurrencyDisplay.ts: tampillan uang 2.500
- api-client/api-investment.ts
- api-storage.ts: api strogre wibudev

Fix:
- Integrasi API pada: Create, Edit, Tampilan status & detail
- Button status dan hapus data juga sudah terintegrasi

### No Issue
This commit is contained in:
2025-09-29 17:42:25 +08:00
parent a474aebb94
commit ccdd7730b2
13 changed files with 907 additions and 195 deletions

View File

@@ -0,0 +1,80 @@
import { apiConfig } from "../api-config";
export async function apiInvestmentCreate({ data }: { data: any }) {
try {
const response = await apiConfig.post(`/mobile/investment`, {
data: data,
});
return response.data;
} catch (error) {
throw error;
}
}
export async function apiInvestmentGetByStatus({
authorId,
status,
}: {
authorId: string;
status: string;
}) {
try {
const response = await apiConfig.get(
`/mobile/investment/${authorId}/${status}`
);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiInvestmentGetById({ id }: { id: string }) {
try {
const response = await apiConfig.get(`/mobile/investment/${id}`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiInvestmentUpdateStatus({
id,
status,
}: {
id: string;
status: "publish" | "draft" | "review" | "reject";
}) {
console.log("[DATA FETCH]", JSON.stringify({ id, status }, null, 2));
try {
const response = await apiConfig.put(`/mobile/investment/${id}/${status}`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiInvestmentDelete({ id }: { id: string }) {
try {
const response = await apiConfig.delete(`/mobile/investment/${id}`);
return response.data;
} catch (error) {
throw error;
}
}
export async function apiInvestmentUpdateData({
id,
data,
}: {
id: string;
data: any;
}) {
try {
const response = await apiConfig.put(`/mobile/investment/${id}`, {
data: data,
});
return response.data;
} catch (error) {
throw error;
}
}