diff --git a/src/services/api/purchase.ts b/src/services/api/purchase.ts new file mode 100644 index 00000000..2f26c564 --- /dev/null +++ b/src/services/api/purchase.ts @@ -0,0 +1,88 @@ +import { sleep } from '@/lib/helper'; +import { BaseApiService } from './base'; +import { BaseApiResponse } from '@/types/api/api-general'; +import { + CreatePurchaseRequestPayload, + Purchase, + UpdatePurchaseRequestPayload, +} from '@/types/api/purchase/purchase'; + +const GET_ALL_PURCHASE_DUMMY_DATA: BaseApiResponse = { + code: 200, + status: 'success', + message: 'Successfully get all purchase data!', + meta: { + page: 1, + limit: 10, + total_pages: 1, + total_results: 1, + }, + data: [ + { + id: 1, + pr_number: 'PR-001', + po_number: 'PO-001', + po_date: '2024-01-15', + supplier: { + id: 1, + name: 'Supplier A', + address: '123 Main St, Cityville', + account_number: 'ACC-12345', + alias: 'SupA', + category: 'Electronics', + type: 'Local', + phone: '555-1234', + email: 'email@.com', + npwp: '12.345.678.9-012.345', + pic: 'John Doe', + balance: 1000000, + hatchery: 'N/A', + due_date: 30, + created_at: '2024-01-10T10:00:00Z', + updated_at: '2024-01-12T12:00:00Z', + created_user: { + id: 2, + id_user: 2, + email: 'a@email.com', + name: 'Admin User', + }, + }, + credit_term: 30, + due_date: '2024-02-14', + grand_total: 1500000, + deleted_at: null, + created_at: '2024-01-10T10:00:00Z', + updated_at: '2024-01-12T12:00:00Z', + created_by: 2, + created_user: { + id: 2, + id_user: 2, + email: 'a@email.com', + name: 'Admin User', + }, + notes: 'Urgent delivery required', + }, + ], +}; + +export class PurchaseService extends BaseApiService< + Purchase, + CreatePurchaseRequestPayload, + UpdatePurchaseRequestPayload +> { + constructor(basePath: string = '') { + super(basePath); + } + + override async getAllFetcher( + endpoint: string + ): Promise> { + // return await httpClientFetcher>(endpoint); + + await sleep(750); + + return GET_ALL_PURCHASE_DUMMY_DATA; + } +} + +export const PurchaseApi = new PurchaseService('/purchase-requests'); diff --git a/src/services/api/purchasing.ts b/src/services/api/purchasing.ts deleted file mode 100644 index 2ed23193..00000000 --- a/src/services/api/purchasing.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { BaseApiService } from './base'; -import { - CreatePurchaseRequestPayload, - Purchase, - UpdatePurchaseRequestPayload, -} from '@/types/api/purchase/purchase'; - -export const PurchaseApi = new BaseApiService< - Purchase, - CreatePurchaseRequestPayload, - UpdatePurchaseRequestPayload ->('/purchase-requests');