mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-21 22:05:45 +00:00
refactor(FE-177-166-167): separate table repeater component and adjust data types with new API Payload
This commit is contained in:
@@ -9,6 +9,17 @@ import {
|
||||
UpdateSalesOrderPayload,
|
||||
} from '@/types/api/marketing/marketing';
|
||||
|
||||
/**
|
||||
* 💡 Helper untuk membuat respons dummy
|
||||
* @param data Data yang akan dimasukkan ke dalam body respons
|
||||
*/
|
||||
const createDummyResponse = <T>(data: T): BaseApiResponse<T> => ({
|
||||
code: 200,
|
||||
status: 'success',
|
||||
message: 'Data retrieved successfully (MOCK)',
|
||||
data: data,
|
||||
});
|
||||
|
||||
export class MarketingService extends BaseApiService<
|
||||
Marketing,
|
||||
CreateSalesOrderPayload,
|
||||
@@ -18,6 +29,41 @@ 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);
|
||||
|
||||
// Filter data marketing yang valid (jika menggunakan BaseMarketing[])
|
||||
const data = dummyMarketings as Marketing[];
|
||||
|
||||
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);
|
||||
|
||||
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)',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Approve single marketing data
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user