@cranberry-money/shared-services 1.12.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +240 -0
- package/README.md +464 -190
- package/dist/api/functional-client.d.ts +66 -0
- package/dist/api/functional-client.d.ts.map +1 -0
- package/dist/api/functional-client.js +165 -0
- package/dist/auth/functional/auth-operations.d.ts +116 -0
- package/dist/auth/functional/auth-operations.d.ts.map +1 -0
- package/dist/auth/functional/auth-operations.js +246 -0
- package/dist/auth/functional/auth-state.d.ts +38 -0
- package/dist/auth/functional/auth-state.d.ts.map +1 -0
- package/dist/auth/functional/auth-state.js +87 -0
- package/dist/auth/functional/token-storage.d.ts +44 -0
- package/dist/auth/functional/token-storage.d.ts.map +1 -0
- package/dist/auth/functional/token-storage.js +178 -0
- package/dist/auth/react/AuthProvider.d.ts +92 -0
- package/dist/auth/react/AuthProvider.d.ts.map +1 -0
- package/dist/auth/react/AuthProvider.js +207 -0
- package/dist/index.d.ts +25 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +114 -40
- package/dist/integration/blueberry-integration.d.ts +21 -0
- package/dist/integration/blueberry-integration.d.ts.map +1 -0
- package/dist/integration/blueberry-integration.js +109 -0
- package/dist/integration/index.d.ts +8 -0
- package/dist/integration/index.d.ts.map +1 -0
- package/dist/integration/index.js +18 -0
- package/dist/services/accounts.d.ts +220 -0
- package/dist/services/accounts.d.ts.map +1 -0
- package/dist/services/accounts.js +175 -0
- package/dist/services/banks.d.ts +123 -0
- package/dist/services/banks.d.ts.map +1 -0
- package/dist/services/banks.js +151 -0
- package/dist/services/cash-accounts.d.ts +112 -0
- package/dist/services/cash-accounts.d.ts.map +1 -0
- package/dist/services/cash-accounts.js +222 -0
- package/dist/services/documents.d.ts +143 -0
- package/dist/services/documents.d.ts.map +1 -0
- package/dist/services/documents.js +253 -0
- package/dist/services/factories/account-factory.d.ts +16 -0
- package/dist/services/factories/account-factory.d.ts.map +1 -0
- package/dist/services/factories/account-factory.js +79 -0
- package/dist/services/factories/auth-factory.d.ts +23 -0
- package/dist/services/factories/auth-factory.d.ts.map +1 -0
- package/dist/services/factories/auth-factory.js +75 -0
- package/dist/services/factories/bank-factory.d.ts +16 -0
- package/dist/services/factories/bank-factory.d.ts.map +1 -0
- package/dist/services/factories/bank-factory.js +72 -0
- package/dist/services/factories/cash-account-factory.d.ts +16 -0
- package/dist/services/factories/cash-account-factory.d.ts.map +1 -0
- package/dist/services/factories/cash-account-factory.js +74 -0
- package/dist/services/factories/document-factory.d.ts +16 -0
- package/dist/services/factories/document-factory.d.ts.map +1 -0
- package/dist/services/factories/document-factory.js +85 -0
- package/dist/services/factories/index.d.ts +21 -0
- package/dist/services/factories/index.d.ts.map +1 -0
- package/dist/services/factories/index.js +40 -0
- package/dist/services/factories/instrument-factory.d.ts +16 -0
- package/dist/services/factories/instrument-factory.d.ts.map +1 -0
- package/dist/services/factories/instrument-factory.js +68 -0
- package/dist/services/factories/master-factory.d.ts +74 -0
- package/dist/services/factories/master-factory.d.ts.map +1 -0
- package/dist/services/factories/master-factory.js +183 -0
- package/dist/services/factories/portfolio-factory.d.ts +16 -0
- package/dist/services/factories/portfolio-factory.d.ts.map +1 -0
- package/dist/services/factories/portfolio-factory.js +74 -0
- package/dist/services/factories/portfolio-template-factory.d.ts +16 -0
- package/dist/services/factories/portfolio-template-factory.d.ts.map +1 -0
- package/dist/services/factories/portfolio-template-factory.js +76 -0
- package/dist/services/factories/reference-data-factory.d.ts +16 -0
- package/dist/services/factories/reference-data-factory.d.ts.map +1 -0
- package/dist/services/factories/reference-data-factory.js +86 -0
- package/dist/services/factories/tax-residency-factory.d.ts +16 -0
- package/dist/services/factories/tax-residency-factory.d.ts.map +1 -0
- package/dist/services/factories/tax-residency-factory.js +73 -0
- package/dist/services/factories/trade-factory.d.ts +16 -0
- package/dist/services/factories/trade-factory.d.ts.map +1 -0
- package/dist/services/factories/trade-factory.js +79 -0
- package/dist/services/factories/types.d.ts +250 -0
- package/dist/services/factories/types.d.ts.map +1 -0
- package/dist/services/factories/types.js +32 -0
- package/dist/services/factories/withdrawal-factory.d.ts +16 -0
- package/dist/services/factories/withdrawal-factory.d.ts.map +1 -0
- package/dist/services/factories/withdrawal-factory.js +78 -0
- package/dist/services/instruments.d.ts +138 -0
- package/dist/services/instruments.d.ts.map +1 -0
- package/dist/services/instruments.js +178 -0
- package/dist/services/portfolio-templates.d.ts +142 -0
- package/dist/services/portfolio-templates.d.ts.map +1 -0
- package/dist/services/portfolio-templates.js +201 -0
- package/dist/services/portfolios.d.ts +161 -0
- package/dist/services/portfolios.d.ts.map +1 -0
- package/dist/services/portfolios.js +144 -0
- package/dist/services/reference-data.d.ts +185 -0
- package/dist/services/reference-data.d.ts.map +1 -0
- package/dist/services/reference-data.js +245 -0
- package/dist/services/tax-residencies.d.ts +83 -0
- package/dist/services/tax-residencies.d.ts.map +1 -0
- package/dist/services/tax-residencies.js +179 -0
- package/dist/services/trades.d.ts +190 -0
- package/dist/services/trades.d.ts.map +1 -0
- package/dist/services/trades.js +207 -0
- package/dist/services/withdrawals.d.ts +236 -0
- package/dist/services/withdrawals.d.ts.map +1 -0
- package/dist/services/withdrawals.js +345 -0
- package/package.json +43 -16
- package/dist/adapters/MobileApiClient.d.ts +0 -68
- package/dist/adapters/MobileApiClient.d.ts.map +0 -1
- package/dist/adapters/MobileApiClient.js +0 -240
- package/dist/adapters/MobileTokenStorage.d.ts +0 -43
- package/dist/adapters/MobileTokenStorage.d.ts.map +0 -1
- package/dist/adapters/MobileTokenStorage.js +0 -128
- package/dist/adapters/WebApiClient.d.ts +0 -28
- package/dist/adapters/WebApiClient.d.ts.map +0 -1
- package/dist/adapters/WebApiClient.js +0 -119
- package/dist/adapters/WebTokenStorage.d.ts +0 -38
- package/dist/adapters/WebTokenStorage.d.ts.map +0 -1
- package/dist/adapters/WebTokenStorage.js +0 -86
- package/dist/api/apiClient.d.ts +0 -31
- package/dist/api/apiClient.d.ts.map +0 -1
- package/dist/api/apiClient.js +0 -49
- package/dist/api/types.d.ts +0 -51
- package/dist/api/types.d.ts.map +0 -1
- package/dist/api/types.js +0 -4
- package/dist/auth/AuthManager.d.ts +0 -81
- package/dist/auth/AuthManager.d.ts.map +0 -1
- package/dist/auth/AuthManager.js +0 -223
- package/dist/auth/createAuthManager.d.ts +0 -63
- package/dist/auth/createAuthManager.d.ts.map +0 -1
- package/dist/auth/createAuthManager.js +0 -103
- package/dist/auth/useAuthManager.d.ts +0 -66
- package/dist/auth/useAuthManager.d.ts.map +0 -1
- package/dist/auth/useAuthManager.js +0 -133
- package/dist/core/BaseApiClient.d.ts +0 -82
- package/dist/core/BaseApiClient.d.ts.map +0 -1
- package/dist/core/BaseApiClient.js +0 -89
- package/dist/core/TokenStorage.d.ts +0 -45
- package/dist/core/TokenStorage.d.ts.map +0 -1
- package/dist/core/TokenStorage.js +0 -23
- package/dist/query/QueryClient.d.ts +0 -82
- package/dist/query/QueryClient.d.ts.map +0 -1
- package/dist/query/QueryClient.js +0 -136
- package/dist/query/useAuth.d.ts +0 -64
- package/dist/query/useAuth.d.ts.map +0 -1
- package/dist/query/useAuth.js +0 -144
- package/dist/query/usePortfolios.d.ts +0 -79
- package/dist/query/usePortfolios.d.ts.map +0 -1
- package/dist/query/usePortfolios.js +0 -172
- package/dist/services/AuthService.d.ts +0 -75
- package/dist/services/AuthService.d.ts.map +0 -1
- package/dist/services/AuthService.js +0 -83
- package/dist/services/BaseService.d.ts +0 -48
- package/dist/services/BaseService.d.ts.map +0 -1
- package/dist/services/BaseService.js +0 -51
- package/dist/services/PortfolioService.d.ts +0 -100
- package/dist/services/PortfolioService.d.ts.map +0 -1
- package/dist/services/PortfolioService.js +0 -68
- package/dist/services/accounts/constants.d.ts +0 -24
- package/dist/services/accounts/constants.d.ts.map +0 -1
- package/dist/services/accounts/constants.js +0 -30
- package/dist/services/accounts/index.d.ts +0 -7
- package/dist/services/accounts/index.d.ts.map +0 -1
- package/dist/services/accounts/index.js +0 -6
- package/dist/services/accounts/service.d.ts +0 -11
- package/dist/services/accounts/service.d.ts.map +0 -1
- package/dist/services/accounts/service.js +0 -19
- package/dist/services/accounts/types.d.ts +0 -15
- package/dist/services/accounts/types.d.ts.map +0 -1
- package/dist/services/accounts/types.js +0 -4
- package/dist/services/auth/constants.d.ts +0 -30
- package/dist/services/auth/constants.d.ts.map +0 -1
- package/dist/services/auth/constants.js +0 -37
- package/dist/services/auth/index.d.ts +0 -8
- package/dist/services/auth/index.d.ts.map +0 -1
- package/dist/services/auth/index.js +0 -7
- package/dist/services/auth/service.d.ts +0 -8
- package/dist/services/auth/service.d.ts.map +0 -1
- package/dist/services/auth/service.js +0 -23
- package/dist/services/auth/types.d.ts +0 -38
- package/dist/services/auth/types.d.ts.map +0 -1
- package/dist/services/auth/types.js +0 -1
- package/dist/services/auth/utils.d.ts +0 -46
- package/dist/services/auth/utils.d.ts.map +0 -1
- package/dist/services/auth/utils.js +0 -113
- package/dist/services/banks/constants.d.ts +0 -47
- package/dist/services/banks/constants.d.ts.map +0 -1
- package/dist/services/banks/constants.js +0 -98
- package/dist/services/banks/index.d.ts +0 -8
- package/dist/services/banks/index.d.ts.map +0 -1
- package/dist/services/banks/index.js +0 -7
- package/dist/services/banks/service.d.ts +0 -9
- package/dist/services/banks/service.d.ts.map +0 -1
- package/dist/services/banks/service.js +0 -38
- package/dist/services/banks/types.d.ts +0 -36
- package/dist/services/banks/types.d.ts.map +0 -1
- package/dist/services/banks/types.js +0 -4
- package/dist/services/cash_accounts/constants.d.ts +0 -7
- package/dist/services/cash_accounts/constants.d.ts.map +0 -1
- package/dist/services/cash_accounts/constants.js +0 -7
- package/dist/services/cash_accounts/index.d.ts +0 -5
- package/dist/services/cash_accounts/index.d.ts.map +0 -1
- package/dist/services/cash_accounts/index.js +0 -6
- package/dist/services/cash_accounts/service.d.ts +0 -8
- package/dist/services/cash_accounts/service.d.ts.map +0 -1
- package/dist/services/cash_accounts/service.js +0 -32
- package/dist/services/cash_accounts/transactions/constants.d.ts +0 -18
- package/dist/services/cash_accounts/transactions/constants.d.ts.map +0 -1
- package/dist/services/cash_accounts/transactions/constants.js +0 -25
- package/dist/services/cash_accounts/transactions/index.d.ts +0 -5
- package/dist/services/cash_accounts/transactions/index.d.ts.map +0 -1
- package/dist/services/cash_accounts/transactions/index.js +0 -6
- package/dist/services/cash_accounts/transactions/service.d.ts +0 -13
- package/dist/services/cash_accounts/transactions/service.d.ts.map +0 -1
- package/dist/services/cash_accounts/transactions/service.js +0 -75
- package/dist/services/cash_accounts/transactions/types.d.ts +0 -38
- package/dist/services/cash_accounts/transactions/types.d.ts.map +0 -1
- package/dist/services/cash_accounts/transactions/types.js +0 -11
- package/dist/services/cash_accounts/types.d.ts +0 -24
- package/dist/services/cash_accounts/types.d.ts.map +0 -1
- package/dist/services/cash_accounts/types.js +0 -4
- package/dist/services/countries/constants.d.ts +0 -9
- package/dist/services/countries/constants.d.ts.map +0 -1
- package/dist/services/countries/constants.js +0 -10
- package/dist/services/countries/index.d.ts +0 -5
- package/dist/services/countries/index.d.ts.map +0 -1
- package/dist/services/countries/index.js +0 -6
- package/dist/services/countries/service.d.ts +0 -18
- package/dist/services/countries/service.d.ts.map +0 -1
- package/dist/services/countries/service.js +0 -32
- package/dist/services/countries/types.d.ts +0 -24
- package/dist/services/countries/types.d.ts.map +0 -1
- package/dist/services/countries/types.js +0 -1
- package/dist/services/countries/utils.d.ts +0 -38
- package/dist/services/countries/utils.d.ts.map +0 -1
- package/dist/services/countries/utils.js +0 -62
- package/dist/services/documents/constants.d.ts +0 -55
- package/dist/services/documents/constants.d.ts.map +0 -1
- package/dist/services/documents/constants.js +0 -50
- package/dist/services/documents/index.d.ts +0 -6
- package/dist/services/documents/index.d.ts.map +0 -1
- package/dist/services/documents/index.js +0 -6
- package/dist/services/documents/service.d.ts +0 -50
- package/dist/services/documents/service.d.ts.map +0 -1
- package/dist/services/documents/service.js +0 -116
- package/dist/services/documents/types.d.ts +0 -47
- package/dist/services/documents/types.d.ts.map +0 -1
- package/dist/services/documents/types.js +0 -1
- package/dist/services/documents/utils.d.ts +0 -26
- package/dist/services/documents/utils.d.ts.map +0 -1
- package/dist/services/documents/utils.js +0 -37
- package/dist/services/industries/constants.d.ts +0 -8
- package/dist/services/industries/constants.d.ts.map +0 -1
- package/dist/services/industries/constants.js +0 -9
- package/dist/services/industries/index.d.ts +0 -6
- package/dist/services/industries/index.d.ts.map +0 -1
- package/dist/services/industries/index.js +0 -6
- package/dist/services/industries/service.d.ts +0 -18
- package/dist/services/industries/service.d.ts.map +0 -1
- package/dist/services/industries/service.js +0 -43
- package/dist/services/industries/types.d.ts +0 -21
- package/dist/services/industries/types.d.ts.map +0 -1
- package/dist/services/industries/types.js +0 -1
- package/dist/services/industries/utils.d.ts +0 -47
- package/dist/services/industries/utils.d.ts.map +0 -1
- package/dist/services/industries/utils.js +0 -86
- package/dist/services/instruments/constants.d.ts +0 -38
- package/dist/services/instruments/constants.d.ts.map +0 -1
- package/dist/services/instruments/constants.js +0 -36
- package/dist/services/instruments/index.d.ts +0 -5
- package/dist/services/instruments/index.d.ts.map +0 -1
- package/dist/services/instruments/index.js +0 -6
- package/dist/services/instruments/service.d.ts +0 -54
- package/dist/services/instruments/service.d.ts.map +0 -1
- package/dist/services/instruments/service.js +0 -106
- package/dist/services/instruments/types.d.ts +0 -83
- package/dist/services/instruments/types.d.ts.map +0 -1
- package/dist/services/instruments/types.js +0 -1
- package/dist/services/instruments/utils.d.ts +0 -50
- package/dist/services/instruments/utils.d.ts.map +0 -1
- package/dist/services/instruments/utils.js +0 -111
- package/dist/services/portfolio_templates/constants.d.ts +0 -8
- package/dist/services/portfolio_templates/constants.d.ts.map +0 -1
- package/dist/services/portfolio_templates/constants.js +0 -8
- package/dist/services/portfolio_templates/index.d.ts +0 -5
- package/dist/services/portfolio_templates/index.d.ts.map +0 -1
- package/dist/services/portfolio_templates/index.js +0 -5
- package/dist/services/portfolio_templates/service.d.ts +0 -6
- package/dist/services/portfolio_templates/service.d.ts.map +0 -1
- package/dist/services/portfolio_templates/service.js +0 -14
- package/dist/services/portfolio_templates/types.d.ts +0 -49
- package/dist/services/portfolio_templates/types.d.ts.map +0 -1
- package/dist/services/portfolio_templates/types.js +0 -1
- package/dist/services/portfolio_templates/utils.d.ts +0 -8
- package/dist/services/portfolio_templates/utils.d.ts.map +0 -1
- package/dist/services/portfolio_templates/utils.js +0 -13
- package/dist/services/portfolios/allocations/index.d.ts +0 -7
- package/dist/services/portfolios/allocations/index.d.ts.map +0 -1
- package/dist/services/portfolios/allocations/index.js +0 -6
- package/dist/services/portfolios/allocations/service.d.ts +0 -6
- package/dist/services/portfolios/allocations/service.d.ts.map +0 -1
- package/dist/services/portfolios/allocations/service.js +0 -19
- package/dist/services/portfolios/allocations/types.d.ts +0 -17
- package/dist/services/portfolios/allocations/types.d.ts.map +0 -1
- package/dist/services/portfolios/allocations/types.js +0 -4
- package/dist/services/portfolios/allocations/utils.d.ts +0 -3
- package/dist/services/portfolios/allocations/utils.d.ts.map +0 -1
- package/dist/services/portfolios/allocations/utils.js +0 -7
- package/dist/services/portfolios/constants.d.ts +0 -45
- package/dist/services/portfolios/constants.d.ts.map +0 -1
- package/dist/services/portfolios/constants.js +0 -57
- package/dist/services/portfolios/holdings/index.d.ts +0 -7
- package/dist/services/portfolios/holdings/index.d.ts.map +0 -1
- package/dist/services/portfolios/holdings/index.js +0 -6
- package/dist/services/portfolios/holdings/service.d.ts +0 -10
- package/dist/services/portfolios/holdings/service.d.ts.map +0 -1
- package/dist/services/portfolios/holdings/service.js +0 -53
- package/dist/services/portfolios/holdings/types.d.ts +0 -42
- package/dist/services/portfolios/holdings/types.d.ts.map +0 -1
- package/dist/services/portfolios/holdings/types.js +0 -4
- package/dist/services/portfolios/holdings/utils.d.ts +0 -8
- package/dist/services/portfolios/holdings/utils.d.ts.map +0 -1
- package/dist/services/portfolios/holdings/utils.js +0 -82
- package/dist/services/portfolios/index.d.ts +0 -10
- package/dist/services/portfolios/index.d.ts.map +0 -1
- package/dist/services/portfolios/index.js +0 -10
- package/dist/services/portfolios/service.d.ts +0 -7
- package/dist/services/portfolios/service.d.ts.map +0 -1
- package/dist/services/portfolios/service.js +0 -19
- package/dist/services/portfolios/types.d.ts +0 -29
- package/dist/services/portfolios/types.d.ts.map +0 -1
- package/dist/services/portfolios/types.js +0 -1
- package/dist/services/portfolios/utils.d.ts +0 -5
- package/dist/services/portfolios/utils.d.ts.map +0 -1
- package/dist/services/portfolios/utils.js +0 -26
- package/dist/services/sectors/constants.d.ts +0 -7
- package/dist/services/sectors/constants.d.ts.map +0 -1
- package/dist/services/sectors/constants.js +0 -7
- package/dist/services/sectors/index.d.ts +0 -6
- package/dist/services/sectors/index.d.ts.map +0 -1
- package/dist/services/sectors/index.js +0 -6
- package/dist/services/sectors/service.d.ts +0 -14
- package/dist/services/sectors/service.d.ts.map +0 -1
- package/dist/services/sectors/service.js +0 -32
- package/dist/services/sectors/types.d.ts +0 -19
- package/dist/services/sectors/types.d.ts.map +0 -1
- package/dist/services/sectors/types.js +0 -1
- package/dist/services/sectors/utils.d.ts +0 -31
- package/dist/services/sectors/utils.d.ts.map +0 -1
- package/dist/services/sectors/utils.js +0 -54
- package/dist/services/stock_exchanges/constants.d.ts +0 -7
- package/dist/services/stock_exchanges/constants.d.ts.map +0 -1
- package/dist/services/stock_exchanges/constants.js +0 -7
- package/dist/services/stock_exchanges/index.d.ts +0 -6
- package/dist/services/stock_exchanges/index.d.ts.map +0 -1
- package/dist/services/stock_exchanges/index.js +0 -6
- package/dist/services/stock_exchanges/service.d.ts +0 -4
- package/dist/services/stock_exchanges/service.d.ts.map +0 -1
- package/dist/services/stock_exchanges/service.js +0 -26
- package/dist/services/stock_exchanges/types.d.ts +0 -28
- package/dist/services/stock_exchanges/types.d.ts.map +0 -1
- package/dist/services/stock_exchanges/types.js +0 -1
- package/dist/services/stock_exchanges/utils.d.ts +0 -8
- package/dist/services/stock_exchanges/utils.d.ts.map +0 -1
- package/dist/services/stock_exchanges/utils.js +0 -37
- package/dist/services/tax_residencies/constants.d.ts +0 -7
- package/dist/services/tax_residencies/constants.d.ts.map +0 -1
- package/dist/services/tax_residencies/constants.js +0 -7
- package/dist/services/tax_residencies/index.d.ts +0 -10
- package/dist/services/tax_residencies/index.d.ts.map +0 -1
- package/dist/services/tax_residencies/index.js +0 -11
- package/dist/services/tax_residencies/service.d.ts +0 -6
- package/dist/services/tax_residencies/service.d.ts.map +0 -1
- package/dist/services/tax_residencies/service.js +0 -20
- package/dist/services/tax_residencies/types.d.ts +0 -26
- package/dist/services/tax_residencies/types.d.ts.map +0 -1
- package/dist/services/tax_residencies/types.js +0 -4
- package/dist/services/tax_residencies/utils.d.ts +0 -9
- package/dist/services/tax_residencies/utils.d.ts.map +0 -1
- package/dist/services/tax_residencies/utils.js +0 -19
- package/dist/services/trades/constants.d.ts +0 -47
- package/dist/services/trades/constants.d.ts.map +0 -1
- package/dist/services/trades/constants.js +0 -61
- package/dist/services/trades/index.d.ts +0 -4
- package/dist/services/trades/index.d.ts.map +0 -1
- package/dist/services/trades/index.js +0 -12
- package/dist/services/trades/service.d.ts +0 -19
- package/dist/services/trades/service.d.ts.map +0 -1
- package/dist/services/trades/service.js +0 -177
- package/dist/services/trades/types.d.ts +0 -114
- package/dist/services/trades/types.d.ts.map +0 -1
- package/dist/services/trades/types.js +0 -1
- package/dist/services/users/constants.d.ts +0 -7
- package/dist/services/users/constants.d.ts.map +0 -1
- package/dist/services/users/constants.js +0 -8
- package/dist/services/users/index.d.ts +0 -9
- package/dist/services/users/index.d.ts.map +0 -1
- package/dist/services/users/index.js +0 -9
- package/dist/services/users/investment_preferences/constants.d.ts +0 -7
- package/dist/services/users/investment_preferences/constants.d.ts.map +0 -1
- package/dist/services/users/investment_preferences/constants.js +0 -7
- package/dist/services/users/investment_preferences/index.d.ts +0 -7
- package/dist/services/users/investment_preferences/index.d.ts.map +0 -1
- package/dist/services/users/investment_preferences/index.js +0 -6
- package/dist/services/users/investment_preferences/service.d.ts +0 -5
- package/dist/services/users/investment_preferences/service.d.ts.map +0 -1
- package/dist/services/users/investment_preferences/service.js +0 -12
- package/dist/services/users/investment_preferences/types.d.ts +0 -23
- package/dist/services/users/investment_preferences/types.d.ts.map +0 -1
- package/dist/services/users/investment_preferences/types.js +0 -1
- package/dist/services/users/service.d.ts +0 -6
- package/dist/services/users/service.d.ts.map +0 -1
- package/dist/services/users/service.js +0 -15
- package/dist/services/users/types.d.ts +0 -32
- package/dist/services/users/types.d.ts.map +0 -1
- package/dist/services/users/types.js +0 -1
- package/dist/services/users/utils.d.ts +0 -2
- package/dist/services/users/utils.d.ts.map +0 -1
- package/dist/services/users/utils.js +0 -6
- package/dist/services/withdrawals/constants.d.ts +0 -67
- package/dist/services/withdrawals/constants.d.ts.map +0 -1
- package/dist/services/withdrawals/constants.js +0 -91
- package/dist/services/withdrawals/index.d.ts +0 -6
- package/dist/services/withdrawals/index.d.ts.map +0 -1
- package/dist/services/withdrawals/index.js +0 -7
- package/dist/services/withdrawals/service.d.ts +0 -4
- package/dist/services/withdrawals/service.d.ts.map +0 -1
- package/dist/services/withdrawals/service.js +0 -5
- package/dist/services/withdrawals/types.d.ts +0 -81
- package/dist/services/withdrawals/types.d.ts.map +0 -1
- package/dist/services/withdrawals/types.js +0 -1
- package/dist/services/withdrawals/utils.d.ts +0 -20
- package/dist/services/withdrawals/utils.d.ts.map +0 -1
- package/dist/services/withdrawals/utils.js +0 -110
- package/dist/services/withdrawals/withdrawal_liquidations/index.d.ts +0 -3
- package/dist/services/withdrawals/withdrawal_liquidations/index.d.ts.map +0 -1
- package/dist/services/withdrawals/withdrawal_liquidations/index.js +0 -2
- package/dist/services/withdrawals/withdrawal_liquidations/service.d.ts +0 -8
- package/dist/services/withdrawals/withdrawal_liquidations/service.d.ts.map +0 -1
- package/dist/services/withdrawals/withdrawal_liquidations/service.js +0 -68
- package/dist/services/withdrawals/withdrawal_liquidations/types.d.ts +0 -2
- package/dist/services/withdrawals/withdrawal_liquidations/types.d.ts.map +0 -1
- package/dist/services/withdrawals/withdrawal_liquidations/types.js +0 -1
- package/dist/services/withdrawals/withdrawal_requests/index.d.ts +0 -3
- package/dist/services/withdrawals/withdrawal_requests/index.d.ts.map +0 -1
- package/dist/services/withdrawals/withdrawal_requests/index.js +0 -2
- package/dist/services/withdrawals/withdrawal_requests/service.d.ts +0 -7
- package/dist/services/withdrawals/withdrawal_requests/service.d.ts.map +0 -1
- package/dist/services/withdrawals/withdrawal_requests/service.js +0 -55
- package/dist/services/withdrawals/withdrawal_requests/types.d.ts +0 -2
- package/dist/services/withdrawals/withdrawal_requests/types.d.ts.map +0 -1
- package/dist/services/withdrawals/withdrawal_requests/types.js +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Portfolio Services - Pure Functional Implementation
|
|
3
|
+
*
|
|
4
|
+
* All portfolio operations as pure functions with explicit dependencies.
|
|
5
|
+
* No global state, no side effects - everything is explicit and testable.
|
|
6
|
+
*/
|
|
7
|
+
import type { ApiClient } from '../api/functional-client';
|
|
8
|
+
export interface Portfolio {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly uuid: string;
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly description?: string;
|
|
13
|
+
readonly userId: string;
|
|
14
|
+
readonly totalValue: number;
|
|
15
|
+
readonly isActive: boolean;
|
|
16
|
+
readonly createdAt: string;
|
|
17
|
+
readonly updatedAt: string;
|
|
18
|
+
}
|
|
19
|
+
export interface PortfolioFilters {
|
|
20
|
+
readonly isActive?: boolean;
|
|
21
|
+
readonly sortBy?: 'name' | 'totalValue' | 'createdAt';
|
|
22
|
+
readonly sortOrder?: 'asc' | 'desc';
|
|
23
|
+
readonly limit?: number;
|
|
24
|
+
readonly offset?: number;
|
|
25
|
+
}
|
|
26
|
+
export interface CreatePortfolioPayload {
|
|
27
|
+
readonly name: string;
|
|
28
|
+
readonly description?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface UpdatePortfolioPayload {
|
|
31
|
+
readonly name?: string;
|
|
32
|
+
readonly description?: string;
|
|
33
|
+
readonly isActive?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface PaginatedPortfolios {
|
|
36
|
+
readonly results: Portfolio[];
|
|
37
|
+
readonly count: number;
|
|
38
|
+
readonly next: string | null;
|
|
39
|
+
readonly previous: string | null;
|
|
40
|
+
}
|
|
41
|
+
export declare const getPortfolios: ({ apiClient }: {
|
|
42
|
+
apiClient: ApiClient;
|
|
43
|
+
}, filters?: PortfolioFilters) => Promise<PaginatedPortfolios>;
|
|
44
|
+
export declare const getPortfolio: ({ apiClient }: {
|
|
45
|
+
apiClient: ApiClient;
|
|
46
|
+
}, uuid: string) => Promise<Portfolio>;
|
|
47
|
+
export declare const createPortfolio: ({ apiClient }: {
|
|
48
|
+
apiClient: ApiClient;
|
|
49
|
+
}, data: CreatePortfolioPayload) => Promise<Portfolio>;
|
|
50
|
+
export declare const updatePortfolio: ({ apiClient }: {
|
|
51
|
+
apiClient: ApiClient;
|
|
52
|
+
}, uuid: string, data: UpdatePortfolioPayload) => Promise<Portfolio>;
|
|
53
|
+
export declare const deletePortfolio: ({ apiClient }: {
|
|
54
|
+
apiClient: ApiClient;
|
|
55
|
+
}, uuid: string) => Promise<void>;
|
|
56
|
+
export interface AssetAllocation {
|
|
57
|
+
readonly uuid: string;
|
|
58
|
+
readonly portfolio: string;
|
|
59
|
+
readonly instrument: string;
|
|
60
|
+
readonly instrumentName: string;
|
|
61
|
+
readonly instrumentSymbol: string;
|
|
62
|
+
readonly percentage: string;
|
|
63
|
+
}
|
|
64
|
+
export interface AssetAllocationPayload {
|
|
65
|
+
readonly portfolio: string;
|
|
66
|
+
readonly instrument: string;
|
|
67
|
+
readonly percentage: string | number;
|
|
68
|
+
}
|
|
69
|
+
export declare const getPortfolioAllocations: ({ apiClient }: {
|
|
70
|
+
apiClient: ApiClient;
|
|
71
|
+
}, portfolioUuid: string) => Promise<AssetAllocation[]>;
|
|
72
|
+
export declare const createAssetAllocation: ({ apiClient }: {
|
|
73
|
+
apiClient: ApiClient;
|
|
74
|
+
}, data: AssetAllocationPayload) => Promise<AssetAllocation>;
|
|
75
|
+
export declare const updateAssetAllocation: ({ apiClient }: {
|
|
76
|
+
apiClient: ApiClient;
|
|
77
|
+
}, uuid: string, data: Partial<AssetAllocationPayload>) => Promise<AssetAllocation>;
|
|
78
|
+
export declare const deleteAssetAllocation: ({ apiClient }: {
|
|
79
|
+
apiClient: ApiClient;
|
|
80
|
+
}, uuid: string) => Promise<void>;
|
|
81
|
+
export interface AssetHolding {
|
|
82
|
+
readonly uuid: string;
|
|
83
|
+
readonly portfolio: string;
|
|
84
|
+
readonly instrument: any;
|
|
85
|
+
readonly instrumentName: string;
|
|
86
|
+
readonly instrumentSymbol: string;
|
|
87
|
+
readonly quantity: number;
|
|
88
|
+
readonly createdAt: string;
|
|
89
|
+
readonly updatedAt: string;
|
|
90
|
+
}
|
|
91
|
+
export interface AssetHoldingSnapshot {
|
|
92
|
+
readonly id: number;
|
|
93
|
+
readonly assetHolding: string;
|
|
94
|
+
readonly portfolioId: number;
|
|
95
|
+
readonly instrumentName: string;
|
|
96
|
+
readonly instrumentSymbol: string;
|
|
97
|
+
readonly quantity: number;
|
|
98
|
+
readonly snapshotReason: 'TRADE' | 'REBALANCE' | 'VALUATION' | 'AUDIT';
|
|
99
|
+
readonly snapshotDate: string;
|
|
100
|
+
readonly createdAt: string;
|
|
101
|
+
readonly updatedAt: string;
|
|
102
|
+
}
|
|
103
|
+
export interface AssetHoldingFilters {
|
|
104
|
+
readonly portfolioId?: string;
|
|
105
|
+
readonly portfolioUuid?: string;
|
|
106
|
+
readonly instrument?: string;
|
|
107
|
+
readonly minQuantity?: number;
|
|
108
|
+
readonly maxQuantity?: number;
|
|
109
|
+
readonly orderBy?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface AssetHoldingSnapshotFilters {
|
|
112
|
+
readonly assetHoldingId?: string;
|
|
113
|
+
readonly portfolioId?: string;
|
|
114
|
+
readonly reason?: 'TRADE' | 'REBALANCE' | 'VALUATION' | 'AUDIT';
|
|
115
|
+
readonly startDate?: string;
|
|
116
|
+
readonly endDate?: string;
|
|
117
|
+
readonly orderBy?: string;
|
|
118
|
+
}
|
|
119
|
+
export interface PaginatedAssetHoldings {
|
|
120
|
+
readonly results: AssetHolding[];
|
|
121
|
+
readonly count: number;
|
|
122
|
+
readonly next: string | null;
|
|
123
|
+
readonly previous: string | null;
|
|
124
|
+
}
|
|
125
|
+
export interface PaginatedAssetHoldingSnapshots {
|
|
126
|
+
readonly results: AssetHoldingSnapshot[];
|
|
127
|
+
readonly count: number;
|
|
128
|
+
readonly next: string | null;
|
|
129
|
+
readonly previous: string | null;
|
|
130
|
+
}
|
|
131
|
+
export declare const getAssetHoldings: ({ apiClient }: {
|
|
132
|
+
apiClient: ApiClient;
|
|
133
|
+
}, filters?: AssetHoldingFilters) => Promise<PaginatedAssetHoldings>;
|
|
134
|
+
export declare const getPortfolioHoldings: ({ apiClient }: {
|
|
135
|
+
apiClient: ApiClient;
|
|
136
|
+
}, portfolioUuid: string, orderBy?: string) => Promise<AssetHolding[]>;
|
|
137
|
+
export declare const getAssetHolding: ({ apiClient }: {
|
|
138
|
+
apiClient: ApiClient;
|
|
139
|
+
}, uuid: string) => Promise<AssetHolding>;
|
|
140
|
+
export declare const getAssetHoldingSnapshots: ({ apiClient }: {
|
|
141
|
+
apiClient: ApiClient;
|
|
142
|
+
}, filters?: AssetHoldingSnapshotFilters) => Promise<PaginatedAssetHoldingSnapshots>;
|
|
143
|
+
export declare const getAssetHoldingSnapshot: ({ apiClient }: {
|
|
144
|
+
apiClient: ApiClient;
|
|
145
|
+
}, id: number) => Promise<AssetHoldingSnapshot>;
|
|
146
|
+
export interface RebalancingTradesGenerationResponse {
|
|
147
|
+
readonly status: string;
|
|
148
|
+
readonly message: string;
|
|
149
|
+
readonly tradeCount?: number;
|
|
150
|
+
readonly buyTradeCount?: number;
|
|
151
|
+
readonly sellTradeCount?: number;
|
|
152
|
+
readonly totalTradeValue?: number;
|
|
153
|
+
readonly netCashImpact?: number;
|
|
154
|
+
readonly availableCash?: number;
|
|
155
|
+
readonly requiredMinimum?: number;
|
|
156
|
+
readonly errorType?: 'business_logic' | 'permission' | 'server';
|
|
157
|
+
}
|
|
158
|
+
export declare const generateRebalancingTrades: ({ apiClient }: {
|
|
159
|
+
apiClient: ApiClient;
|
|
160
|
+
}, portfolioUuid: string) => Promise<RebalancingTradesGenerationResponse>;
|
|
161
|
+
//# sourceMappingURL=portfolios.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portfolios.d.ts","sourceRoot":"","sources":["../../src/services/portfolios.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Portfolio Services - Pure Functional Implementation
|
|
4
|
+
*
|
|
5
|
+
* All portfolio operations as pure functions with explicit dependencies.
|
|
6
|
+
* No global state, no side effects - everything is explicit and testable.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.generateRebalancingTrades = exports.getAssetHoldingSnapshot = exports.getAssetHoldingSnapshots = exports.getAssetHolding = exports.getPortfolioHoldings = exports.getAssetHoldings = exports.deleteAssetAllocation = exports.updateAssetAllocation = exports.createAssetAllocation = exports.getPortfolioAllocations = exports.deletePortfolio = exports.updatePortfolio = exports.createPortfolio = exports.getPortfolio = exports.getPortfolios = void 0;
|
|
10
|
+
// Portfolio operations with explicit dependencies
|
|
11
|
+
const getPortfolios = async ({ apiClient }, filters) => {
|
|
12
|
+
const params = {};
|
|
13
|
+
if (filters?.isActive !== undefined) {
|
|
14
|
+
params.is_active = String(filters.isActive);
|
|
15
|
+
}
|
|
16
|
+
if (filters?.sortBy) {
|
|
17
|
+
params.ordering = filters.sortOrder === 'desc' ? `-${filters.sortBy}` : filters.sortBy;
|
|
18
|
+
}
|
|
19
|
+
if (filters?.limit) {
|
|
20
|
+
params.limit = String(filters.limit);
|
|
21
|
+
}
|
|
22
|
+
if (filters?.offset) {
|
|
23
|
+
params.offset = String(filters.offset);
|
|
24
|
+
}
|
|
25
|
+
return apiClient.get('/api/portfolios/', { params });
|
|
26
|
+
};
|
|
27
|
+
exports.getPortfolios = getPortfolios;
|
|
28
|
+
const getPortfolio = async ({ apiClient }, uuid) => {
|
|
29
|
+
return apiClient.get(`/api/portfolios/${uuid}/`);
|
|
30
|
+
};
|
|
31
|
+
exports.getPortfolio = getPortfolio;
|
|
32
|
+
const createPortfolio = async ({ apiClient }, data) => {
|
|
33
|
+
return apiClient.post('/api/portfolios/', data);
|
|
34
|
+
};
|
|
35
|
+
exports.createPortfolio = createPortfolio;
|
|
36
|
+
const updatePortfolio = async ({ apiClient }, uuid, data) => {
|
|
37
|
+
return apiClient.patch(`/api/portfolios/${uuid}/`, data);
|
|
38
|
+
};
|
|
39
|
+
exports.updatePortfolio = updatePortfolio;
|
|
40
|
+
const deletePortfolio = async ({ apiClient }, uuid) => {
|
|
41
|
+
await apiClient.delete(`/api/portfolios/${uuid}/`);
|
|
42
|
+
};
|
|
43
|
+
exports.deletePortfolio = deletePortfolio;
|
|
44
|
+
const getPortfolioAllocations = async ({ apiClient }, portfolioUuid) => {
|
|
45
|
+
if (!portfolioUuid?.trim()) {
|
|
46
|
+
throw new Error('Portfolio UUID is required');
|
|
47
|
+
}
|
|
48
|
+
return apiClient.get(`/api/portfolios/${portfolioUuid}/allocations/`, {
|
|
49
|
+
params: { order_by: 'created_at' },
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
exports.getPortfolioAllocations = getPortfolioAllocations;
|
|
53
|
+
const createAssetAllocation = async ({ apiClient }, data) => {
|
|
54
|
+
if (!data.portfolio?.trim()) {
|
|
55
|
+
throw new Error('Portfolio UUID is required');
|
|
56
|
+
}
|
|
57
|
+
if (!data.instrument?.trim()) {
|
|
58
|
+
throw new Error('Instrument UUID is required');
|
|
59
|
+
}
|
|
60
|
+
if (!data.percentage) {
|
|
61
|
+
throw new Error('Allocation percentage is required');
|
|
62
|
+
}
|
|
63
|
+
return apiClient.post('/api/asset-allocations/', data);
|
|
64
|
+
};
|
|
65
|
+
exports.createAssetAllocation = createAssetAllocation;
|
|
66
|
+
const updateAssetAllocation = async ({ apiClient }, uuid, data) => {
|
|
67
|
+
if (!uuid?.trim()) {
|
|
68
|
+
throw new Error('Asset allocation UUID is required');
|
|
69
|
+
}
|
|
70
|
+
return apiClient.patch(`/api/asset-allocations/${uuid}/`, data);
|
|
71
|
+
};
|
|
72
|
+
exports.updateAssetAllocation = updateAssetAllocation;
|
|
73
|
+
const deleteAssetAllocation = async ({ apiClient }, uuid) => {
|
|
74
|
+
if (!uuid?.trim()) {
|
|
75
|
+
throw new Error('Asset allocation UUID is required');
|
|
76
|
+
}
|
|
77
|
+
await apiClient.delete(`/api/asset-allocations/${uuid}/`);
|
|
78
|
+
};
|
|
79
|
+
exports.deleteAssetAllocation = deleteAssetAllocation;
|
|
80
|
+
const getAssetHoldings = async ({ apiClient }, filters) => {
|
|
81
|
+
const params = {};
|
|
82
|
+
if (filters?.portfolioId)
|
|
83
|
+
params.portfolio_id = filters.portfolioId;
|
|
84
|
+
if (filters?.portfolioUuid)
|
|
85
|
+
params.portfolio_uuid = filters.portfolioUuid;
|
|
86
|
+
if (filters?.instrument)
|
|
87
|
+
params.instrument = filters.instrument;
|
|
88
|
+
if (filters?.minQuantity)
|
|
89
|
+
params.min_quantity = String(filters.minQuantity);
|
|
90
|
+
if (filters?.maxQuantity)
|
|
91
|
+
params.max_quantity = String(filters.maxQuantity);
|
|
92
|
+
if (filters?.orderBy)
|
|
93
|
+
params.order_by = filters.orderBy;
|
|
94
|
+
return apiClient.get('/api/asset-holdings/', { params });
|
|
95
|
+
};
|
|
96
|
+
exports.getAssetHoldings = getAssetHoldings;
|
|
97
|
+
const getPortfolioHoldings = async ({ apiClient }, portfolioUuid, orderBy) => {
|
|
98
|
+
if (!portfolioUuid?.trim()) {
|
|
99
|
+
throw new Error('Portfolio UUID is required');
|
|
100
|
+
}
|
|
101
|
+
const params = {};
|
|
102
|
+
if (orderBy)
|
|
103
|
+
params.order_by = orderBy;
|
|
104
|
+
return apiClient.get(`/api/portfolios/${portfolioUuid}/holdings/`, { params });
|
|
105
|
+
};
|
|
106
|
+
exports.getPortfolioHoldings = getPortfolioHoldings;
|
|
107
|
+
const getAssetHolding = async ({ apiClient }, uuid) => {
|
|
108
|
+
if (!uuid?.trim()) {
|
|
109
|
+
throw new Error('Asset holding UUID is required');
|
|
110
|
+
}
|
|
111
|
+
return apiClient.get(`/api/asset-holdings/${uuid}/`);
|
|
112
|
+
};
|
|
113
|
+
exports.getAssetHolding = getAssetHolding;
|
|
114
|
+
const getAssetHoldingSnapshots = async ({ apiClient }, filters) => {
|
|
115
|
+
const params = {};
|
|
116
|
+
if (filters?.assetHoldingId)
|
|
117
|
+
params.asset_holding_id = filters.assetHoldingId;
|
|
118
|
+
if (filters?.portfolioId)
|
|
119
|
+
params.portfolio_id = filters.portfolioId;
|
|
120
|
+
if (filters?.reason)
|
|
121
|
+
params.reason = filters.reason;
|
|
122
|
+
if (filters?.startDate)
|
|
123
|
+
params.start_date = filters.startDate;
|
|
124
|
+
if (filters?.endDate)
|
|
125
|
+
params.end_date = filters.endDate;
|
|
126
|
+
if (filters?.orderBy)
|
|
127
|
+
params.order_by = filters.orderBy;
|
|
128
|
+
return apiClient.get('/api/asset-holding-snapshots/', { params });
|
|
129
|
+
};
|
|
130
|
+
exports.getAssetHoldingSnapshots = getAssetHoldingSnapshots;
|
|
131
|
+
const getAssetHoldingSnapshot = async ({ apiClient }, id) => {
|
|
132
|
+
if (!id || id <= 0) {
|
|
133
|
+
throw new Error('Valid asset holding snapshot ID is required');
|
|
134
|
+
}
|
|
135
|
+
return apiClient.get(`/api/asset-holding-snapshots/${id}/`);
|
|
136
|
+
};
|
|
137
|
+
exports.getAssetHoldingSnapshot = getAssetHoldingSnapshot;
|
|
138
|
+
const generateRebalancingTrades = async ({ apiClient }, portfolioUuid) => {
|
|
139
|
+
if (!portfolioUuid?.trim()) {
|
|
140
|
+
throw new Error('Portfolio UUID is required');
|
|
141
|
+
}
|
|
142
|
+
return apiClient.post(`/api/portfolios/${portfolioUuid}/generate-rebalancing-trades/`, {});
|
|
143
|
+
};
|
|
144
|
+
exports.generateRebalancingTrades = generateRebalancingTrades;
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference Data Services - Pure Functional Implementation
|
|
3
|
+
*
|
|
4
|
+
* Static reference data (countries, industries, sectors, etc.) as pure functions.
|
|
5
|
+
* No global state, no side effects - everything is explicit and testable.
|
|
6
|
+
*/
|
|
7
|
+
import type { ApiClient } from '../api/functional-client';
|
|
8
|
+
export interface Country {
|
|
9
|
+
readonly uuid: string;
|
|
10
|
+
readonly name: string;
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly code3?: string;
|
|
13
|
+
readonly numericCode?: string;
|
|
14
|
+
readonly isAvailable: boolean;
|
|
15
|
+
readonly createdAt: string;
|
|
16
|
+
readonly updatedAt: string;
|
|
17
|
+
}
|
|
18
|
+
export interface Industry {
|
|
19
|
+
readonly uuid: string;
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly description?: string;
|
|
22
|
+
readonly code?: string;
|
|
23
|
+
readonly isActive: boolean;
|
|
24
|
+
readonly createdAt: string;
|
|
25
|
+
readonly updatedAt: string;
|
|
26
|
+
}
|
|
27
|
+
export interface Sector {
|
|
28
|
+
readonly uuid: string;
|
|
29
|
+
readonly name: string;
|
|
30
|
+
readonly industry: string;
|
|
31
|
+
readonly industryName?: string;
|
|
32
|
+
readonly description?: string;
|
|
33
|
+
readonly code?: string;
|
|
34
|
+
readonly isActive: boolean;
|
|
35
|
+
readonly createdAt: string;
|
|
36
|
+
readonly updatedAt: string;
|
|
37
|
+
}
|
|
38
|
+
export interface StockExchange {
|
|
39
|
+
readonly uuid: string;
|
|
40
|
+
readonly name: string;
|
|
41
|
+
readonly code: string;
|
|
42
|
+
readonly mic?: string;
|
|
43
|
+
readonly country: string;
|
|
44
|
+
readonly countryName?: string;
|
|
45
|
+
readonly timezone?: string;
|
|
46
|
+
readonly isActive: boolean;
|
|
47
|
+
readonly createdAt: string;
|
|
48
|
+
readonly updatedAt: string;
|
|
49
|
+
}
|
|
50
|
+
export interface PaginatedCountries {
|
|
51
|
+
readonly results: Country[];
|
|
52
|
+
readonly count: number;
|
|
53
|
+
readonly next: string | null;
|
|
54
|
+
readonly previous: string | null;
|
|
55
|
+
}
|
|
56
|
+
export interface PaginatedIndustries {
|
|
57
|
+
readonly results: Industry[];
|
|
58
|
+
readonly count: number;
|
|
59
|
+
readonly next: string | null;
|
|
60
|
+
readonly previous: string | null;
|
|
61
|
+
}
|
|
62
|
+
export interface PaginatedSectors {
|
|
63
|
+
readonly results: Sector[];
|
|
64
|
+
readonly count: number;
|
|
65
|
+
readonly next: string | null;
|
|
66
|
+
readonly previous: string | null;
|
|
67
|
+
}
|
|
68
|
+
export interface PaginatedStockExchanges {
|
|
69
|
+
readonly results: StockExchange[];
|
|
70
|
+
readonly count: number;
|
|
71
|
+
readonly next: string | null;
|
|
72
|
+
readonly previous: string | null;
|
|
73
|
+
}
|
|
74
|
+
export interface CountryFilters {
|
|
75
|
+
readonly name?: string;
|
|
76
|
+
readonly code?: string;
|
|
77
|
+
readonly isAvailable?: boolean;
|
|
78
|
+
readonly search?: string;
|
|
79
|
+
readonly ordering?: string;
|
|
80
|
+
readonly page?: number;
|
|
81
|
+
readonly pageSize?: number;
|
|
82
|
+
}
|
|
83
|
+
export interface IndustryFilters {
|
|
84
|
+
readonly name?: string;
|
|
85
|
+
readonly code?: string;
|
|
86
|
+
readonly isActive?: boolean;
|
|
87
|
+
readonly search?: string;
|
|
88
|
+
readonly ordering?: string;
|
|
89
|
+
readonly page?: number;
|
|
90
|
+
readonly pageSize?: number;
|
|
91
|
+
}
|
|
92
|
+
export interface SectorFilters {
|
|
93
|
+
readonly name?: string;
|
|
94
|
+
readonly code?: string;
|
|
95
|
+
readonly industry?: string;
|
|
96
|
+
readonly isActive?: boolean;
|
|
97
|
+
readonly search?: string;
|
|
98
|
+
readonly ordering?: string;
|
|
99
|
+
readonly page?: number;
|
|
100
|
+
readonly pageSize?: number;
|
|
101
|
+
}
|
|
102
|
+
export interface StockExchangeFilters {
|
|
103
|
+
readonly name?: string;
|
|
104
|
+
readonly code?: string;
|
|
105
|
+
readonly country?: string;
|
|
106
|
+
readonly isActive?: boolean;
|
|
107
|
+
readonly search?: string;
|
|
108
|
+
readonly ordering?: string;
|
|
109
|
+
readonly page?: number;
|
|
110
|
+
readonly pageSize?: number;
|
|
111
|
+
}
|
|
112
|
+
export declare const getCountries: ({ apiClient }: {
|
|
113
|
+
apiClient: ApiClient;
|
|
114
|
+
}, filters?: CountryFilters) => Promise<PaginatedCountries>;
|
|
115
|
+
export declare const getCountry: ({ apiClient }: {
|
|
116
|
+
apiClient: ApiClient;
|
|
117
|
+
}, uuid: string) => Promise<Country>;
|
|
118
|
+
export declare const getAvailableCountries: ({ apiClient }: {
|
|
119
|
+
apiClient: ApiClient;
|
|
120
|
+
}, filters?: Omit<CountryFilters, "isAvailable">) => Promise<PaginatedCountries>;
|
|
121
|
+
export declare const searchCountries: ({ apiClient }: {
|
|
122
|
+
apiClient: ApiClient;
|
|
123
|
+
}, searchTerm: string, filters?: Omit<CountryFilters, "search">) => Promise<PaginatedCountries>;
|
|
124
|
+
export declare const getCountryByCode: ({ apiClient }: {
|
|
125
|
+
apiClient: ApiClient;
|
|
126
|
+
}, code: string) => Promise<Country | null>;
|
|
127
|
+
export declare const getIndustries: ({ apiClient }: {
|
|
128
|
+
apiClient: ApiClient;
|
|
129
|
+
}, filters?: IndustryFilters) => Promise<PaginatedIndustries>;
|
|
130
|
+
export declare const getIndustry: ({ apiClient }: {
|
|
131
|
+
apiClient: ApiClient;
|
|
132
|
+
}, uuid: string) => Promise<Industry>;
|
|
133
|
+
export declare const getActiveIndustries: ({ apiClient }: {
|
|
134
|
+
apiClient: ApiClient;
|
|
135
|
+
}, filters?: Omit<IndustryFilters, "isActive">) => Promise<PaginatedIndustries>;
|
|
136
|
+
export declare const searchIndustries: ({ apiClient }: {
|
|
137
|
+
apiClient: ApiClient;
|
|
138
|
+
}, searchTerm: string, filters?: Omit<IndustryFilters, "search">) => Promise<PaginatedIndustries>;
|
|
139
|
+
export declare const getSectors: ({ apiClient }: {
|
|
140
|
+
apiClient: ApiClient;
|
|
141
|
+
}, filters?: SectorFilters) => Promise<PaginatedSectors>;
|
|
142
|
+
export declare const getSector: ({ apiClient }: {
|
|
143
|
+
apiClient: ApiClient;
|
|
144
|
+
}, uuid: string) => Promise<Sector>;
|
|
145
|
+
export declare const getSectorsByIndustry: ({ apiClient }: {
|
|
146
|
+
apiClient: ApiClient;
|
|
147
|
+
}, industryUuid: string, filters?: Omit<SectorFilters, "industry">) => Promise<PaginatedSectors>;
|
|
148
|
+
export declare const getActiveSectors: ({ apiClient }: {
|
|
149
|
+
apiClient: ApiClient;
|
|
150
|
+
}, filters?: Omit<SectorFilters, "isActive">) => Promise<PaginatedSectors>;
|
|
151
|
+
export declare const searchSectors: ({ apiClient }: {
|
|
152
|
+
apiClient: ApiClient;
|
|
153
|
+
}, searchTerm: string, filters?: Omit<SectorFilters, "search">) => Promise<PaginatedSectors>;
|
|
154
|
+
export declare const getStockExchanges: ({ apiClient }: {
|
|
155
|
+
apiClient: ApiClient;
|
|
156
|
+
}, filters?: StockExchangeFilters) => Promise<PaginatedStockExchanges>;
|
|
157
|
+
export declare const getStockExchange: ({ apiClient }: {
|
|
158
|
+
apiClient: ApiClient;
|
|
159
|
+
}, uuid: string) => Promise<StockExchange>;
|
|
160
|
+
export declare const getStockExchangesByCountry: ({ apiClient }: {
|
|
161
|
+
apiClient: ApiClient;
|
|
162
|
+
}, countryUuid: string, filters?: Omit<StockExchangeFilters, "country">) => Promise<PaginatedStockExchanges>;
|
|
163
|
+
export declare const getActiveStockExchanges: ({ apiClient }: {
|
|
164
|
+
apiClient: ApiClient;
|
|
165
|
+
}, filters?: Omit<StockExchangeFilters, "isActive">) => Promise<PaginatedStockExchanges>;
|
|
166
|
+
export declare const searchStockExchanges: ({ apiClient }: {
|
|
167
|
+
apiClient: ApiClient;
|
|
168
|
+
}, searchTerm: string, filters?: Omit<StockExchangeFilters, "search">) => Promise<PaginatedStockExchanges>;
|
|
169
|
+
export declare const getStockExchangeByCode: ({ apiClient }: {
|
|
170
|
+
apiClient: ApiClient;
|
|
171
|
+
}, code: string) => Promise<StockExchange | null>;
|
|
172
|
+
export declare const getAllActiveReferenceData: ({ apiClient }: {
|
|
173
|
+
apiClient: ApiClient;
|
|
174
|
+
}) => Promise<{
|
|
175
|
+
countries: Country[];
|
|
176
|
+
industries: Industry[];
|
|
177
|
+
sectors: Sector[];
|
|
178
|
+
stockExchanges: StockExchange[];
|
|
179
|
+
}>;
|
|
180
|
+
export declare const formatCountryName: (country: Country) => string;
|
|
181
|
+
export declare const formatStockExchangeName: (exchange: StockExchange) => string;
|
|
182
|
+
export declare const getSectorsGroupedByIndustry: ({ apiClient }: {
|
|
183
|
+
apiClient: ApiClient;
|
|
184
|
+
}) => Promise<Map<string, Sector[]>>;
|
|
185
|
+
//# sourceMappingURL=reference-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-data.d.ts","sourceRoot":"","sources":["../../src/services/reference-data.ts"],"names":[],"mappings":"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"}
|