@oxyhq/services 5.17.17 → 5.18.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/README.md +32 -38
- package/lib/commonjs/core/CrossDomainAuth.js +277 -0
- package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
- package/lib/commonjs/core/HttpService.js +82 -15
- package/lib/commonjs/core/HttpService.js.map +1 -1
- package/lib/commonjs/core/OxyServices.base.js +11 -3
- package/lib/commonjs/core/OxyServices.base.js.map +1 -1
- package/lib/commonjs/core/OxyServices.js +4 -1
- package/lib/commonjs/core/OxyServices.js.map +1 -1
- package/lib/commonjs/core/index.js +30 -0
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
- package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
- package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.features.js +372 -0
- package/lib/commonjs/core/mixins/OxyServices.features.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
- package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
- package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
- package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/commonjs/core/mixins/index.js +28 -15
- package/lib/commonjs/core/mixins/index.js.map +1 -1
- package/lib/commonjs/crypto/index.js +30 -0
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +902 -0
- package/lib/commonjs/crypto/keyManager.js.map +1 -0
- package/lib/commonjs/crypto/polyfill.js +14 -5
- package/lib/commonjs/crypto/polyfill.js.map +1 -1
- package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
- package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
- package/lib/commonjs/crypto/signatureService.js +289 -0
- package/lib/commonjs/crypto/signatureService.js.map +1 -0
- package/lib/commonjs/i18n/locales/en-US.json +1 -1
- package/lib/commonjs/index.js +40 -26
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +0 -15
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedItem.js +11 -1
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
- package/lib/commonjs/ui/components/Icon.js.map +1 -1
- package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +41 -11
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/SettingRow.js +17 -4
- package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
- package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
- package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/commonjs/ui/components/feedback/FormInput.js +72 -0
- package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/ProgressIndicator.js +33 -0
- package/lib/commonjs/ui/components/feedback/ProgressIndicator.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/constants.js +59 -0
- package/lib/commonjs/ui/components/feedback/constants.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js +262 -0
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/index.js +54 -0
- package/lib/commonjs/ui/components/feedback/index.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/types.js +6 -0
- package/lib/commonjs/ui/components/feedback/types.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/useFeedbackForm.js +52 -0
- package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -0
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +282 -0
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -0
- package/lib/commonjs/ui/components/modals/index.js +14 -0
- package/lib/commonjs/ui/components/modals/index.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +309 -0
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +79 -0
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +108 -0
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +79 -0
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +176 -0
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/constants.js +53 -0
- package/lib/commonjs/ui/components/payment/constants.js.map +1 -0
- package/lib/commonjs/ui/components/payment/index.js +80 -0
- package/lib/commonjs/ui/components/payment/index.js.map +1 -0
- package/lib/commonjs/ui/components/payment/paymentStyles.js +409 -0
- package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -0
- package/lib/commonjs/ui/components/payment/types.js +6 -0
- package/lib/commonjs/ui/components/payment/types.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +110 -199
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
- package/lib/commonjs/ui/hooks/index.js +26 -0
- package/lib/commonjs/ui/hooks/index.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +79 -72
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAsyncAction.js +95 -0
- package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -0
- package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
- package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSettingToggle.js +126 -0
- package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -0
- package/lib/commonjs/ui/hooks/useStorage.js +24 -58
- package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
- package/lib/commonjs/ui/index.js +50 -21
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +6 -1
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +6 -4
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +33 -30
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +315 -0
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/FeedbackScreen.js +73 -590
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -7
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +67 -1395
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +13 -5
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -10
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +23 -11
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/accountStore.js +2 -4
- package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
- package/lib/commonjs/ui/stores/authStore.js +45 -32
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/commonjs/ui/styles/spacing.js +54 -2
- package/lib/commonjs/ui/styles/spacing.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
- package/lib/commonjs/utils/errorUtils.js +13 -0
- package/lib/commonjs/utils/errorUtils.js.map +1 -1
- package/lib/commonjs/utils/validationUtils.js +15 -1
- package/lib/commonjs/utils/validationUtils.js.map +1 -1
- package/lib/module/core/CrossDomainAuth.js +271 -0
- package/lib/module/core/CrossDomainAuth.js.map +1 -0
- package/lib/module/core/HttpService.js +82 -15
- package/lib/module/core/HttpService.js.map +1 -1
- package/lib/module/core/OxyServices.base.js +11 -4
- package/lib/module/core/OxyServices.base.js.map +1 -1
- package/lib/module/core/OxyServices.js +4 -1
- package/lib/module/core/OxyServices.js.map +1 -1
- package/lib/module/core/index.js +6 -1
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.assets.js +16 -3
- package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.auth.js +73 -32
- package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.features.js +369 -0
- package/lib/module/core/mixins/OxyServices.features.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
- package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.popup.js +349 -0
- package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
- package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.user.js +35 -24
- package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/module/core/mixins/index.js +16 -3
- package/lib/module/core/mixins/index.js.map +1 -1
- package/lib/module/crypto/index.js +8 -4
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +899 -0
- package/lib/module/crypto/keyManager.js.map +1 -0
- package/lib/module/crypto/polyfill.js +6 -5
- package/lib/module/crypto/polyfill.js.map +1 -1
- package/lib/module/crypto/recoveryPhrase.js +147 -0
- package/lib/module/crypto/recoveryPhrase.js.map +1 -0
- package/lib/module/crypto/signatureService.js +286 -0
- package/lib/module/crypto/signatureService.js.map +1 -0
- package/lib/module/i18n/locales/en-US.json +1 -1
- package/lib/module/index.js +6 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +0 -15
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +6 -2
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/GroupedItem.js +11 -1
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/Icon.js.map +1 -1
- package/lib/module/ui/components/IconButton/utils.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +41 -11
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/SettingRow.js +17 -4
- package/lib/module/ui/components/SettingRow.js.map +1 -1
- package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/module/ui/components/TextField/helpers.js.map +1 -1
- package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
- package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/module/ui/components/feedback/FormInput.js +67 -0
- package/lib/module/ui/components/feedback/FormInput.js.map +1 -0
- package/lib/module/ui/components/feedback/ProgressIndicator.js +28 -0
- package/lib/module/ui/components/feedback/ProgressIndicator.js.map +1 -0
- package/lib/module/ui/components/feedback/constants.js +55 -0
- package/lib/module/ui/components/feedback/constants.js.map +1 -0
- package/lib/module/ui/components/feedback/feedbackStyles.js +257 -0
- package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -0
- package/lib/module/ui/components/feedback/index.js +8 -0
- package/lib/module/ui/components/feedback/index.js.map +1 -0
- package/lib/module/ui/components/feedback/types.js +4 -0
- package/lib/module/ui/components/feedback/types.js.map +1 -0
- package/lib/module/ui/components/feedback/useFeedbackForm.js +47 -0
- package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -0
- package/lib/module/ui/components/modals/DeleteAccountModal.js +276 -0
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -0
- package/lib/module/ui/components/modals/index.js +4 -0
- package/lib/module/ui/components/modals/index.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +303 -0
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentMethodStep.js +73 -0
- package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentReviewStep.js +102 -0
- package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentSuccessStep.js +73 -0
- package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentSummaryStep.js +170 -0
- package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -0
- package/lib/module/ui/components/payment/constants.js +47 -0
- package/lib/module/ui/components/payment/constants.js.map +1 -0
- package/lib/module/ui/components/payment/index.js +10 -0
- package/lib/module/ui/components/payment/index.js.map +1 -0
- package/lib/module/ui/components/payment/paymentStyles.js +404 -0
- package/lib/module/ui/components/payment/paymentStyles.js.map +1 -0
- package/lib/module/ui/components/payment/types.js +4 -0
- package/lib/module/ui/components/payment/types.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +112 -191
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
- package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
- package/lib/module/ui/hooks/index.js +2 -0
- package/lib/module/ui/hooks/index.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +80 -72
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js +89 -0
- package/lib/module/ui/hooks/useAsyncAction.js.map +1 -0
- package/lib/module/ui/hooks/useProfileEditing.js +3 -5
- package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +4 -8
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/hooks/useSessionSocket.js +162 -315
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js +120 -0
- package/lib/module/ui/hooks/useSettingToggle.js.map +1 -0
- package/lib/module/ui/hooks/useStorage.js +25 -59
- package/lib/module/ui/hooks/useStorage.js.map +1 -1
- package/lib/module/ui/index.js +15 -10
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +6 -1
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +6 -4
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +33 -30
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +310 -0
- package/lib/module/ui/screens/FAQScreen.js.map +1 -0
- package/lib/module/ui/screens/FeedbackScreen.js +64 -581
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +8 -7
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +67 -1397
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +13 -5
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -10
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +23 -11
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/stores/accountStore.js +2 -4
- package/lib/module/ui/stores/accountStore.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +45 -32
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/styles/spacing.js +6 -2
- package/lib/module/ui/styles/spacing.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +37 -40
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/ui/utils/storageHelpers.js.map +1 -1
- package/lib/module/utils/errorUtils.js +7 -0
- package/lib/module/utils/errorUtils.js.map +1 -1
- package/lib/module/utils/validationUtils.js +13 -0
- package/lib/module/utils/validationUtils.js.map +1 -1
- package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
- package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
- package/lib/typescript/core/HttpService.d.ts +1 -1
- package/lib/typescript/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/core/OxyServices.base.d.ts +0 -6
- package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
- package/lib/typescript/core/OxyServices.d.ts +5 -36
- package/lib/typescript/core/OxyServices.d.ts.map +1 -1
- package/lib/typescript/core/index.d.ts +4 -0
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.features.d.ts +229 -0
- package/lib/typescript/core/mixins/OxyServices.features.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
- package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
- package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
- package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
- package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
- package/lib/typescript/core/mixins/index.d.ts +291 -9
- package/lib/typescript/core/mixins/index.d.ts.map +1 -1
- package/lib/typescript/crypto/index.d.ts +6 -3
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts +190 -0
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
- package/lib/typescript/crypto/polyfill.d.ts +4 -3
- package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
- package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
- package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
- package/lib/typescript/crypto/signatureService.d.ts +87 -0
- package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +2 -14
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +0 -9
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/types/bip39.d.ts +32 -0
- package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
- package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/ui/components/GroupedItem.d.ts +5 -1
- package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/components/SettingRow.d.ts +6 -0
- package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -1
- package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
- package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
- package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
- package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
- package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/ui/components/feedback/FormInput.d.ts +20 -0
- package/lib/typescript/ui/components/feedback/FormInput.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts +11 -0
- package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/constants.d.ts +5 -0
- package/lib/typescript/ui/components/feedback/constants.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts +280 -0
- package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/index.d.ts +7 -0
- package/lib/typescript/ui/components/feedback/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/types.d.ts +46 -0
- package/lib/typescript/ui/components/feedback/types.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts +9 -0
- package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts.map +1 -0
- package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts +19 -0
- package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts.map +1 -0
- package/lib/typescript/ui/components/modals/index.d.ts +2 -0
- package/lib/typescript/ui/components/modals/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts +21 -0
- package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts +14 -0
- package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts +16 -0
- package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts +10 -0
- package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts +15 -0
- package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/constants.d.ts +7 -0
- package/lib/typescript/ui/components/payment/constants.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/index.d.ts +9 -0
- package/lib/typescript/ui/components/payment/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/paymentStyles.d.ts +396 -0
- package/lib/typescript/ui/components/payment/paymentStyles.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/types.d.ts +40 -0
- package/lib/typescript/ui/components/payment/types.d.ts.map +1 -0
- package/lib/typescript/ui/components/types.d.ts +4 -0
- package/lib/typescript/ui/components/types.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
- package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/index.d.ts +2 -0
- package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useAsyncAction.d.ts +51 -0
- package/lib/typescript/ui/hooks/useAsyncAction.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSettingToggle.d.ts +55 -0
- package/lib/typescript/ui/hooks/useSettingToggle.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
- package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
- package/lib/typescript/ui/index.d.ts +6 -2
- package/lib/typescript/ui/index.d.ts.map +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/FAQScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/FAQScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +3 -15
- package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +8 -7
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/ui/styles/spacing.d.ts +5 -0
- package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
- package/lib/typescript/ui/types/navigation.d.ts +2 -1
- package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
- package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
- package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
- package/lib/typescript/utils/errorUtils.d.ts +6 -0
- package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/utils/validationUtils.d.ts +8 -0
- package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/core/CrossDomainAuth.ts +307 -0
- package/src/core/HttpService.ts +99 -16
- package/src/core/OxyServices.base.ts +20 -3
- package/src/core/OxyServices.ts +7 -3
- package/src/core/index.ts +9 -1
- package/src/core/mixins/OxyServices.assets.ts +14 -3
- package/src/core/mixins/OxyServices.auth.ts +105 -36
- package/src/core/mixins/OxyServices.features.ts +428 -0
- package/src/core/mixins/OxyServices.fedcm.ts +315 -0
- package/src/core/mixins/OxyServices.popup.ts +402 -0
- package/src/core/mixins/OxyServices.redirect.ts +397 -0
- package/src/core/mixins/OxyServices.user.ts +39 -24
- package/src/core/mixins/index.ts +33 -14
- package/src/crypto/index.ts +16 -5
- package/src/crypto/keyManager.ts +966 -0
- package/src/crypto/polyfill.ts +6 -5
- package/src/crypto/recoveryPhrase.ts +166 -0
- package/src/crypto/signatureService.ts +323 -0
- package/src/i18n/locales/en-US.json +1 -1
- package/src/index.ts +19 -15
- package/src/models/interfaces.ts +4 -16
- package/src/models/session.ts +2 -11
- package/src/types/bip39.d.ts +32 -0
- package/src/ui/components/BottomSheetRouter.tsx +6 -1
- package/src/ui/components/GroupedItem.tsx +19 -1
- package/src/ui/components/Icon.tsx +1 -1
- package/src/ui/components/IconButton/utils.ts +1 -1
- package/src/ui/components/OxyProvider.tsx +44 -12
- package/src/ui/components/SettingRow.tsx +26 -4
- package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
- package/src/ui/components/TextField/Adornment/utils.ts +2 -2
- package/src/ui/components/TextField/helpers.tsx +10 -10
- package/src/ui/components/TextField/types.tsx +1 -1
- package/src/ui/components/TouchableRipple/utils.ts +2 -2
- package/src/ui/components/Typography/AnimatedText.tsx +2 -2
- package/src/ui/components/feedback/FormInput.tsx +84 -0
- package/src/ui/components/feedback/ProgressIndicator.tsx +35 -0
- package/src/ui/components/feedback/constants.ts +22 -0
- package/src/ui/components/feedback/feedbackStyles.ts +247 -0
- package/src/ui/components/feedback/index.ts +6 -0
- package/src/ui/components/feedback/types.ts +52 -0
- package/src/ui/components/feedback/useFeedbackForm.ts +44 -0
- package/src/ui/components/modals/DeleteAccountModal.tsx +294 -0
- package/src/ui/components/modals/index.ts +1 -0
- package/src/ui/components/payment/PaymentDetailsStep.tsx +222 -0
- package/src/ui/components/payment/PaymentMethodStep.tsx +89 -0
- package/src/ui/components/payment/PaymentReviewStep.tsx +126 -0
- package/src/ui/components/payment/PaymentSuccessStep.tsx +71 -0
- package/src/ui/components/payment/PaymentSummaryStep.tsx +159 -0
- package/src/ui/components/payment/constants.ts +39 -0
- package/src/ui/components/payment/index.ts +9 -0
- package/src/ui/components/payment/paymentStyles.ts +397 -0
- package/src/ui/components/payment/types.ts +45 -0
- package/src/ui/components/types.tsx +6 -0
- package/src/ui/context/OxyContext.tsx +173 -195
- package/src/ui/context/hooks/useAuthOperations.ts +177 -36
- package/src/ui/context/hooks/useSessionManagement.ts +399 -0
- package/src/ui/hooks/index.ts +3 -1
- package/src/ui/hooks/mutations/useAccountMutations.ts +83 -76
- package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
- package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
- package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
- package/src/ui/hooks/useAsyncAction.ts +129 -0
- package/src/ui/hooks/useProfileEditing.ts +3 -3
- package/src/ui/hooks/useSessionManagement.ts +5 -10
- package/src/ui/hooks/useSessionSocket.ts +46 -175
- package/src/ui/hooks/useSettingToggle.ts +147 -0
- package/src/ui/hooks/useStorage.ts +24 -76
- package/src/ui/index.ts +22 -13
- package/src/ui/navigation/routes.ts +8 -2
- package/src/ui/screens/AccountCenterScreen.tsx +4 -4
- package/src/ui/screens/AccountOverviewScreen.tsx +36 -38
- package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/FAQScreen.tsx +332 -0
- package/src/ui/screens/FeedbackScreen.tsx +91 -626
- package/src/ui/screens/HelpSupportScreen.tsx +7 -5
- package/src/ui/screens/OxyAuthScreen.tsx +138 -64
- package/src/ui/screens/PaymentGatewayScreen.tsx +96 -1275
- package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
- package/src/ui/screens/ProfileScreen.tsx +11 -6
- package/src/ui/screens/SavesCollectionsScreen.tsx +19 -10
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +10 -10
- package/src/ui/stores/accountStore.ts +1 -11
- package/src/ui/stores/authStore.ts +43 -44
- package/src/ui/styles/spacing.ts +15 -2
- package/src/ui/types/navigation.ts +2 -2
- package/src/ui/utils/avatarUtils.ts +39 -46
- package/src/ui/utils/storageHelpers.ts +0 -4
- package/src/utils/__tests__/validationUtils.test.ts +16 -1
- package/src/utils/errorUtils.ts +8 -1
- package/src/utils/validationUtils.ts +12 -0
- package/lib/commonjs/core/services/SessionService.js +0 -163
- package/lib/commonjs/core/services/SessionService.js.map +0 -1
- package/lib/commonjs/core/services/TokenService.js +0 -220
- package/lib/commonjs/core/services/TokenService.js.map +0 -1
- package/lib/commonjs/crypto/types.js +0 -2
- package/lib/commonjs/crypto/types.js.map +0 -1
- package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
- package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
- package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
- package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
- package/lib/module/core/services/SessionService.js +0 -159
- package/lib/module/core/services/SessionService.js.map +0 -1
- package/lib/module/core/services/TokenService.js +0 -217
- package/lib/module/core/services/TokenService.js.map +0 -1
- package/lib/module/crypto/types.js +0 -2
- package/lib/module/crypto/types.js.map +0 -1
- package/lib/module/ui/context/OxyContextBase.js +0 -16
- package/lib/module/ui/context/OxyContextBase.js.map +0 -1
- package/lib/module/ui/context/hooks/useStorage.js +0 -74
- package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
- package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
- package/lib/typescript/core/services/SessionService.d.ts +0 -78
- package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
- package/lib/typescript/core/services/TokenService.d.ts +0 -72
- package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
- package/lib/typescript/crypto/types.d.ts +0 -22
- package/lib/typescript/crypto/types.d.ts.map +0 -1
- package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
- package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
- package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
- package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
- package/src/core/services/SessionService.ts +0 -173
- package/src/core/services/TokenService.ts +0 -237
- package/src/crypto/types.ts +0 -23
- package/src/ui/context/OxyContextBase.tsx +0 -78
- package/src/ui/context/hooks/useStorage.ts +0 -104
- package/src/ui/hooks/useAvatarPicker.ts +0 -61
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* SessionService - Single Source of Truth for Session Management
|
|
5
|
-
*
|
|
6
|
-
* Handles all session operations: creation, validation, refresh, invalidation.
|
|
7
|
-
* Manages active session state and provides session data to other services.
|
|
8
|
-
*
|
|
9
|
-
* Architecture:
|
|
10
|
-
* - Single source of truth for session operations
|
|
11
|
-
* - Handles both online and offline sessions
|
|
12
|
-
* - Integrates with TokenService for token management
|
|
13
|
-
* - userId is always MongoDB ObjectId, never publicKey
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { tokenService } from './TokenService';
|
|
17
|
-
/**
|
|
18
|
-
* SessionService - Singleton pattern for global session management
|
|
19
|
-
*/
|
|
20
|
-
class SessionService {
|
|
21
|
-
oxyServices = null;
|
|
22
|
-
activeSession = null;
|
|
23
|
-
sessions = [];
|
|
24
|
-
constructor() {}
|
|
25
|
-
static getInstance() {
|
|
26
|
-
if (!SessionService.instance) {
|
|
27
|
-
SessionService.instance = new SessionService();
|
|
28
|
-
}
|
|
29
|
-
return SessionService.instance;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Initialize SessionService with OxyServices instance
|
|
34
|
-
*/
|
|
35
|
-
initialize(oxyServices) {
|
|
36
|
-
this.oxyServices = oxyServices;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Get active session
|
|
41
|
-
*/
|
|
42
|
-
getActiveSession() {
|
|
43
|
-
return this.activeSession;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Get all sessions
|
|
48
|
-
*/
|
|
49
|
-
getAllSessions() {
|
|
50
|
-
return [...this.sessions];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Create a new session (sign in)
|
|
55
|
-
* @param publicKey - User's public key for authentication
|
|
56
|
-
* @returns User object and session data
|
|
57
|
-
*/
|
|
58
|
-
async createSession(publicKey) {
|
|
59
|
-
if (!this.oxyServices) {
|
|
60
|
-
throw new Error('SessionService not initialized with OxyServices');
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// This will be implemented by delegating to existing sign-in logic
|
|
64
|
-
// For now, this is a placeholder that shows the interface
|
|
65
|
-
throw new Error('SessionService.createSession not yet implemented - use existing signIn flow');
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Refresh current session
|
|
70
|
-
*/
|
|
71
|
-
async refreshSession() {
|
|
72
|
-
if (!this.activeSession) {
|
|
73
|
-
throw new Error('No active session to refresh');
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Refresh token first
|
|
77
|
-
await tokenService.refreshTokenIfNeeded();
|
|
78
|
-
|
|
79
|
-
// Then refresh session data from server
|
|
80
|
-
// Implementation will be added
|
|
81
|
-
return this.activeSession;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Validate current session
|
|
86
|
-
*/
|
|
87
|
-
async validateSession() {
|
|
88
|
-
if (!this.activeSession) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// Check if session expired
|
|
93
|
-
if (new Date(this.activeSession.expiresAt) < new Date()) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Check if token is valid
|
|
98
|
-
const token = tokenService.getAccessToken();
|
|
99
|
-
if (!token) {
|
|
100
|
-
return false;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// Additional validation can be added here
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Invalidate current session (sign out)
|
|
109
|
-
*/
|
|
110
|
-
async invalidateSession() {
|
|
111
|
-
if (!this.activeSession || !this.oxyServices) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
try {
|
|
115
|
-
// Call API to invalidate session on server
|
|
116
|
-
await this.oxyServices.makeRequest('POST', `/api/session/${this.activeSession.sessionId}/logout`, undefined, {
|
|
117
|
-
cache: false
|
|
118
|
-
});
|
|
119
|
-
} catch (error) {
|
|
120
|
-
// Continue with local cleanup even if API call fails
|
|
121
|
-
console.warn('Failed to invalidate session on server:', error);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// Clear tokens
|
|
125
|
-
tokenService.clearTokens();
|
|
126
|
-
|
|
127
|
-
// Clear active session
|
|
128
|
-
this.activeSession = null;
|
|
129
|
-
this.sessions = this.sessions.filter(s => s.sessionId !== this.activeSession?.sessionId);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Set active session (internal use)
|
|
134
|
-
*/
|
|
135
|
-
setActiveSession(session) {
|
|
136
|
-
this.activeSession = session;
|
|
137
|
-
|
|
138
|
-
// Update sessions list
|
|
139
|
-
const existingIndex = this.sessions.findIndex(s => s.sessionId === session.sessionId);
|
|
140
|
-
if (existingIndex >= 0) {
|
|
141
|
-
this.sessions[existingIndex] = session;
|
|
142
|
-
} else {
|
|
143
|
-
this.sessions.push(session);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/**
|
|
148
|
-
* Clear all sessions (logout all)
|
|
149
|
-
*/
|
|
150
|
-
clearAllSessions() {
|
|
151
|
-
this.activeSession = null;
|
|
152
|
-
this.sessions = [];
|
|
153
|
-
tokenService.clearTokens();
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Export singleton instance
|
|
158
|
-
export const sessionService = SessionService.getInstance();
|
|
159
|
-
//# sourceMappingURL=SessionService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tokenService","SessionService","oxyServices","activeSession","sessions","constructor","getInstance","instance","initialize","getActiveSession","getAllSessions","createSession","publicKey","Error","refreshSession","refreshTokenIfNeeded","validateSession","Date","expiresAt","token","getAccessToken","invalidateSession","makeRequest","sessionId","undefined","cache","error","console","warn","clearTokens","filter","s","setActiveSession","session","existingIndex","findIndex","push","clearAllSessions","sessionService"],"sourceRoot":"../../../../src","sources":["core/services/SessionService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* TokenService - Single Source of Truth for Token Management
|
|
5
|
-
*
|
|
6
|
-
* Handles all token storage, retrieval, refresh, and validation.
|
|
7
|
-
* Used by HttpService, SocketService, and other services that need tokens.
|
|
8
|
-
*
|
|
9
|
-
* Architecture:
|
|
10
|
-
* - Single storage location (no duplication)
|
|
11
|
-
* - Automatic token refresh when expiring soon
|
|
12
|
-
* - Type-safe token payload handling
|
|
13
|
-
* - userId is always MongoDB ObjectId, never publicKey
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { jwtDecode } from 'jwt-decode';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* AccessTokenPayload - Matches the token payload structure from API
|
|
20
|
-
* userId is always MongoDB ObjectId (24 hex characters), never publicKey
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* TokenService - Singleton pattern for global token management
|
|
25
|
-
*/
|
|
26
|
-
class TokenService {
|
|
27
|
-
tokenStore = {
|
|
28
|
-
accessToken: null,
|
|
29
|
-
refreshToken: null
|
|
30
|
-
};
|
|
31
|
-
refreshPromise = null;
|
|
32
|
-
baseURL = null;
|
|
33
|
-
constructor() {}
|
|
34
|
-
static getInstance() {
|
|
35
|
-
if (!TokenService.instance) {
|
|
36
|
-
TokenService.instance = new TokenService();
|
|
37
|
-
}
|
|
38
|
-
return TokenService.instance;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Initialize TokenService with base URL for refresh requests
|
|
43
|
-
*/
|
|
44
|
-
initialize(baseURL) {
|
|
45
|
-
this.baseURL = baseURL;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Get current access token
|
|
50
|
-
*/
|
|
51
|
-
getAccessToken() {
|
|
52
|
-
return this.tokenStore.accessToken;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Get current refresh token
|
|
57
|
-
*/
|
|
58
|
-
getRefreshToken() {
|
|
59
|
-
return this.tokenStore.refreshToken;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Set tokens (called after login or token refresh)
|
|
64
|
-
*/
|
|
65
|
-
setTokens(accessToken, refreshToken = '') {
|
|
66
|
-
this.tokenStore.accessToken = accessToken;
|
|
67
|
-
this.tokenStore.refreshToken = refreshToken || this.tokenStore.refreshToken;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Clear all tokens (called on logout)
|
|
72
|
-
*/
|
|
73
|
-
clearTokens() {
|
|
74
|
-
this.tokenStore.accessToken = null;
|
|
75
|
-
this.tokenStore.refreshToken = null;
|
|
76
|
-
this.refreshPromise = null;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Check if access token exists
|
|
81
|
-
*/
|
|
82
|
-
hasAccessToken() {
|
|
83
|
-
return !!this.tokenStore.accessToken;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Check if token is expiring soon (within 60 seconds)
|
|
88
|
-
*/
|
|
89
|
-
isTokenExpiringSoon() {
|
|
90
|
-
const token = this.tokenStore.accessToken;
|
|
91
|
-
if (!token) return false;
|
|
92
|
-
try {
|
|
93
|
-
const decoded = jwtDecode(token);
|
|
94
|
-
if (!decoded.exp) return false;
|
|
95
|
-
const currentTime = Math.floor(Date.now() / 1000);
|
|
96
|
-
return decoded.exp - currentTime < 60; // Expiring within 60 seconds
|
|
97
|
-
} catch {
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/**
|
|
103
|
-
* Get userId from current access token
|
|
104
|
-
* Returns MongoDB ObjectId (never publicKey)
|
|
105
|
-
*/
|
|
106
|
-
getUserIdFromToken() {
|
|
107
|
-
const token = this.tokenStore.accessToken;
|
|
108
|
-
if (!token) return null;
|
|
109
|
-
try {
|
|
110
|
-
const decoded = jwtDecode(token);
|
|
111
|
-
return decoded.userId || null;
|
|
112
|
-
} catch {
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Refresh access token if expiring soon
|
|
119
|
-
* Returns promise that resolves when token is refreshed (or already valid)
|
|
120
|
-
*/
|
|
121
|
-
async refreshTokenIfNeeded() {
|
|
122
|
-
// If already refreshing, wait for that promise
|
|
123
|
-
if (this.refreshPromise) {
|
|
124
|
-
return this.refreshPromise;
|
|
125
|
-
}
|
|
126
|
-
const hasToken = !!this.tokenStore.accessToken;
|
|
127
|
-
const needsRefresh = this.isTokenExpiringSoon();
|
|
128
|
-
|
|
129
|
-
// If no access token but we have refresh token, attempt refresh once
|
|
130
|
-
if (!hasToken && this.tokenStore.refreshToken) {
|
|
131
|
-
this.refreshPromise = this._performRefresh();
|
|
132
|
-
try {
|
|
133
|
-
await this.refreshPromise;
|
|
134
|
-
} finally {
|
|
135
|
-
this.refreshPromise = null;
|
|
136
|
-
}
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// If token not expiring soon, no refresh needed
|
|
141
|
-
if (!needsRefresh) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Start refresh
|
|
146
|
-
this.refreshPromise = this._performRefresh();
|
|
147
|
-
try {
|
|
148
|
-
await this.refreshPromise;
|
|
149
|
-
} finally {
|
|
150
|
-
this.refreshPromise = null;
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/**
|
|
155
|
-
* Perform token refresh
|
|
156
|
-
*/
|
|
157
|
-
async _performRefresh() {
|
|
158
|
-
const refreshToken = this.tokenStore.refreshToken;
|
|
159
|
-
if (!refreshToken) {
|
|
160
|
-
throw new Error('No refresh token to refresh');
|
|
161
|
-
}
|
|
162
|
-
try {
|
|
163
|
-
if (!this.baseURL) {
|
|
164
|
-
throw new Error('TokenService not initialized with baseURL');
|
|
165
|
-
}
|
|
166
|
-
const refreshUrl = `${this.baseURL}/api/auth/refresh`;
|
|
167
|
-
const response = await fetch(refreshUrl, {
|
|
168
|
-
method: 'POST',
|
|
169
|
-
headers: {
|
|
170
|
-
'Accept': 'application/json',
|
|
171
|
-
'Content-Type': 'application/json'
|
|
172
|
-
},
|
|
173
|
-
body: JSON.stringify({
|
|
174
|
-
refreshToken
|
|
175
|
-
}),
|
|
176
|
-
signal: AbortSignal.timeout(5000)
|
|
177
|
-
});
|
|
178
|
-
if (!response.ok) {
|
|
179
|
-
throw new Error(`Token refresh failed: ${response.status}`);
|
|
180
|
-
}
|
|
181
|
-
const {
|
|
182
|
-
accessToken: newToken,
|
|
183
|
-
refreshToken: newRefresh
|
|
184
|
-
} = await response.json();
|
|
185
|
-
if (!newToken) {
|
|
186
|
-
throw new Error('No access token in refresh response');
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Validate new token has correct userId format (ObjectId)
|
|
190
|
-
const newDecoded = jwtDecode(newToken);
|
|
191
|
-
if (newDecoded.userId && !/^[0-9a-fA-F]{24}$/.test(newDecoded.userId)) {
|
|
192
|
-
throw new Error(`Invalid userId format in refreshed token: ${newDecoded.userId.substring(0, 20)}...`);
|
|
193
|
-
}
|
|
194
|
-
this.setTokens(newToken, newRefresh || refreshToken);
|
|
195
|
-
} catch (error) {
|
|
196
|
-
// Clear tokens on refresh failure (likely expired or invalid)
|
|
197
|
-
this.clearTokens();
|
|
198
|
-
throw error;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Get authorization header with automatic refresh
|
|
204
|
-
*/
|
|
205
|
-
async getAuthHeader() {
|
|
206
|
-
// Refresh if needed
|
|
207
|
-
await this.refreshTokenIfNeeded().catch(() => {
|
|
208
|
-
// Ignore refresh errors, will use current token or return null
|
|
209
|
-
});
|
|
210
|
-
const token = this.tokenStore.accessToken;
|
|
211
|
-
return token ? `Bearer ${token}` : null;
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
// Export singleton instance
|
|
216
|
-
export const tokenService = TokenService.getInstance();
|
|
217
|
-
//# sourceMappingURL=TokenService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jwtDecode","TokenService","tokenStore","accessToken","refreshToken","refreshPromise","baseURL","constructor","getInstance","instance","initialize","getAccessToken","getRefreshToken","setTokens","clearTokens","hasAccessToken","isTokenExpiringSoon","token","decoded","exp","currentTime","Math","floor","Date","now","getUserIdFromToken","userId","refreshTokenIfNeeded","hasToken","needsRefresh","_performRefresh","Error","refreshUrl","response","fetch","method","headers","body","JSON","stringify","signal","AbortSignal","timeout","ok","status","newToken","newRefresh","json","newDecoded","test","substring","error","getAuthHeader","catch","tokenService"],"sourceRoot":"../../../../src","sources":["core/services/TokenService.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,QAAQ,YAAY;;AAEtC;AACA;AACA;AACA;;AAeA;AACA;AACA;AACA,MAAMC,YAAY,CAAC;EAETC,UAAU,GAAe;IAC/BC,WAAW,EAAE,IAAI;IACjBC,YAAY,EAAE;EAChB,CAAC;EACOC,cAAc,GAAyB,IAAI;EAC3CC,OAAO,GAAkB,IAAI;EAE7BC,WAAWA,CAAA,EAAG,CAAC;EAEvB,OAAOC,WAAWA,CAAA,EAAiB;IACjC,IAAI,CAACP,YAAY,CAACQ,QAAQ,EAAE;MAC1BR,YAAY,CAACQ,QAAQ,GAAG,IAAIR,YAAY,CAAC,CAAC;IAC5C;IACA,OAAOA,YAAY,CAACQ,QAAQ;EAC9B;;EAEA;AACF;AACA;EACEC,UAAUA,CAACJ,OAAe,EAAQ;IAChC,IAAI,CAACA,OAAO,GAAGA,OAAO;EACxB;;EAEA;AACF;AACA;EACEK,cAAcA,CAAA,EAAkB;IAC9B,OAAO,IAAI,CAACT,UAAU,CAACC,WAAW;EACpC;;EAEA;AACF;AACA;EACES,eAAeA,CAAA,EAAkB;IAC/B,OAAO,IAAI,CAACV,UAAU,CAACE,YAAY;EACrC;;EAEA;AACF;AACA;EACES,SAASA,CAACV,WAAmB,EAAEC,YAAoB,GAAG,EAAE,EAAQ;IAC9D,IAAI,CAACF,UAAU,CAACC,WAAW,GAAGA,WAAW;IACzC,IAAI,CAACD,UAAU,CAACE,YAAY,GAAGA,YAAY,IAAI,IAAI,CAACF,UAAU,CAACE,YAAY;EAC7E;;EAEA;AACF;AACA;EACEU,WAAWA,CAAA,EAAS;IAClB,IAAI,CAACZ,UAAU,CAACC,WAAW,GAAG,IAAI;IAClC,IAAI,CAACD,UAAU,CAACE,YAAY,GAAG,IAAI;IACnC,IAAI,CAACC,cAAc,GAAG,IAAI;EAC5B;;EAEA;AACF;AACA;EACEU,cAAcA,CAAA,EAAY;IACxB,OAAO,CAAC,CAAC,IAAI,CAACb,UAAU,CAACC,WAAW;EACtC;;EAEA;AACF;AACA;EACEa,mBAAmBA,CAAA,EAAY;IAC7B,MAAMC,KAAK,GAAG,IAAI,CAACf,UAAU,CAACC,WAAW;IACzC,IAAI,CAACc,KAAK,EAAE,OAAO,KAAK;IAExB,IAAI;MACF,MAAMC,OAAO,GAAGlB,SAAS,CAAqBiB,KAAK,CAAC;MACpD,IAAI,CAACC,OAAO,CAACC,GAAG,EAAE,OAAO,KAAK;MAE9B,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;MACjD,OAAON,OAAO,CAACC,GAAG,GAAGC,WAAW,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,MAAM;MACN,OAAO,KAAK;IACd;EACF;;EAEA;AACF;AACA;AACA;EACEK,kBAAkBA,CAAA,EAAkB;IAClC,MAAMR,KAAK,GAAG,IAAI,CAACf,UAAU,CAACC,WAAW;IACzC,IAAI,CAACc,KAAK,EAAE,OAAO,IAAI;IAEvB,IAAI;MACF,MAAMC,OAAO,GAAGlB,SAAS,CAAqBiB,KAAK,CAAC;MACpD,OAAOC,OAAO,CAACQ,MAAM,IAAI,IAAI;IAC/B,CAAC,CAAC,MAAM;MACN,OAAO,IAAI;IACb;EACF;;EAEA;AACF;AACA;AACA;EACE,MAAMC,oBAAoBA,CAAA,EAAkB;IAC1C;IACA,IAAI,IAAI,CAACtB,cAAc,EAAE;MACvB,OAAO,IAAI,CAACA,cAAc;IAC5B;IAEA,MAAMuB,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC1B,UAAU,CAACC,WAAW;IAC9C,MAAM0B,YAAY,GAAG,IAAI,CAACb,mBAAmB,CAAC,CAAC;;IAE/C;IACA,IAAI,CAACY,QAAQ,IAAI,IAAI,CAAC1B,UAAU,CAACE,YAAY,EAAE;MAC7C,IAAI,CAACC,cAAc,GAAG,IAAI,CAACyB,eAAe,CAAC,CAAC;MAC5C,IAAI;QACF,MAAM,IAAI,CAACzB,cAAc;MAC3B,CAAC,SAAS;QACR,IAAI,CAACA,cAAc,GAAG,IAAI;MAC5B;MACA;IACF;;IAEA;IACA,IAAI,CAACwB,YAAY,EAAE;MACjB;IACF;;IAEA;IACA,IAAI,CAACxB,cAAc,GAAG,IAAI,CAACyB,eAAe,CAAC,CAAC;IAE5C,IAAI;MACF,MAAM,IAAI,CAACzB,cAAc;IAC3B,CAAC,SAAS;MACR,IAAI,CAACA,cAAc,GAAG,IAAI;IAC5B;EACF;;EAEA;AACF;AACA;EACE,MAAcyB,eAAeA,CAAA,EAAkB;IAC7C,MAAM1B,YAAY,GAAG,IAAI,CAACF,UAAU,CAACE,YAAY;IACjD,IAAI,CAACA,YAAY,EAAE;MACjB,MAAM,IAAI2B,KAAK,CAAC,6BAA6B,CAAC;IAChD;IAEA,IAAI;MACF,IAAI,CAAC,IAAI,CAACzB,OAAO,EAAE;QACjB,MAAM,IAAIyB,KAAK,CAAC,2CAA2C,CAAC;MAC9D;MAEA,MAAMC,UAAU,GAAG,GAAG,IAAI,CAAC1B,OAAO,mBAAmB;MACrD,MAAM2B,QAAQ,GAAG,MAAMC,KAAK,CAACF,UAAU,EAAE;QACvCG,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,QAAQ,EAAE,kBAAkB;UAC5B,cAAc,EAAE;QAClB,CAAC;QACDC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UAAEnC;QAAa,CAAC,CAAC;QACtCoC,MAAM,EAAEC,WAAW,CAACC,OAAO,CAAC,IAAI;MAClC,CAAC,CAAC;MAEF,IAAI,CAACT,QAAQ,CAACU,EAAE,EAAE;QAChB,MAAM,IAAIZ,KAAK,CAAC,yBAAyBE,QAAQ,CAACW,MAAM,EAAE,CAAC;MAC7D;MAEA,MAAM;QAAEzC,WAAW,EAAE0C,QAAQ;QAAEzC,YAAY,EAAE0C;MAAW,CAAC,GAAG,MAAMb,QAAQ,CAACc,IAAI,CAAC,CAAC;MAEjF,IAAI,CAACF,QAAQ,EAAE;QACb,MAAM,IAAId,KAAK,CAAC,qCAAqC,CAAC;MACxD;;MAEA;MACA,MAAMiB,UAAU,GAAGhD,SAAS,CAAqB6C,QAAQ,CAAC;MAC1D,IAAIG,UAAU,CAACtB,MAAM,IAAI,CAAC,mBAAmB,CAACuB,IAAI,CAACD,UAAU,CAACtB,MAAM,CAAC,EAAE;QACrE,MAAM,IAAIK,KAAK,CAAC,6CAA6CiB,UAAU,CAACtB,MAAM,CAACwB,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC;MACvG;MAEA,IAAI,CAACrC,SAAS,CAACgC,QAAQ,EAAEC,UAAU,IAAI1C,YAAY,CAAC;IACtD,CAAC,CAAC,OAAO+C,KAAK,EAAE;MACd;MACA,IAAI,CAACrC,WAAW,CAAC,CAAC;MAClB,MAAMqC,KAAK;IACb;EACF;;EAEA;AACF;AACA;EACE,MAAMC,aAAaA,CAAA,EAA2B;IAC5C;IACA,MAAM,IAAI,CAACzB,oBAAoB,CAAC,CAAC,CAAC0B,KAAK,CAAC,MAAM;MAC5C;IAAA,CACD,CAAC;IAEF,MAAMpC,KAAK,GAAG,IAAI,CAACf,UAAU,CAACC,WAAW;IACzC,OAAOc,KAAK,GAAG,UAAUA,KAAK,EAAE,GAAG,IAAI;EACzC;AACF;;AAEA;AACA,OAAO,MAAMqC,YAAY,GAAGrD,YAAY,CAACO,WAAW,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["crypto/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { createContext, useContext } from 'react';
|
|
4
|
-
export const OxyContext = /*#__PURE__*/createContext(null);
|
|
5
|
-
/**
|
|
6
|
-
* Hook to access the Oxy context.
|
|
7
|
-
* Must be used within an OxyContextProvider.
|
|
8
|
-
*/
|
|
9
|
-
export const useOxy = () => {
|
|
10
|
-
const context = useContext(OxyContext);
|
|
11
|
-
if (!context) {
|
|
12
|
-
throw new Error('useOxy must be used within an OxyContextProvider');
|
|
13
|
-
}
|
|
14
|
-
return context;
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=OxyContextBase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useContext","OxyContext","useOxy","context","Error"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContextBase.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAwDjD,OAAO,MAAMC,UAAU,gBAAGF,aAAa,CAAyB,IAAI,CAAC;AAWrE;AACA;AACA;AACA;AACA,OAAO,MAAMG,MAAM,GAAGA,CAAA,KAAuB;EACzC,MAAMC,OAAO,GAAGH,UAAU,CAACC,UAAU,CAAC;EACtC,IAAI,CAACE,OAAO,EAAE;IACV,MAAM,IAAIC,KAAK,CAAC,kDAAkD,CAAC;EACvE;EACA,OAAOD,OAAO;AAClB,CAAC","ignoreList":[]}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
4
|
-
import { createPlatformStorage } from '../../utils/storageHelpers';
|
|
5
|
-
import { extractErrorMessage } from '../../utils/errorHandlers';
|
|
6
|
-
const DEFAULT_ERROR_CODE = 'STORAGE_INIT_ERROR';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* React hook that exposes a platform-agnostic storage reference.
|
|
10
|
-
* Handles initialization, error propagation, and lazy re-initialization.
|
|
11
|
-
*
|
|
12
|
-
* @param options - Optional configuration for error reporting and logging
|
|
13
|
-
*/
|
|
14
|
-
export const useStorage = ({
|
|
15
|
-
onError,
|
|
16
|
-
logger,
|
|
17
|
-
errorCode = DEFAULT_ERROR_CODE
|
|
18
|
-
} = {}) => {
|
|
19
|
-
const [storage, setStorage] = useState(null);
|
|
20
|
-
const [error, setError] = useState(null);
|
|
21
|
-
const initializingRef = useRef(null);
|
|
22
|
-
const notifyError = useCallback(err => {
|
|
23
|
-
const message = extractErrorMessage(err, 'Failed to initialize storage');
|
|
24
|
-
setError(message);
|
|
25
|
-
if (logger) {
|
|
26
|
-
logger(message, err);
|
|
27
|
-
}
|
|
28
|
-
onError?.({
|
|
29
|
-
message,
|
|
30
|
-
code: errorCode,
|
|
31
|
-
status: 500
|
|
32
|
-
});
|
|
33
|
-
}, [errorCode, logger, onError]);
|
|
34
|
-
const createStorageInstance = useCallback(async () => {
|
|
35
|
-
try {
|
|
36
|
-
const platformStorage = await createPlatformStorage();
|
|
37
|
-
setStorage(platformStorage);
|
|
38
|
-
setError(null);
|
|
39
|
-
return platformStorage;
|
|
40
|
-
} catch (err) {
|
|
41
|
-
notifyError(err);
|
|
42
|
-
setStorage(null);
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
}, [notifyError]);
|
|
46
|
-
const refresh = useCallback(async () => {
|
|
47
|
-
if (!initializingRef.current) {
|
|
48
|
-
initializingRef.current = createStorageInstance().finally(() => {
|
|
49
|
-
initializingRef.current = null;
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return initializingRef.current;
|
|
53
|
-
}, [createStorageInstance]);
|
|
54
|
-
useEffect(() => {
|
|
55
|
-
refresh().catch(err => {
|
|
56
|
-
notifyError(err);
|
|
57
|
-
});
|
|
58
|
-
}, [refresh, notifyError]);
|
|
59
|
-
const withStorage = useCallback(async callback => {
|
|
60
|
-
const resolvedStorage = storage ?? (await refresh());
|
|
61
|
-
if (!resolvedStorage) {
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
return callback(resolvedStorage);
|
|
65
|
-
}, [refresh, storage]);
|
|
66
|
-
return {
|
|
67
|
-
storage,
|
|
68
|
-
isReady: Boolean(storage) && !error,
|
|
69
|
-
error,
|
|
70
|
-
refresh,
|
|
71
|
-
withStorage
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=useStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","createPlatformStorage","extractErrorMessage","DEFAULT_ERROR_CODE","useStorage","onError","logger","errorCode","storage","setStorage","error","setError","initializingRef","notifyError","err","message","code","status","createStorageInstance","platformStorage","refresh","current","finally","catch","withStorage","callback","resolvedStorage","isReady","Boolean"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useStorage.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAEhE,SAASC,qBAAqB,QAA+B,4BAA4B;AACzF,SAASC,mBAAmB,QAAQ,2BAA2B;AAgB/D,MAAMC,kBAAkB,GAAG,oBAAoB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAC;EACzBC,OAAO;EACPC,MAAM;EACNC,SAAS,GAAGJ;AACK,CAAC,GAAG,CAAC,CAAC,KAAuB;EAC9C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAGT,QAAQ,CAA0B,IAAI,CAAC;EACrE,MAAM,CAACU,KAAK,EAAEC,QAAQ,CAAC,GAAGX,QAAQ,CAAgB,IAAI,CAAC;EACvD,MAAMY,eAAe,GAAGb,MAAM,CAA0C,IAAI,CAAC;EAE7E,MAAMc,WAAW,GAAGhB,WAAW,CAC5BiB,GAAY,IAAK;IAChB,MAAMC,OAAO,GAAGb,mBAAmB,CAACY,GAAG,EAAE,8BAA8B,CAAC;IACxEH,QAAQ,CAACI,OAAO,CAAC;IAEjB,IAAIT,MAAM,EAAE;MACVA,MAAM,CAACS,OAAO,EAAED,GAAG,CAAC;IACtB;IAEAT,OAAO,GAAG;MACRU,OAAO;MACPC,IAAI,EAAET,SAAS;MACfU,MAAM,EAAE;IACV,CAAC,CAAC;EACJ,CAAC,EACD,CAACV,SAAS,EAAED,MAAM,EAAED,OAAO,CAC7B,CAAC;EAED,MAAMa,qBAAqB,GAAGrB,WAAW,CAAC,YAA8C;IACtF,IAAI;MACF,MAAMsB,eAAe,GAAG,MAAMlB,qBAAqB,CAAC,CAAC;MACrDQ,UAAU,CAACU,eAAe,CAAC;MAC3BR,QAAQ,CAAC,IAAI,CAAC;MACd,OAAOQ,eAAe;IACxB,CAAC,CAAC,OAAOL,GAAG,EAAE;MACZD,WAAW,CAACC,GAAG,CAAC;MAChBL,UAAU,CAAC,IAAI,CAAC;MAChB,OAAO,IAAI;IACb;EACF,CAAC,EAAE,CAACI,WAAW,CAAC,CAAC;EAEjB,MAAMO,OAAO,GAAGvB,WAAW,CAAC,YAA8C;IACxE,IAAI,CAACe,eAAe,CAACS,OAAO,EAAE;MAC5BT,eAAe,CAACS,OAAO,GAAGH,qBAAqB,CAAC,CAAC,CAACI,OAAO,CAAC,MAAM;QAC9DV,eAAe,CAACS,OAAO,GAAG,IAAI;MAChC,CAAC,CAAC;IACJ;IAEA,OAAOT,eAAe,CAACS,OAAO;EAChC,CAAC,EAAE,CAACH,qBAAqB,CAAC,CAAC;EAE3BpB,SAAS,CAAC,MAAM;IACdsB,OAAO,CAAC,CAAC,CAACG,KAAK,CAAET,GAAG,IAAK;MACvBD,WAAW,CAACC,GAAG,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACM,OAAO,EAAEP,WAAW,CAAC,CAAC;EAE1B,MAAMW,WAAW,GAAG3B,WAAW,CAC7B,MAAW4B,QAA2D,IAAwB;IAC5F,MAAMC,eAAe,GAAGlB,OAAO,KAAK,MAAMY,OAAO,CAAC,CAAC,CAAC;IACpD,IAAI,CAACM,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;IACA,OAAOD,QAAQ,CAACC,eAAe,CAAC;EAClC,CAAC,EACD,CAACN,OAAO,EAAEZ,OAAO,CACnB,CAAC;EAED,OAAO;IACLA,OAAO;IACPmB,OAAO,EAAEC,OAAO,CAACpB,OAAO,CAAC,IAAI,CAACE,KAAK;IACnCA,KAAK;IACLU,OAAO;IACPI;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Provides avatar picker action wired to bottom sheet selection and profile update.
|
|
5
|
-
*/
|
|
6
|
-
import { useCallback } from 'react';
|
|
7
|
-
import { toast } from '../../lib/sonner';
|
|
8
|
-
import { translate } from '../../i18n';
|
|
9
|
-
import { updateAvatarVisibility, updateProfileWithAvatar } from '../utils/avatarUtils';
|
|
10
|
-
export const useAvatarPicker = ({
|
|
11
|
-
oxyServices,
|
|
12
|
-
currentLanguage,
|
|
13
|
-
activeSessionId,
|
|
14
|
-
currentDeviceId,
|
|
15
|
-
queryClient,
|
|
16
|
-
showBottomSheet
|
|
17
|
-
}) => {
|
|
18
|
-
const openAvatarPicker = useCallback(() => {
|
|
19
|
-
showBottomSheet({
|
|
20
|
-
screen: 'FileManagement',
|
|
21
|
-
props: {
|
|
22
|
-
selectMode: true,
|
|
23
|
-
multiSelect: false,
|
|
24
|
-
disabledMimeTypes: ['video/', 'audio/', 'application/pdf'],
|
|
25
|
-
afterSelect: 'none',
|
|
26
|
-
onSelect: async file => {
|
|
27
|
-
if (!file.contentType.startsWith('image/')) {
|
|
28
|
-
toast.error(translate(currentLanguage, 'editProfile.toasts.selectImage') || 'Please select an image file');
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
try {
|
|
32
|
-
await updateAvatarVisibility(file.id, oxyServices, 'OxyContext');
|
|
33
|
-
await updateProfileWithAvatar({
|
|
34
|
-
avatar: file.id
|
|
35
|
-
}, oxyServices, activeSessionId, queryClient, {
|
|
36
|
-
deviceId: currentDeviceId || undefined
|
|
37
|
-
});
|
|
38
|
-
toast.success(translate(currentLanguage, 'editProfile.toasts.avatarUpdated') || 'Avatar updated');
|
|
39
|
-
} catch (e) {
|
|
40
|
-
toast.error(e.message || translate(currentLanguage, 'editProfile.toasts.updateAvatarFailed') || 'Failed to update avatar');
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
}, [activeSessionId, currentDeviceId, currentLanguage, oxyServices, queryClient, showBottomSheet]);
|
|
46
|
-
return {
|
|
47
|
-
openAvatarPicker
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=useAvatarPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","toast","translate","updateAvatarVisibility","updateProfileWithAvatar","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","currentDeviceId","queryClient","showBottomSheet","openAvatarPicker","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","error","id","avatar","deviceId","undefined","success","e","message"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,sBAAsB,EAAEC,uBAAuB,QAAQ,sBAAsB;AAatF,OAAO,MAAMC,eAAe,GAAGA,CAAC;EAC9BC,WAAW;EACXC,eAAe;EACfC,eAAe;EACfC,eAAe;EACfC,WAAW;EACXC;AACsB,CAAC,KAAK;EAC5B,MAAMC,gBAAgB,GAAGZ,WAAW,CAAC,MAAM;IACzCW,eAAe,CAAC;MACdE,MAAM,EAAE,gBAA6B;MACrCC,KAAK,EAAE;QACLC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC;QAC1DC,WAAW,EAAE,MAAM;QACnBC,QAAQ,EAAE,MAAOC,IAAS,IAAK;UAC7B,IAAI,CAACA,IAAI,CAACC,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC1CrB,KAAK,CAACsB,KAAK,CAACrB,SAAS,CAACK,eAAe,EAAE,gCAAgC,CAAC,IAAI,6BAA6B,CAAC;YAC1G;UACF;UACA,IAAI;YACF,MAAMJ,sBAAsB,CAACiB,IAAI,CAACI,EAAE,EAAElB,WAAW,EAAE,YAAY,CAAC;YAChE,MAAMF,uBAAuB,CAC3B;cAAEqB,MAAM,EAAEL,IAAI,CAACI;YAAG,CAAC,EACnBlB,WAAW,EACXE,eAAe,EACfE,WAAW,EACX;cAAEgB,QAAQ,EAAEjB,eAAe,IAAIkB;YAAU,CAC3C,CAAC;YACD1B,KAAK,CAAC2B,OAAO,CAAC1B,SAAS,CAACK,eAAe,EAAE,kCAAkC,CAAC,IAAI,gBAAgB,CAAC;UACnG,CAAC,CAAC,OAAOsB,CAAM,EAAE;YACf5B,KAAK,CAACsB,KAAK,CAACM,CAAC,CAACC,OAAO,IAAI5B,SAAS,CAACK,eAAe,EAAE,uCAAuC,CAAC,IAAI,yBAAyB,CAAC;UAC5H;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACC,eAAe,EAAEC,eAAe,EAAEF,eAAe,EAAED,WAAW,EAAEI,WAAW,EAAEC,eAAe,CAAC,CAAC;EAElG,OAAO;IAAEC;EAAiB,CAAC;AAC7B,CAAC","ignoreList":[]}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SessionService - Single Source of Truth for Session Management
|
|
3
|
-
*
|
|
4
|
-
* Handles all session operations: creation, validation, refresh, invalidation.
|
|
5
|
-
* Manages active session state and provides session data to other services.
|
|
6
|
-
*
|
|
7
|
-
* Architecture:
|
|
8
|
-
* - Single source of truth for session operations
|
|
9
|
-
* - Handles both online and offline sessions
|
|
10
|
-
* - Integrates with TokenService for token management
|
|
11
|
-
* - userId is always MongoDB ObjectId, never publicKey
|
|
12
|
-
*/
|
|
13
|
-
import type { OxyServices } from '../OxyServices';
|
|
14
|
-
import type { User } from '../../models/interfaces';
|
|
15
|
-
export interface Session {
|
|
16
|
-
sessionId: string;
|
|
17
|
-
deviceId: string;
|
|
18
|
-
userId: string;
|
|
19
|
-
expiresAt: string;
|
|
20
|
-
lastActive: string;
|
|
21
|
-
isCurrent: boolean;
|
|
22
|
-
isOffline?: boolean;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* SessionService - Singleton pattern for global session management
|
|
26
|
-
*/
|
|
27
|
-
declare class SessionService {
|
|
28
|
-
private static instance;
|
|
29
|
-
private oxyServices;
|
|
30
|
-
private activeSession;
|
|
31
|
-
private sessions;
|
|
32
|
-
private constructor();
|
|
33
|
-
static getInstance(): SessionService;
|
|
34
|
-
/**
|
|
35
|
-
* Initialize SessionService with OxyServices instance
|
|
36
|
-
*/
|
|
37
|
-
initialize(oxyServices: OxyServices): void;
|
|
38
|
-
/**
|
|
39
|
-
* Get active session
|
|
40
|
-
*/
|
|
41
|
-
getActiveSession(): Session | null;
|
|
42
|
-
/**
|
|
43
|
-
* Get all sessions
|
|
44
|
-
*/
|
|
45
|
-
getAllSessions(): Session[];
|
|
46
|
-
/**
|
|
47
|
-
* Create a new session (sign in)
|
|
48
|
-
* @param publicKey - User's public key for authentication
|
|
49
|
-
* @returns User object and session data
|
|
50
|
-
*/
|
|
51
|
-
createSession(publicKey: string): Promise<{
|
|
52
|
-
user: User;
|
|
53
|
-
session: Session;
|
|
54
|
-
}>;
|
|
55
|
-
/**
|
|
56
|
-
* Refresh current session
|
|
57
|
-
*/
|
|
58
|
-
refreshSession(): Promise<Session>;
|
|
59
|
-
/**
|
|
60
|
-
* Validate current session
|
|
61
|
-
*/
|
|
62
|
-
validateSession(): Promise<boolean>;
|
|
63
|
-
/**
|
|
64
|
-
* Invalidate current session (sign out)
|
|
65
|
-
*/
|
|
66
|
-
invalidateSession(): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* Set active session (internal use)
|
|
69
|
-
*/
|
|
70
|
-
setActiveSession(session: Session): void;
|
|
71
|
-
/**
|
|
72
|
-
* Clear all sessions (logout all)
|
|
73
|
-
*/
|
|
74
|
-
clearAllSessions(): void;
|
|
75
|
-
}
|
|
76
|
-
export declare const sessionService: SessionService;
|
|
77
|
-
export {};
|
|
78
|
-
//# sourceMappingURL=SessionService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionService.d.ts","sourceRoot":"","sources":["../../../../src/core/services/SessionService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI1C;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,cAAc,IAAI,OAAO,EAAE;IAI3B;;;;OAIG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAUjF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAaxC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBzC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBxC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYxC;;OAEG;IACH,gBAAgB,IAAI,IAAI;CAKzB;AAGD,eAAO,MAAM,cAAc,gBAA+B,CAAC"}
|