refactor(FE): Move Movement FormData into API service

This commit is contained in:
rstubryan
2026-01-02 10:00:14 +07:00
parent 6a3d2c0dcd
commit 1c77deeee7
3 changed files with 51 additions and 23 deletions
+30 -2
View File
@@ -1,4 +1,5 @@
import { BaseApiService } from '@/services/api/base';
import { BaseApiResponse } from '@/types/api/api-general';
import {
CreateProductWarehousePayload,
ProductWarehouse,
@@ -20,11 +21,38 @@ export const ProductWarehouseApi = new BaseApiService<
UpdateProductWarehousePayload
>('/inventory/product-warehouses');
export const MovementApi = new BaseApiService<
export class MovementApiService extends BaseApiService<
Movement,
CreateMovementPayload,
unknown
>('/inventory/transfers');
> {
constructor(basePath: string) {
super(basePath);
}
async createMovement(
payload: CreateMovementPayload
): Promise<BaseApiResponse<Movement> | undefined> {
const formData = new FormData();
// Append data as JSON string
formData.append('data', JSON.stringify(payload.data));
// Append documents if any
if (payload.documents && payload.documents.length > 0) {
payload.documents.forEach((file) => {
formData.append('documents', file);
});
}
return await this.customRequest<BaseApiResponse<Movement>>('', {
method: 'POST',
payload: formData as unknown as Record<string, unknown>,
});
}
}
export const MovementApi = new MovementApiService('/inventory/transfers');
export const InventoryAdjustmentApi = new BaseApiService<
InventoryAdjustment,