UNPKG

@cranberry-money/shared-services

Version:

Platform-agnostic API services with pure functions and dependency injection. Includes auth, portfolios, instruments, countries, sectors, and more.

54 lines 1.92 kB
import { TARGET_TRADE_ENDPOINTS } from '@cranberry-money/shared-constants'; let configuredApiClient = null; export const configureTargetTrades = (apiClient) => { configuredApiClient = apiClient; }; const getConfiguredClient = () => { if (!configuredApiClient) { throw new Error('Target trades service not configured. Call configureTargetTrades(apiClient) before using target trades functions.'); } return configuredApiClient; }; export const getTargetTrades = (params) => { const queryParams = {}; if (params?.portfolio) { queryParams.portfolio = params.portfolio; } if (params?.instrument) { queryParams.instrument = params.instrument; } if (params?.action) { queryParams.action = params.action; } if (params?.status) { queryParams.status = params.status; } if (params?.start_date) { queryParams.start_date = params.start_date; } if (params?.end_date) { queryParams.end_date = params.end_date; } if (params?.min_price !== undefined) { queryParams.min_price = params.min_price.toString(); } if (params?.max_price !== undefined) { queryParams.max_price = params.max_price.toString(); } return getConfiguredClient().get(TARGET_TRADE_ENDPOINTS.BASE, { params: queryParams, }); }; export const getTargetTradeByUuid = (uuid) => { return getConfiguredClient().get(`${TARGET_TRADE_ENDPOINTS.BASE}${uuid}/`); }; export const createTargetTrade = (data) => { return getConfiguredClient().post(TARGET_TRADE_ENDPOINTS.BASE, data); }; export const updateTargetTrade = (uuid, data) => { return getConfiguredClient().patch(`${TARGET_TRADE_ENDPOINTS.BASE}${uuid}/`, data); }; export const deleteTargetTrade = (uuid) => { return getConfiguredClient().delete(`${TARGET_TRADE_ENDPOINTS.BASE}${uuid}/`); }; //# sourceMappingURL=targetTrades.js.map