@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
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory functions to create platform-specific AuthManager instances
|
|
3
|
-
*
|
|
4
|
-
* Provides convenient setup for web and mobile authentication with
|
|
5
|
-
* appropriate API clients and token storage implementations.
|
|
6
|
-
*/
|
|
7
|
-
import { AuthManager } from './AuthManager';
|
|
8
|
-
import { WebApiClient } from '../adapters/WebApiClient';
|
|
9
|
-
import { WebTokenStorage } from '../adapters/WebTokenStorage';
|
|
10
|
-
import { MobileApiClient } from '../adapters/MobileApiClient';
|
|
11
|
-
import { MobileTokenStorage } from '../adapters/MobileTokenStorage';
|
|
12
|
-
/**
|
|
13
|
-
* Create AuthManager for web applications
|
|
14
|
-
* Uses cookie-based authentication with fetch API
|
|
15
|
-
*/
|
|
16
|
-
export function createWebAuthManager(config) {
|
|
17
|
-
const apiClient = new WebApiClient({
|
|
18
|
-
baseURL: config.apiBaseUrl,
|
|
19
|
-
withCredentials: true, // Enable cookies
|
|
20
|
-
timeout: config.apiTimeout || 30000,
|
|
21
|
-
});
|
|
22
|
-
const tokenStorage = new WebTokenStorage();
|
|
23
|
-
return new AuthManager({
|
|
24
|
-
apiClient,
|
|
25
|
-
tokenStorage,
|
|
26
|
-
onAuthStateChange: config.onAuthStateChange,
|
|
27
|
-
autoRefreshEnabled: config.autoRefreshEnabled ?? true,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Create AuthManager for mobile applications
|
|
32
|
-
* Uses secure storage with token-based authentication
|
|
33
|
-
*/
|
|
34
|
-
export function createMobileAuthManager(config) {
|
|
35
|
-
const apiClient = new MobileApiClient({
|
|
36
|
-
baseURL: config.apiBaseUrl,
|
|
37
|
-
timeout: config.apiTimeout || 30000,
|
|
38
|
-
retryAttempts: config.retryAttempts || 3,
|
|
39
|
-
offlineQueueEnabled: config.offlineQueueEnabled ?? true,
|
|
40
|
-
});
|
|
41
|
-
const tokenStorage = new MobileTokenStorage(config.secureStore);
|
|
42
|
-
return new AuthManager({
|
|
43
|
-
apiClient,
|
|
44
|
-
tokenStorage,
|
|
45
|
-
onAuthStateChange: config.onAuthStateChange,
|
|
46
|
-
autoRefreshEnabled: config.autoRefreshEnabled ?? true,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Create Expo-specific AuthManager
|
|
51
|
-
* Convenience function for Expo applications using SecureStore
|
|
52
|
-
*/
|
|
53
|
-
export function createExpoAuthManager(config) {
|
|
54
|
-
return createMobileAuthManager({
|
|
55
|
-
...config,
|
|
56
|
-
secureStore: config.expoSecureStore,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* AuthManager factory for different platforms
|
|
61
|
-
*/
|
|
62
|
-
export const authManagerFactory = {
|
|
63
|
-
web: createWebAuthManager,
|
|
64
|
-
mobile: createMobileAuthManager,
|
|
65
|
-
expo: createExpoAuthManager,
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Platform detection utility
|
|
69
|
-
*/
|
|
70
|
-
export function detectPlatform() {
|
|
71
|
-
// Simple platform detection
|
|
72
|
-
if (typeof window !== 'undefined' && window.document) {
|
|
73
|
-
return 'web';
|
|
74
|
-
}
|
|
75
|
-
// Check for React Native environment
|
|
76
|
-
if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
|
|
77
|
-
return 'mobile';
|
|
78
|
-
}
|
|
79
|
-
// Default to web for SSR environments
|
|
80
|
-
return 'web';
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Auto-create AuthManager based on platform
|
|
84
|
-
*/
|
|
85
|
-
export function createAuthManagerForPlatform(config) {
|
|
86
|
-
const platform = detectPlatform();
|
|
87
|
-
if (platform === 'mobile') {
|
|
88
|
-
if (!config.secureStore) {
|
|
89
|
-
throw new Error('SecureStore is required for mobile platform');
|
|
90
|
-
}
|
|
91
|
-
return createMobileAuthManager({
|
|
92
|
-
apiBaseUrl: config.apiBaseUrl,
|
|
93
|
-
secureStore: config.secureStore,
|
|
94
|
-
onAuthStateChange: config.onAuthStateChange,
|
|
95
|
-
retryAttempts: config.retryAttempts,
|
|
96
|
-
offlineQueueEnabled: config.offlineQueueEnabled,
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
return createWebAuthManager({
|
|
100
|
-
apiBaseUrl: config.apiBaseUrl,
|
|
101
|
-
onAuthStateChange: config.onAuthStateChange,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* React hook for AuthManager integration
|
|
3
|
-
*
|
|
4
|
-
* Provides a React-friendly interface to the AuthManager with
|
|
5
|
-
* automatic state synchronization and React Query integration.
|
|
6
|
-
*/
|
|
7
|
-
import React from 'react';
|
|
8
|
-
import type { AuthManager, AuthState } from './AuthManager';
|
|
9
|
-
import type { SigninPayload, SignupPayload } from '../services/AuthService';
|
|
10
|
-
export interface UseAuthManagerOptions {
|
|
11
|
-
authManager: AuthManager;
|
|
12
|
-
enableQueryInvalidation?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare function useAuthManager({ authManager, enableQueryInvalidation }: UseAuthManagerOptions): {
|
|
15
|
-
getState: () => AuthState;
|
|
16
|
-
clearError: () => void;
|
|
17
|
-
signin: (credentials: SigninPayload) => Promise<AuthState>;
|
|
18
|
-
signout: () => Promise<AuthState>;
|
|
19
|
-
signup: (userData: SignupPayload) => Promise<{
|
|
20
|
-
success: boolean;
|
|
21
|
-
error?: string;
|
|
22
|
-
}>;
|
|
23
|
-
refreshTokens: () => Promise<boolean>;
|
|
24
|
-
refreshProfile: () => Promise<void>;
|
|
25
|
-
isSignedIn: boolean;
|
|
26
|
-
isSignedOut: boolean;
|
|
27
|
-
hasUser: boolean;
|
|
28
|
-
hasError: boolean;
|
|
29
|
-
isAuthenticated: boolean;
|
|
30
|
-
isLoading: boolean;
|
|
31
|
-
user: import("..").UserProfile | null;
|
|
32
|
-
error: string | null;
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Higher-order component for AuthManager integration
|
|
36
|
-
*/
|
|
37
|
-
export declare function withAuthManager<P extends object>(Component: React.ComponentType<P & {
|
|
38
|
-
authManager: ReturnType<typeof useAuthManager>;
|
|
39
|
-
}>, authManager: AuthManager): (props: P) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
-
export declare function AuthManagerProvider({ children, authManager }: {
|
|
41
|
-
children: React.ReactNode;
|
|
42
|
-
authManager: AuthManager;
|
|
43
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
44
|
-
export declare function useAuthManagerContext(options?: {
|
|
45
|
-
enableQueryInvalidation?: boolean;
|
|
46
|
-
}): {
|
|
47
|
-
getState: () => AuthState;
|
|
48
|
-
clearError: () => void;
|
|
49
|
-
signin: (credentials: SigninPayload) => Promise<AuthState>;
|
|
50
|
-
signout: () => Promise<AuthState>;
|
|
51
|
-
signup: (userData: SignupPayload) => Promise<{
|
|
52
|
-
success: boolean;
|
|
53
|
-
error?: string;
|
|
54
|
-
}>;
|
|
55
|
-
refreshTokens: () => Promise<boolean>;
|
|
56
|
-
refreshProfile: () => Promise<void>;
|
|
57
|
-
isSignedIn: boolean;
|
|
58
|
-
isSignedOut: boolean;
|
|
59
|
-
hasUser: boolean;
|
|
60
|
-
hasError: boolean;
|
|
61
|
-
isAuthenticated: boolean;
|
|
62
|
-
isLoading: boolean;
|
|
63
|
-
user: import("..").UserProfile | null;
|
|
64
|
-
error: string | null;
|
|
65
|
-
};
|
|
66
|
-
//# sourceMappingURL=useAuthManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthManager.d.ts","sourceRoot":"","sources":["../../src/auth/useAuthManager.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA+E,MAAM,OAAO,CAAC;AAEpG,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,WAAW,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,EAAE,WAAW,EAAE,uBAA8B,EAAE,EAAE,qBAAqB;;;0BA4DrE,aAAa;;uBAYhB,aAAa;;;;;;;;;;;;;;EAsCzC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG;IAAE,WAAW,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CAAC,EACtF,WAAW,EAAE,WAAW,IAEW,OAAO,CAAC,6CAK5C;AAOD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,WAAW,EACZ,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;CAC1B,2CAMA;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAE;;;0BArFrD,aAAa;;uBAYhB,aAAa;;;;;;;;;;;;;;EAoFzC"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* React hook for AuthManager integration
|
|
4
|
-
*
|
|
5
|
-
* Provides a React-friendly interface to the AuthManager with
|
|
6
|
-
* automatic state synchronization and React Query integration.
|
|
7
|
-
*/
|
|
8
|
-
import { useEffect, useState, useCallback, useMemo, createContext, useContext } from 'react';
|
|
9
|
-
import { useQueryClient } from '@tanstack/react-query';
|
|
10
|
-
import { queryKeys } from '../query/QueryClient';
|
|
11
|
-
export function useAuthManager({ authManager, enableQueryInvalidation = true }) {
|
|
12
|
-
const queryClient = useQueryClient();
|
|
13
|
-
const [authState, setAuthState] = useState(() => authManager.getState());
|
|
14
|
-
// Initialize auth manager on mount
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
let mounted = true;
|
|
17
|
-
const initialize = async () => {
|
|
18
|
-
try {
|
|
19
|
-
await authManager.initialize();
|
|
20
|
-
if (mounted) {
|
|
21
|
-
setAuthState(authManager.getState());
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
catch (error) {
|
|
25
|
-
console.error('AuthManager initialization failed:', error);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
initialize();
|
|
29
|
-
return () => {
|
|
30
|
-
mounted = false;
|
|
31
|
-
};
|
|
32
|
-
}, [authManager]);
|
|
33
|
-
// Subscribe to auth state changes
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
const unsubscribe = (newState) => {
|
|
36
|
-
setAuthState(newState);
|
|
37
|
-
// Invalidate auth-related queries when authentication state changes
|
|
38
|
-
if (enableQueryInvalidation) {
|
|
39
|
-
if (newState.isAuthenticated && !authState.isAuthenticated) {
|
|
40
|
-
// User signed in - invalidate all queries to refresh data
|
|
41
|
-
queryClient.invalidateQueries();
|
|
42
|
-
}
|
|
43
|
-
else if (!newState.isAuthenticated && authState.isAuthenticated) {
|
|
44
|
-
// User signed out - clear all queries
|
|
45
|
-
queryClient.clear();
|
|
46
|
-
}
|
|
47
|
-
else if (newState.user && newState.user !== authState.user) {
|
|
48
|
-
// User profile changed - invalidate auth queries
|
|
49
|
-
queryClient.invalidateQueries({ queryKey: queryKeys.auth.profile() });
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
// Set up state change listener
|
|
54
|
-
const originalOnChange = authManager['onAuthStateChange'];
|
|
55
|
-
authManager['onAuthStateChange'] = (state) => {
|
|
56
|
-
unsubscribe(state);
|
|
57
|
-
originalOnChange?.(state);
|
|
58
|
-
};
|
|
59
|
-
return () => {
|
|
60
|
-
authManager['onAuthStateChange'] = originalOnChange;
|
|
61
|
-
};
|
|
62
|
-
}, [authManager, authState, queryClient, enableQueryInvalidation]);
|
|
63
|
-
// Memoized action functions
|
|
64
|
-
const actions = useMemo(() => ({
|
|
65
|
-
signin: async (credentials) => {
|
|
66
|
-
const result = await authManager.signin(credentials);
|
|
67
|
-
setAuthState(result);
|
|
68
|
-
return result;
|
|
69
|
-
},
|
|
70
|
-
signout: async () => {
|
|
71
|
-
const result = await authManager.signout();
|
|
72
|
-
setAuthState(result);
|
|
73
|
-
return result;
|
|
74
|
-
},
|
|
75
|
-
signup: async (userData) => {
|
|
76
|
-
return authManager.signup(userData);
|
|
77
|
-
},
|
|
78
|
-
refreshTokens: async () => {
|
|
79
|
-
return authManager.refreshTokens();
|
|
80
|
-
},
|
|
81
|
-
refreshProfile: async () => {
|
|
82
|
-
await authManager.refreshProfile();
|
|
83
|
-
setAuthState(authManager.getState());
|
|
84
|
-
},
|
|
85
|
-
}), [authManager]);
|
|
86
|
-
// Convenience getters
|
|
87
|
-
const derived = useMemo(() => ({
|
|
88
|
-
isSignedIn: authState.isAuthenticated,
|
|
89
|
-
isSignedOut: !authState.isAuthenticated && !authState.isLoading,
|
|
90
|
-
hasUser: !!authState.user,
|
|
91
|
-
hasError: !!authState.error,
|
|
92
|
-
}), [authState]);
|
|
93
|
-
return {
|
|
94
|
-
// State
|
|
95
|
-
...authState,
|
|
96
|
-
...derived,
|
|
97
|
-
// Actions
|
|
98
|
-
...actions,
|
|
99
|
-
// Utilities
|
|
100
|
-
getState: useCallback(() => authManager.getState(), [authManager]),
|
|
101
|
-
clearError: useCallback(() => {
|
|
102
|
-
if (authState.error) {
|
|
103
|
-
setAuthState((prev) => ({ ...prev, error: null }));
|
|
104
|
-
}
|
|
105
|
-
}, [authState.error]),
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Higher-order component for AuthManager integration
|
|
110
|
-
*/
|
|
111
|
-
export function withAuthManager(Component, authManager) {
|
|
112
|
-
return function AuthManagerWrapper(props) {
|
|
113
|
-
const authManagerHook = useAuthManager({ authManager });
|
|
114
|
-
return _jsx(Component, { ...props, authManager: authManagerHook });
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Context provider for AuthManager (optional pattern)
|
|
119
|
-
*/
|
|
120
|
-
const AuthManagerContext = createContext(null);
|
|
121
|
-
export function AuthManagerProvider({ children, authManager }) {
|
|
122
|
-
return (_jsx(AuthManagerContext.Provider, { value: authManager, children: children }));
|
|
123
|
-
}
|
|
124
|
-
export function useAuthManagerContext(options) {
|
|
125
|
-
const authManager = useContext(AuthManagerContext);
|
|
126
|
-
if (!authManager) {
|
|
127
|
-
throw new Error('useAuthManagerContext must be used within an AuthManagerProvider');
|
|
128
|
-
}
|
|
129
|
-
return useAuthManager({
|
|
130
|
-
authManager,
|
|
131
|
-
enableQueryInvalidation: options?.enableQueryInvalidation
|
|
132
|
-
});
|
|
133
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base API Client abstraction for cross-platform HTTP requests
|
|
3
|
-
*
|
|
4
|
-
* This provides a platform-agnostic interface for making HTTP requests
|
|
5
|
-
* with consistent error handling, authentication, and response processing.
|
|
6
|
-
*/
|
|
7
|
-
import type { TokenStorage } from './TokenStorage';
|
|
8
|
-
export interface RequestConfig {
|
|
9
|
-
url: string;
|
|
10
|
-
method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
11
|
-
data?: unknown;
|
|
12
|
-
params?: Record<string, unknown>;
|
|
13
|
-
headers?: Record<string, string>;
|
|
14
|
-
timeout?: number;
|
|
15
|
-
}
|
|
16
|
-
export interface ApiResponse<T = unknown> {
|
|
17
|
-
data: T;
|
|
18
|
-
status: number;
|
|
19
|
-
statusText: string;
|
|
20
|
-
headers: Record<string, string>;
|
|
21
|
-
}
|
|
22
|
-
export interface ApiError {
|
|
23
|
-
message: string;
|
|
24
|
-
status?: number;
|
|
25
|
-
code?: string;
|
|
26
|
-
data?: unknown;
|
|
27
|
-
}
|
|
28
|
-
export interface ApiClientConfig {
|
|
29
|
-
baseURL: string;
|
|
30
|
-
timeout?: number;
|
|
31
|
-
defaultHeaders?: Record<string, string>;
|
|
32
|
-
withCredentials?: boolean;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Abstract base class for API clients
|
|
36
|
-
* Platform-specific implementations should extend this class
|
|
37
|
-
*/
|
|
38
|
-
export declare abstract class BaseApiClient {
|
|
39
|
-
protected baseURL: string;
|
|
40
|
-
protected timeout: number;
|
|
41
|
-
protected defaultHeaders: Record<string, string>;
|
|
42
|
-
protected tokenStorage?: TokenStorage;
|
|
43
|
-
protected withCredentials: boolean;
|
|
44
|
-
constructor(config: ApiClientConfig);
|
|
45
|
-
/**
|
|
46
|
-
* Set token storage implementation
|
|
47
|
-
*/
|
|
48
|
-
setTokenStorage(storage: TokenStorage): void;
|
|
49
|
-
/**
|
|
50
|
-
* Make HTTP request - must be implemented by platform-specific clients
|
|
51
|
-
*/
|
|
52
|
-
abstract request<T = unknown>(config: RequestConfig): Promise<ApiResponse<T>>;
|
|
53
|
-
/**
|
|
54
|
-
* Convenience methods for common HTTP operations
|
|
55
|
-
*/
|
|
56
|
-
get<T = unknown>(url: string, params?: Record<string, unknown>): Promise<ApiResponse<T>>;
|
|
57
|
-
post<T = unknown>(url: string, data?: unknown): Promise<ApiResponse<T>>;
|
|
58
|
-
put<T = unknown>(url: string, data?: unknown): Promise<ApiResponse<T>>;
|
|
59
|
-
patch<T = unknown>(url: string, data?: unknown): Promise<ApiResponse<T>>;
|
|
60
|
-
delete<T = unknown>(url: string): Promise<ApiResponse<T>>;
|
|
61
|
-
/**
|
|
62
|
-
* Build full URL from relative path
|
|
63
|
-
*/
|
|
64
|
-
protected buildUrl(url: string): string;
|
|
65
|
-
/**
|
|
66
|
-
* Merge headers with defaults and authentication
|
|
67
|
-
*/
|
|
68
|
-
protected buildHeaders(headers?: Record<string, string>): Promise<Record<string, string>>;
|
|
69
|
-
/**
|
|
70
|
-
* Handle API errors consistently
|
|
71
|
-
*/
|
|
72
|
-
protected createError(message: string, status?: number, code?: string, data?: unknown): ApiError;
|
|
73
|
-
/**
|
|
74
|
-
* Check if error is authentication related
|
|
75
|
-
*/
|
|
76
|
-
protected isAuthError(error: ApiError): boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Handle token refresh logic (to be implemented by platform adapters)
|
|
79
|
-
*/
|
|
80
|
-
protected handleTokenRefresh(): Promise<boolean>;
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=BaseApiClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApiClient.d.ts","sourceRoot":"","sources":["../../src/core/BaseApiClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base API Client abstraction for cross-platform HTTP requests
|
|
3
|
-
*
|
|
4
|
-
* This provides a platform-agnostic interface for making HTTP requests
|
|
5
|
-
* with consistent error handling, authentication, and response processing.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Abstract base class for API clients
|
|
9
|
-
* Platform-specific implementations should extend this class
|
|
10
|
-
*/
|
|
11
|
-
export class BaseApiClient {
|
|
12
|
-
constructor(config) {
|
|
13
|
-
this.baseURL = config.baseURL;
|
|
14
|
-
this.timeout = config.timeout || 30000;
|
|
15
|
-
this.defaultHeaders = config.defaultHeaders || {};
|
|
16
|
-
this.withCredentials = config.withCredentials || false;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Set token storage implementation
|
|
20
|
-
*/
|
|
21
|
-
setTokenStorage(storage) {
|
|
22
|
-
this.tokenStorage = storage;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Convenience methods for common HTTP operations
|
|
26
|
-
*/
|
|
27
|
-
async get(url, params) {
|
|
28
|
-
return this.request({ url, method: 'GET', params });
|
|
29
|
-
}
|
|
30
|
-
async post(url, data) {
|
|
31
|
-
return this.request({ url, method: 'POST', data });
|
|
32
|
-
}
|
|
33
|
-
async put(url, data) {
|
|
34
|
-
return this.request({ url, method: 'PUT', data });
|
|
35
|
-
}
|
|
36
|
-
async patch(url, data) {
|
|
37
|
-
return this.request({ url, method: 'PATCH', data });
|
|
38
|
-
}
|
|
39
|
-
async delete(url) {
|
|
40
|
-
return this.request({ url, method: 'DELETE' });
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Build full URL from relative path
|
|
44
|
-
*/
|
|
45
|
-
buildUrl(url) {
|
|
46
|
-
if (url.startsWith('http')) {
|
|
47
|
-
return url;
|
|
48
|
-
}
|
|
49
|
-
return `${this.baseURL.replace(/\/$/, '')}/${url.replace(/^\//, '')}`;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Merge headers with defaults and authentication
|
|
53
|
-
*/
|
|
54
|
-
async buildHeaders(headers = {}) {
|
|
55
|
-
const mergedHeaders = { ...this.defaultHeaders, ...headers };
|
|
56
|
-
// Add authentication header if token storage is available and tokens exist
|
|
57
|
-
if (this.tokenStorage) {
|
|
58
|
-
const tokens = await this.tokenStorage.retrieveTokens();
|
|
59
|
-
if (tokens?.access) {
|
|
60
|
-
mergedHeaders['Authorization'] = `Bearer ${tokens.access}`;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return mergedHeaders;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Handle API errors consistently
|
|
67
|
-
*/
|
|
68
|
-
createError(message, status, code, data) {
|
|
69
|
-
return {
|
|
70
|
-
message,
|
|
71
|
-
status,
|
|
72
|
-
code,
|
|
73
|
-
data,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Check if error is authentication related
|
|
78
|
-
*/
|
|
79
|
-
isAuthError(error) {
|
|
80
|
-
return error.status === 401 || error.code === 'UNAUTHORIZED';
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Handle token refresh logic (to be implemented by platform adapters)
|
|
84
|
-
*/
|
|
85
|
-
async handleTokenRefresh() {
|
|
86
|
-
// Default implementation - override in platform-specific clients
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token storage abstraction for cross-platform authentication
|
|
3
|
-
*
|
|
4
|
-
* This interface provides a consistent API for storing authentication tokens
|
|
5
|
-
* across different platforms (web cookies, mobile secure storage, etc.)
|
|
6
|
-
*/
|
|
7
|
-
export interface TokenPair {
|
|
8
|
-
access: string;
|
|
9
|
-
refresh: string;
|
|
10
|
-
}
|
|
11
|
-
export interface TokenStorage {
|
|
12
|
-
/**
|
|
13
|
-
* Store authentication tokens securely
|
|
14
|
-
* @param tokens - The access and refresh tokens to store
|
|
15
|
-
*/
|
|
16
|
-
storeTokens(tokens: TokenPair): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Retrieve stored authentication tokens
|
|
19
|
-
* @returns The stored tokens or null if none exist
|
|
20
|
-
*/
|
|
21
|
-
retrieveTokens(): Promise<TokenPair | null>;
|
|
22
|
-
/**
|
|
23
|
-
* Clear all stored authentication tokens
|
|
24
|
-
*/
|
|
25
|
-
clearTokens(): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Check if tokens are currently stored
|
|
28
|
-
* @returns True if tokens exist, false otherwise
|
|
29
|
-
*/
|
|
30
|
-
hasTokens(): Promise<boolean>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Base implementation with common utilities
|
|
34
|
-
*/
|
|
35
|
-
export declare abstract class BaseTokenStorage implements TokenStorage {
|
|
36
|
-
abstract storeTokens(tokens: TokenPair): Promise<void>;
|
|
37
|
-
abstract retrieveTokens(): Promise<TokenPair | null>;
|
|
38
|
-
abstract clearTokens(): Promise<void>;
|
|
39
|
-
hasTokens(): Promise<boolean>;
|
|
40
|
-
/**
|
|
41
|
-
* Validate token format (basic validation)
|
|
42
|
-
*/
|
|
43
|
-
protected validateTokens(tokens: TokenPair): boolean;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=TokenStorage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../../src/core/TokenStorage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAE5C;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IACtD,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnC;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;CAKrD"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Token storage abstraction for cross-platform authentication
|
|
3
|
-
*
|
|
4
|
-
* This interface provides a consistent API for storing authentication tokens
|
|
5
|
-
* across different platforms (web cookies, mobile secure storage, etc.)
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Base implementation with common utilities
|
|
9
|
-
*/
|
|
10
|
-
export class BaseTokenStorage {
|
|
11
|
-
async hasTokens() {
|
|
12
|
-
const tokens = await this.retrieveTokens();
|
|
13
|
-
return tokens !== null && tokens.access !== '' && tokens.refresh !== '';
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Validate token format (basic validation)
|
|
17
|
-
*/
|
|
18
|
-
validateTokens(tokens) {
|
|
19
|
-
return !!(tokens.access && tokens.refresh &&
|
|
20
|
-
typeof tokens.access === 'string' &&
|
|
21
|
-
typeof tokens.refresh === 'string');
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared React Query client configuration
|
|
3
|
-
*
|
|
4
|
-
* Provides platform-optimized React Query configurations for web and mobile
|
|
5
|
-
* with appropriate caching, retry, and offline behavior settings.
|
|
6
|
-
*/
|
|
7
|
-
import { QueryClient } from '@tanstack/react-query';
|
|
8
|
-
export type Platform = 'web' | 'mobile';
|
|
9
|
-
export interface CreateQueryClientOptions {
|
|
10
|
-
platform: Platform;
|
|
11
|
-
defaultStaleTime?: number;
|
|
12
|
-
defaultRetryCount?: number;
|
|
13
|
-
enableOfflineSupport?: boolean;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Create a QueryClient with platform-optimized defaults
|
|
17
|
-
*/
|
|
18
|
-
export declare const createQueryClient: (options: CreateQueryClientOptions) => QueryClient;
|
|
19
|
-
/**
|
|
20
|
-
* Default query keys factory
|
|
21
|
-
* Provides consistent query key structure across the application
|
|
22
|
-
*/
|
|
23
|
-
export declare const queryKeys: {
|
|
24
|
-
readonly auth: {
|
|
25
|
-
readonly profile: () => readonly ["auth", "profile"];
|
|
26
|
-
readonly status: () => readonly ["auth", "status"];
|
|
27
|
-
};
|
|
28
|
-
readonly portfolios: {
|
|
29
|
-
readonly all: () => readonly ["portfolios"];
|
|
30
|
-
readonly detail: (id: string) => readonly ["portfolios", string];
|
|
31
|
-
readonly holdings: (id: string) => readonly ["portfolios", string, "holdings"];
|
|
32
|
-
readonly allocations: (id: string) => readonly ["portfolios", string, "allocations"];
|
|
33
|
-
};
|
|
34
|
-
readonly instruments: {
|
|
35
|
-
readonly all: (filters?: Record<string, unknown>) => readonly ["instruments", Record<string, unknown> | undefined];
|
|
36
|
-
readonly detail: (id: string) => readonly ["instruments", string];
|
|
37
|
-
readonly search: (query: string) => readonly ["instruments", "search", string];
|
|
38
|
-
};
|
|
39
|
-
readonly trades: {
|
|
40
|
-
readonly all: (filters?: Record<string, unknown>) => readonly ["trades", Record<string, unknown> | undefined];
|
|
41
|
-
readonly target: (filters?: Record<string, unknown>) => readonly ["trades", "target", Record<string, unknown> | undefined];
|
|
42
|
-
readonly detail: (id: string) => readonly ["trades", string];
|
|
43
|
-
};
|
|
44
|
-
readonly reference: {
|
|
45
|
-
readonly countries: () => readonly ["reference", "countries"];
|
|
46
|
-
readonly sectors: () => readonly ["reference", "sectors"];
|
|
47
|
-
readonly industries: () => readonly ["reference", "industries"];
|
|
48
|
-
readonly exchanges: () => readonly ["reference", "exchanges"];
|
|
49
|
-
};
|
|
50
|
-
readonly users: {
|
|
51
|
-
readonly profile: () => readonly ["users", "profile"];
|
|
52
|
-
readonly preferences: () => readonly ["users", "preferences"];
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Common query options factory
|
|
57
|
-
*/
|
|
58
|
-
export declare const createQueryOptions: {
|
|
59
|
-
/**
|
|
60
|
-
* Create options for frequently updated data
|
|
61
|
-
*/
|
|
62
|
-
realtime: (platform: Platform) => {
|
|
63
|
-
staleTime: number;
|
|
64
|
-
refetchInterval: number;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Create options for static reference data
|
|
68
|
-
*/
|
|
69
|
-
reference: () => {
|
|
70
|
-
staleTime: number;
|
|
71
|
-
gcTime: number;
|
|
72
|
-
refetchOnWindowFocus: boolean;
|
|
73
|
-
refetchOnReconnect: boolean;
|
|
74
|
-
};
|
|
75
|
-
/**
|
|
76
|
-
* Create options for user-specific data
|
|
77
|
-
*/
|
|
78
|
-
user: (platform: Platform) => {
|
|
79
|
-
staleTime: number;
|
|
80
|
-
};
|
|
81
|
-
};
|
|
82
|
-
//# sourceMappingURL=QueryClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QueryClient.d.ts","sourceRoot":"","sources":["../../src/query/QueryClient.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAA0B,MAAM,uBAAuB,CAAC;AAE5E,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAExC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,wBAAwB,KAAG,WA4CrE,CAAC;AA2BF;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;8BAUL,MAAM;gCACJ,MAAM;mCACH,MAAM;;;iCAKR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BAC1B,MAAM;iCACH,MAAM;;;iCAKN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oCACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BAC7B,MAAM;;;;;;;;;;;;CAgBb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B;;OAEG;yBACkB,QAAQ;;;;IAK7B;;OAEG;;;;;;;IAQH;;OAEG;qBACc,QAAQ;;;CAG1B,CAAC"}
|