@cranberry-money/shared-services
Version:
Platform-agnostic API services with pure functions and dependency injection. Includes auth, portfolios, instruments, countries, sectors, and more.
30 lines • 984 B
JavaScript
import { COUNTRY_ENDPOINTS } from '@cranberry-money/shared-constants';
let configuredApiClient = null;
export const configureCountries = (apiClient) => {
configuredApiClient = apiClient;
};
const getConfiguredClient = () => {
if (!configuredApiClient) {
throw new Error('Countries service not configured. Call configureCountries(apiClient) before using country functions.');
}
return configuredApiClient;
};
export const getCountries = (params) => {
return getConfiguredClient().get(COUNTRY_ENDPOINTS.BASE, { params });
};
export const getCountryByUuid = (uuid) => {
return getConfiguredClient().get(`${COUNTRY_ENDPOINTS.BASE}${uuid}/`);
};
export const getAvailableCountries = (params) => {
return getCountries({
...params,
is_available: true,
});
};
export const searchCountries = (searchTerm, params) => {
return getCountries({
...params,
name: searchTerm,
});
};
//# sourceMappingURL=countries.js.map