feat(FE-177): Integrate API sales order and fixing sales order initial state

This commit is contained in:
randy-ar
2025-11-17 15:59:31 +07:00
parent d3c4706d87
commit a9bdb6c36e
9 changed files with 277 additions and 308 deletions
+34 -31
View File
@@ -20,7 +20,7 @@ const createDummyResponse = <T>(data: T): BaseApiResponse<T> => ({
data: data,
});
export class MarketingService extends BaseApiService<
export class SalesOrderService extends BaseApiService<
Marketing,
CreateSalesOrderPayload,
UpdateSalesOrderPayload
@@ -29,40 +29,40 @@ export class MarketingService extends BaseApiService<
super(basePath);
}
/**
* Override: Mengambil semua data Marketing dari dummyMarketings
*/
async getAllFetcher(endpoint: string): Promise<BaseApiResponse<Marketing[]>> {
// Simulasi delay jaringan
await sleep(500);
// /**
// * Override: Mengambil semua data Marketing dari dummyMarketings
// */
// async getAllFetcher(endpoint: string): Promise<BaseApiResponse<Marketing[]>> {
// // Simulasi delay jaringan
// await sleep(500);
// Filter data marketing yang valid (jika menggunakan BaseMarketing[])
const data = dummyMarketings as Marketing[];
// // Filter data marketing yang valid (jika menggunakan BaseMarketing[])
// const data = dummyMarketings as Marketing[];
return createDummyResponse<Marketing[]>(data);
}
// return createDummyResponse<Marketing[]>(data);
// }
/**
* Override: Mengambil satu data Marketing berdasarkan ID dari dummyMarketings
*/
async getSingle(id: number): Promise<BaseApiResponse<Marketing> | undefined> {
// Simulasi delay jaringan
await sleep(300);
// /**
// * Override: Mengambil satu data Marketing berdasarkan ID dari dummyMarketings
// */
// async getSingle(id: number): Promise<BaseApiResponse<Marketing> | undefined> {
// // Simulasi delay jaringan
// await sleep(300);
const foundData = dummyMarketings.find((m) => m.id == id);
// const foundData = dummyMarketings.find((m) => m.id == id);
if (foundData) {
// Data ditemukan, kembalikan respons sukses
return createDummyResponse<Marketing>(foundData as Marketing);
} else {
// Data tidak ditemukan, simulasi respons error
return {
code: 404,
status: 'error',
message: 'Marketing data not found (MOCK)',
};
}
}
// if (foundData) {
// // Data ditemukan, kembalikan respons sukses
// return createDummyResponse<Marketing>(foundData as Marketing);
// } else {
// // Data tidak ditemukan, simulasi respons error
// return {
// code: 404,
// status: 'error',
// message: 'Marketing data not found (MOCK)',
// };
// }
// }
/**
* Approve single marketing data
@@ -111,4 +111,7 @@ export class MarketingService extends BaseApiService<
}
}
export const MarketingApi = new MarketingService('/marketing/sales-orders');
export const SalesOrderApi = new SalesOrderService('/marketing/sales-orders');
export const MarketingApi = new BaseApiService<Marketing, unknown, unknown>(
'/marketing'
);