import { AddBankDetailsPayload, GetBankAccountsResponse } from '@interfaces'; import { apiClient } from '@services'; export const addAccountApi = async ( payload: AddBankDetailsPayload | FormData, ): Promise => { let body: any = payload; if ( !(payload instanceof FormData) && typeof payload === 'object' && payload !== null ) { const { passbookImage, ...rest } = payload as AddBankDetailsPayload; if (passbookImage) { const formData = new FormData(); formData.append('accountHolderName', rest.accountHolderName); formData.append('bankName', rest.bankName); formData.append('accountNumber', rest.accountNumber); formData.append('ifscCode', rest.ifscCode); if (rest.branchName) { formData.append('branchName', rest.branchName); } if (rest.isDefault !== undefined) { formData.append('isDefault', String(rest.isDefault)); } if (typeof passbookImage === 'object' && (passbookImage as any).uri) { formData.append('passbookImage', { uri: (passbookImage as any).uri, name: (passbookImage as any).name || 'passbook.jpg', type: (passbookImage as any).type || 'image/jpeg', } as any); } else if (typeof passbookImage === 'string') { formData.append('passbookImage', { uri: passbookImage, name: 'passbook.jpg', type: 'image/jpeg', } as any); } body = formData; } } return await apiClient.post('/bank-accounts', body); }; export const fetchBankAccountsApi = async (): Promise => { return await apiClient.get('/bank-accounts'); };