@cranberry-money/shared-services
Version:
Platform-agnostic API services with pure functions and dependency injection. Includes auth, portfolios, instruments, countries, sectors, and more.
72 lines • 2.95 kB
JavaScript
import { WITHDRAWAL_LIQUIDATION_ENDPOINTS } from '@cranberry-money/shared-constants';
let configuredApiClient = null;
export const configureWithdrawalLiquidations = (apiClient) => {
configuredApiClient = apiClient;
};
const getConfiguredClient = () => {
if (!configuredApiClient) {
throw new Error('Withdrawal liquidations service not configured. Call configureWithdrawalLiquidations(apiClient) before using withdrawal liquidations functions.');
}
return configuredApiClient;
};
export const getWithdrawalAssetLiquidations = (params) => {
const queryParams = {};
if (params?.withdrawal_request) {
queryParams.withdrawal_request = params.withdrawal_request;
}
if (params?.asset_holding) {
queryParams.asset_holding = params.asset_holding;
}
if (params?.liquidation_status) {
queryParams.liquidation_status = params.liquidation_status;
}
if (params?.target_completion_start_date) {
queryParams.target_completion_start_date = params.target_completion_start_date;
}
if (params?.target_completion_end_date) {
queryParams.target_completion_end_date = params.target_completion_end_date;
}
if (params?.expected_settlement_start_date) {
queryParams.expected_settlement_start_date = params.expected_settlement_start_date;
}
if (params?.expected_settlement_end_date) {
queryParams.expected_settlement_end_date = params.expected_settlement_end_date;
}
if (params?.target_trade) {
queryParams.target_trade = params.target_trade;
}
if (params?.min_value) {
queryParams.min_value = params.min_value;
}
if (params?.max_value) {
queryParams.max_value = params.max_value;
}
if (params?.order_by) {
queryParams.order_by = params.order_by;
}
if (params?.page) {
queryParams.page = params.page;
}
if (params?.page_size) {
queryParams.page_size = params.page_size;
}
return getConfiguredClient().get(WITHDRAWAL_LIQUIDATION_ENDPOINTS.BASE, {
params: queryParams,
});
};
export const createWithdrawalAssetLiquidation = (data) => {
return getConfiguredClient().post(WITHDRAWAL_LIQUIDATION_ENDPOINTS.BASE, data);
};
export const updateWithdrawalAssetLiquidation = (uuid, data) => {
return getConfiguredClient().patch(`${WITHDRAWAL_LIQUIDATION_ENDPOINTS.BASE}${uuid}/`, data);
};
export const getWithdrawalAssetLiquidationByUuid = (uuid) => {
return getConfiguredClient().get(`${WITHDRAWAL_LIQUIDATION_ENDPOINTS.BASE}${uuid}/`);
};
export const deleteWithdrawalAssetLiquidation = (uuid) => {
return getConfiguredClient().delete(`${WITHDRAWAL_LIQUIDATION_ENDPOINTS.BASE}${uuid}/`);
};
export const getAssetLiquidationsByWithdrawalRequest = (withdrawalRequestUuid) => {
return getWithdrawalAssetLiquidations({ withdrawal_request: withdrawalRequestUuid });
};
//# sourceMappingURL=withdrawalLiquidations.js.map