@cranberry-money/shared-services
Version:
Platform-agnostic API services with pure functions and dependency injection. Includes auth, portfolios, instruments, countries, sectors, and more.
45 lines • 1.51 kB
JavaScript
import { BANK_ENDPOINTS } from '@cranberry-money/shared-constants';
let configuredApiClient = null;
export const configureBanks = (apiClient) => {
configuredApiClient = apiClient;
};
const getConfiguredClient = () => {
if (!configuredApiClient) {
throw new Error('Banks service not configured. Call configureBanks(apiClient) before using bank functions.');
}
return configuredApiClient;
};
export const getBankAccounts = (params) => {
const queryParams = {};
if (params?.account) {
queryParams.account = params.account;
}
if (params?.bank_name) {
queryParams.bank_name = params.bank_name;
}
if (params?.account_type) {
queryParams.account_type = params.account_type;
}
if (params?.currency) {
queryParams.currency = params.currency;
}
if (params?.is_verified !== undefined) {
queryParams.is_verified = params.is_verified.toString();
}
if (params?.is_primary !== undefined) {
queryParams.is_primary = params.is_primary.toString();
}
if (params?.is_active !== undefined) {
queryParams.is_active = params.is_active.toString();
}
if (params?.order_by) {
queryParams.order_by = params.order_by;
}
return getConfiguredClient().get(BANK_ENDPOINTS.ACCOUNTS, {
params: queryParams,
});
};
export const getBankAccountByUuid = (uuid) => {
return getConfiguredClient().get(`${BANK_ENDPOINTS.ACCOUNTS}${uuid}/`);
};
//# sourceMappingURL=banks.js.map