@cranberry-money/shared-services
Version:
Platform-agnostic API services with pure functions and dependency injection. Includes auth, portfolios, instruments, countries, sectors, and more.
41 lines • 1.42 kB
JavaScript
import { INDUSTRY_ENDPOINTS } from '@cranberry-money/shared-constants';
let configuredApiClient = null;
export const configureIndustries = (apiClient) => {
configuredApiClient = apiClient;
};
const getConfiguredClient = () => {
if (!configuredApiClient) {
throw new Error('Industries service not configured. Call configureIndustries(apiClient) before using industry functions.');
}
return configuredApiClient;
};
export const getIndustries = (params) => {
const queryParams = {};
if (params?.name)
queryParams.name = params.name;
if (params?.sector)
queryParams.sector = params.sector;
if (params?.order_by)
queryParams.order_by = params.order_by;
if (params?.page)
queryParams.page = params.page.toString();
if (params?.page_size)
queryParams.page_size = params.page_size.toString();
return getConfiguredClient().get(INDUSTRY_ENDPOINTS.BASE, { params: queryParams });
};
export const getIndustryByUuid = (uuid) => {
return getConfiguredClient().get(`${INDUSTRY_ENDPOINTS.BASE}${uuid}/`);
};
export const searchIndustries = (searchTerm, params) => {
return getIndustries({
...params,
name: searchTerm,
});
};
export const getIndustriesBySector = (sectorUuid, params) => {
return getIndustries({
...params,
sector: sectorUuid,
});
};
//# sourceMappingURL=industries.js.map