@onairos/react-native 3.1.18 → 3.2.1
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 +374 -403
- package/lib/commonjs/api/index.js +1 -75
- package/lib/commonjs/api/index.js.map +1 -1
- package/lib/commonjs/assets/images/email.png +0 -0
- package/lib/commonjs/assets/images/linkedin.png +0 -0
- package/lib/commonjs/assets/images/reddit.png +0 -0
- package/lib/commonjs/assets/images/youtube.png +0 -0
- package/lib/commonjs/components/DataRequestModal.js.map +1 -1
- package/lib/commonjs/components/DataRequestScreen.js.map +1 -1
- package/lib/commonjs/components/EmailVerificationModal.js.map +1 -1
- package/lib/commonjs/components/Onairos.js +3 -1
- package/lib/commonjs/components/Onairos.js.map +1 -1
- package/lib/commonjs/components/OnairosButton.js +190 -171
- package/lib/commonjs/components/OnairosButton.js.map +1 -1
- package/lib/commonjs/components/Overlay.js +5 -5
- package/lib/commonjs/components/Overlay.js.map +1 -1
- package/lib/commonjs/components/PinInput.js +120 -282
- package/lib/commonjs/components/PinInput.js.map +1 -1
- package/lib/commonjs/components/PlatformList.js.map +1 -1
- package/lib/commonjs/components/TrainingModal.js +563 -808
- package/lib/commonjs/components/TrainingModal.js.map +1 -1
- package/lib/commonjs/components/UniversalOnboarding.js +1296 -2302
- package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
- package/lib/commonjs/components/UniversalOnboarding.tsx.new +455 -0
- package/lib/commonjs/components/onboarding/OAuthWebView.js +743 -134
- package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
- package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +1 -1
- package/lib/commonjs/components/onboarding/PinInput.js.map +1 -1
- package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -1
- package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -1
- package/lib/commonjs/components/screens/LoadingScreen.js.map +1 -1
- package/lib/commonjs/components/screens/PinCreationScreen.js.map +1 -1
- package/lib/commonjs/constants/index.js.map +1 -1
- package/lib/commonjs/hooks/useConnections.js +125 -120
- package/lib/commonjs/hooks/useConnections.js.map +1 -1
- package/lib/commonjs/hooks/useCredentials.js.map +1 -1
- package/lib/commonjs/index.js +27 -157
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/SDK_API_KEY_VALIDATION.md +428 -0
- package/lib/commonjs/services/apiKeyService.js +106 -105
- package/lib/commonjs/services/apiKeyService.js.map +1 -1
- package/lib/commonjs/services/oauthService.js.map +1 -1
- package/lib/commonjs/services/platformAuthService.js +722 -956
- package/lib/commonjs/services/platformAuthService.js.map +1 -1
- package/lib/commonjs/types/ambient.d.js.map +1 -1
- package/lib/commonjs/types/declarations.d.js.map +1 -1
- package/lib/commonjs/types/index.d.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/types/node-fix.d.js.map +1 -1
- package/lib/commonjs/types/node-override.d.js.map +1 -1
- package/lib/commonjs/types/opacity.d.js.map +1 -1
- package/lib/commonjs/types/types.d.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/Portal.js +4 -4
- package/lib/commonjs/utils/Portal.js.map +1 -1
- package/lib/commonjs/utils/api.js +24 -24
- package/lib/commonjs/utils/api.js.map +1 -1
- package/lib/commonjs/utils/auth.js +18 -18
- package/lib/commonjs/utils/auth.js.map +1 -1
- package/lib/commonjs/utils/crypto.js +13 -13
- package/lib/commonjs/utils/crypto.js.map +1 -1
- package/lib/commonjs/utils/debugHelper.js.map +1 -1
- package/lib/commonjs/utils/encryption.js +12 -12
- package/lib/commonjs/utils/encryption.js.map +1 -1
- package/lib/commonjs/utils/onairosApi.js.map +1 -1
- package/lib/commonjs/utils/programmaticFlow.js +16 -16
- package/lib/commonjs/utils/programmaticFlow.js.map +1 -1
- package/lib/commonjs/utils/retryHelper.js +27 -27
- package/lib/commonjs/utils/retryHelper.js.map +1 -1
- package/lib/commonjs/utils/secureStorage.js.map +1 -1
- package/lib/module/api/index.js +0 -72
- package/lib/module/api/index.js.map +1 -1
- package/lib/module/assets/images/email.png +0 -0
- package/lib/module/assets/images/linkedin.png +0 -0
- package/lib/module/assets/images/reddit.png +0 -0
- package/lib/module/assets/images/youtube.png +0 -0
- package/lib/module/components/DataRequestModal.js.map +1 -1
- package/lib/module/components/DataRequestScreen.js.map +1 -1
- package/lib/module/components/EmailVerificationModal.js.map +1 -1
- package/lib/module/components/Onairos.js +3 -1
- package/lib/module/components/Onairos.js.map +1 -1
- package/lib/module/components/OnairosButton.js +192 -172
- package/lib/module/components/OnairosButton.js.map +1 -1
- package/lib/module/components/Overlay.js +5 -5
- package/lib/module/components/Overlay.js.map +1 -1
- package/lib/module/components/PinInput.js +120 -283
- package/lib/module/components/PinInput.js.map +1 -1
- package/lib/module/components/PlatformList.js.map +1 -1
- package/lib/module/components/TrainingModal.js +565 -809
- package/lib/module/components/TrainingModal.js.map +1 -1
- package/lib/module/components/UniversalOnboarding.js +1297 -2305
- package/lib/module/components/UniversalOnboarding.js.map +1 -1
- package/lib/module/components/UniversalOnboarding.tsx.new +455 -0
- package/lib/module/components/onboarding/OAuthWebView.js +744 -136
- package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
- package/lib/module/components/onboarding/OnboardingHeader.js.map +1 -1
- package/lib/module/components/onboarding/PinInput.js.map +1 -1
- package/lib/module/components/onboarding/PlatformConnector.js.map +1 -1
- package/lib/module/components/screens/ConnectorScreen.js.map +1 -1
- package/lib/module/components/screens/LoadingScreen.js.map +1 -1
- package/lib/module/components/screens/PinCreationScreen.js.map +1 -1
- package/lib/module/constants/index.js.map +1 -1
- package/lib/module/hooks/useConnections.js +125 -119
- package/lib/module/hooks/useConnections.js.map +1 -1
- package/lib/module/hooks/useCredentials.js.map +1 -1
- package/lib/module/index.js +17 -55
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/SDK_API_KEY_VALIDATION.md +428 -0
- package/lib/module/services/apiKeyService.js +106 -105
- package/lib/module/services/apiKeyService.js.map +1 -1
- package/lib/module/services/oauthService.js.map +1 -1
- package/lib/module/services/platformAuthService.js +704 -943
- package/lib/module/services/platformAuthService.js.map +1 -1
- package/lib/module/types/ambient.d.js.map +1 -1
- package/lib/module/types/declarations.d.js.map +1 -1
- package/lib/module/types/index.d.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/types/node-fix.d.js.map +1 -1
- package/lib/module/types/node-override.d.js.map +1 -1
- package/lib/module/types/opacity.d.js.map +1 -1
- package/lib/module/types/types.d.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/Portal.js +4 -4
- package/lib/module/utils/Portal.js.map +1 -1
- package/lib/module/utils/api.js +24 -24
- package/lib/module/utils/api.js.map +1 -1
- package/lib/module/utils/auth.js +18 -18
- package/lib/module/utils/auth.js.map +1 -1
- package/lib/module/utils/crypto.js +13 -13
- package/lib/module/utils/crypto.js.map +1 -1
- package/lib/module/utils/debugHelper.js.map +1 -1
- package/lib/module/utils/encryption.js +12 -12
- package/lib/module/utils/encryption.js.map +1 -1
- package/lib/module/utils/onairosApi.js.map +1 -1
- package/lib/module/utils/programmaticFlow.js +16 -16
- package/lib/module/utils/programmaticFlow.js.map +1 -1
- package/lib/module/utils/retryHelper.js +27 -27
- package/lib/module/utils/retryHelper.js.map +1 -1
- package/lib/module/utils/secureStorage.js.map +1 -1
- package/lib/typescript/api/index.d.ts +7 -15
- package/lib/typescript/api/index.d.ts.map +1 -1
- package/lib/typescript/components/DataRequestModal.d.ts +10 -10
- package/lib/typescript/components/DataRequestScreen.d.ts +10 -10
- package/lib/typescript/components/EmailVerificationModal.d.ts +10 -10
- package/lib/typescript/components/Onairos.d.ts +3 -3
- package/lib/typescript/components/Onairos.d.ts.map +1 -1
- package/lib/typescript/components/OnairosButton.d.ts +11 -36
- package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
- package/lib/typescript/components/Overlay.d.ts +3 -3
- package/lib/typescript/components/PinInput.d.ts +3 -13
- package/lib/typescript/components/PinInput.d.ts.map +1 -1
- package/lib/typescript/components/PlatformList.d.ts +3 -3
- package/lib/typescript/components/TrainingModal.d.ts +3 -14
- package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
- package/lib/typescript/components/UniversalOnboarding.d.ts +3 -16
- package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts +9 -9
- package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
- package/lib/typescript/components/onboarding/OnboardingHeader.d.ts +10 -10
- package/lib/typescript/components/onboarding/PinInput.d.ts +3 -3
- package/lib/typescript/components/onboarding/PlatformConnector.d.ts +12 -12
- package/lib/typescript/components/screens/ConnectorScreen.d.ts +8 -8
- package/lib/typescript/components/screens/LoadingScreen.d.ts +8 -8
- package/lib/typescript/components/screens/PinCreationScreen.d.ts +9 -9
- package/lib/typescript/constants/index.d.ts +52 -52
- package/lib/typescript/hooks/useConnections.d.ts +8 -13
- package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
- package/lib/typescript/hooks/useCredentials.d.ts +8 -8
- package/lib/typescript/index.d.ts +17 -38
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/services/apiKeyService.d.ts +131 -131
- package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
- package/lib/typescript/services/oauthService.d.ts +49 -49
- package/lib/typescript/services/platformAuthService.d.ts +143 -68
- package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
- package/lib/typescript/types/index.d.ts +228 -264
- package/lib/typescript/types/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +268 -266
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/Portal.d.ts +13 -13
- package/lib/typescript/utils/api.d.ts +5 -5
- package/lib/typescript/utils/auth.d.ts +5 -5
- package/lib/typescript/utils/crypto.d.ts +3 -3
- package/lib/typescript/utils/debugHelper.d.ts +28 -28
- package/lib/typescript/utils/encryption.d.ts +18 -18
- package/lib/typescript/utils/onairosApi.d.ts +86 -86
- package/lib/typescript/utils/programmaticFlow.d.ts +22 -22
- package/lib/typescript/utils/retryHelper.d.ts +68 -68
- package/lib/typescript/utils/secureStorage.d.ts +93 -93
- package/package.json +149 -145
- package/src/api/index.ts +110 -151
- package/src/assets/images/email.png +0 -0
- package/src/assets/images/linkedin.png +0 -0
- package/src/assets/images/reddit.png +0 -0
- package/src/assets/images/youtube.png +0 -0
- package/src/components/DataRequestScreen.tsx +355 -355
- package/src/components/EmailVerificationModal.tsx +363 -363
- package/src/components/Onairos.tsx +424 -422
- package/src/components/OnairosButton.tsx +359 -339
- package/src/components/Overlay.tsx +506 -506
- package/src/components/PinInput.tsx +343 -555
- package/src/components/PlatformList.tsx +144 -144
- package/src/components/TrainingModal.tsx +737 -1047
- package/src/components/UniversalOnboarding.tsx +1839 -2888
- package/src/components/UniversalOnboarding.tsx.new +455 -0
- package/src/components/onboarding/OAuthWebView.tsx +838 -232
- package/src/hooks/useConnections.ts +163 -161
- package/src/hooks/useCredentials.ts +174 -174
- package/src/index.js +14 -14
- package/src/index.ts +49 -99
- package/src/services/SDK_API_KEY_VALIDATION.md +428 -0
- package/src/services/apiKeyService.ts +921 -919
- package/src/services/platformAuthService.ts +1113 -1346
- package/src/types/ambient.d.ts +28 -28
- package/src/types/index.ts +241 -265
- package/src/types/node-fix.d.ts +18 -18
- package/src/types/node-override.d.ts +23 -23
- package/src/types/opacity.d.ts +15 -15
- package/src/types/types.d.ts +17 -17
- package/src/types.ts +6 -4
- package/src/utils/Portal.tsx +82 -82
- package/src/utils/api.js +111 -111
- package/src/utils/auth.js +103 -103
- package/src/utils/crypto.js +59 -59
- package/src/utils/encryption.ts +68 -68
- package/src/utils/programmaticFlow.ts +112 -112
- package/src/utils/retryHelper.ts +274 -274
- package/types/index.d.ts +213 -213
- package/types/node-env.d.ts +14 -14
- package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
- package/lib/commonjs/assets/icons/Gmail.png +0 -0
- package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
- package/lib/commonjs/assets/icons/Redditicon.png +0 -0
- package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
- package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
- package/lib/commonjs/assets/icons/farcaster.png +0 -0
- package/lib/commonjs/assets/icons/instagram.png +0 -0
- package/lib/commonjs/assets/icons/pinterest.png +0 -0
- package/lib/commonjs/assets/icons/swerv_logo.png +0 -0
- package/lib/commonjs/assets/icons/twitter.jpg +0 -0
- package/lib/commonjs/assets/images/Checkbox.svg +0 -3
- package/lib/commonjs/assets/images/EnochE.svg +0 -19
- package/lib/commonjs/assets/images/Enochicon1.png +0 -0
- package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
- package/lib/commonjs/assets/images/Facebookicon.png +0 -0
- package/lib/commonjs/assets/images/Gmail.png +0 -0
- package/lib/commonjs/assets/images/Googlelogo.png +0 -0
- package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
- package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
- package/lib/commonjs/assets/images/Personalityprofile.svg +0 -3
- package/lib/commonjs/assets/images/Personalitytraits.svg +0 -3
- package/lib/commonjs/assets/images/Redditicon.png +0 -0
- package/lib/commonjs/assets/images/Userpreferences.svg +0 -3
- package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
- package/lib/commonjs/assets/images/arrow.svg +0 -20
- package/lib/commonjs/assets/images/basicproficon.svg +0 -43
- package/lib/commonjs/assets/images/basicprofile.svg +0 -3
- package/lib/commonjs/assets/images/checkmark.svg +0 -4
- package/lib/commonjs/assets/images/contentanalysis.svg +0 -3
- package/lib/commonjs/assets/images/contenticon.svg +0 -23
- package/lib/commonjs/assets/images/persona1.png +0 -0
- package/lib/commonjs/assets/images/persona2.png +0 -0
- package/lib/commonjs/assets/images/persona3.png +0 -0
- package/lib/commonjs/assets/images/persona4.png +0 -0
- package/lib/commonjs/assets/images/persona5.png +0 -0
- package/lib/commonjs/assets/images/personalityicon.svg +0 -18
- package/lib/commonjs/assets/images/x-close.svg +0 -3
- package/lib/commonjs/components/BodyText.js +0 -27
- package/lib/commonjs/components/BodyText.js.map +0 -1
- package/lib/commonjs/components/BrandMark.js +0 -44
- package/lib/commonjs/components/BrandMark.js.map +0 -1
- package/lib/commonjs/components/CodeInput.js +0 -30
- package/lib/commonjs/components/CodeInput.js.map +0 -1
- package/lib/commonjs/components/EmailInput.js +0 -30
- package/lib/commonjs/components/EmailInput.js.map +0 -1
- package/lib/commonjs/components/ExistingUserDataConfirmation.js +0 -474
- package/lib/commonjs/components/ExistingUserDataConfirmation.js.map +0 -1
- package/lib/commonjs/components/GoogleButton.js +0 -55
- package/lib/commonjs/components/GoogleButton.js.map +0 -1
- package/lib/commonjs/components/HeadingGroup.js +0 -43
- package/lib/commonjs/components/HeadingGroup.js.map +0 -1
- package/lib/commonjs/components/ModalHeader.js +0 -99
- package/lib/commonjs/components/ModalHeader.js.map +0 -1
- package/lib/commonjs/components/ModalSheet.js +0 -47
- package/lib/commonjs/components/ModalSheet.js.map +0 -1
- package/lib/commonjs/components/OnairosSignInButton.js +0 -129
- package/lib/commonjs/components/OnairosSignInButton.js.map +0 -1
- package/lib/commonjs/components/PersonaImage.js +0 -60
- package/lib/commonjs/components/PersonaImage.js.map +0 -1
- package/lib/commonjs/components/PersonaLoadingScreen.js +0 -156
- package/lib/commonjs/components/PersonaLoadingScreen.js.map +0 -1
- package/lib/commonjs/components/PersonalizationConsentScreen.js +0 -316
- package/lib/commonjs/components/PersonalizationConsentScreen.js.map +0 -1
- package/lib/commonjs/components/PinCreationScreen.js +0 -393
- package/lib/commonjs/components/PinCreationScreen.js.map +0 -1
- package/lib/commonjs/components/PlatformConnectorsStep.js +0 -828
- package/lib/commonjs/components/PlatformConnectorsStep.js.map +0 -1
- package/lib/commonjs/components/PlatformToggle.js +0 -180
- package/lib/commonjs/components/PlatformToggle.js.map +0 -1
- package/lib/commonjs/components/PrimaryButton.js +0 -180
- package/lib/commonjs/components/PrimaryButton.js.map +0 -1
- package/lib/commonjs/components/SignInMatchAnimation.js +0 -197
- package/lib/commonjs/components/SignInMatchAnimation.js.map +0 -1
- package/lib/commonjs/components/SignInStep.js +0 -179
- package/lib/commonjs/components/SignInStep.js.map +0 -1
- package/lib/commonjs/components/VerificationStep.js +0 -154
- package/lib/commonjs/components/VerificationStep.js.map +0 -1
- package/lib/commonjs/components/WelcomeScreen.js +0 -401
- package/lib/commonjs/components/WelcomeScreen.js.map +0 -1
- package/lib/commonjs/components/icons/Basicproficon.js +0 -37
- package/lib/commonjs/components/icons/Basicproficon.js.map +0 -1
- package/lib/commonjs/components/icons/Basicprofile.js +0 -21
- package/lib/commonjs/components/icons/Basicprofile.js.map +0 -1
- package/lib/commonjs/components/icons/Checkbox.js +0 -21
- package/lib/commonjs/components/icons/Checkbox.js.map +0 -1
- package/lib/commonjs/components/icons/Checkmark.js +0 -27
- package/lib/commonjs/components/icons/Checkmark.js.map +0 -1
- package/lib/commonjs/components/icons/Contentanalysis.js +0 -21
- package/lib/commonjs/components/icons/Contentanalysis.js.map +0 -1
- package/lib/commonjs/components/icons/Contenticon.js +0 -39
- package/lib/commonjs/components/icons/Contenticon.js.map +0 -1
- package/lib/commonjs/components/icons/EnochE.js +0 -41
- package/lib/commonjs/components/icons/EnochE.js.map +0 -1
- package/lib/commonjs/components/icons/Personalityicon.js +0 -30
- package/lib/commonjs/components/icons/Personalityicon.js.map +0 -1
- package/lib/commonjs/components/icons/Personalityprofile.js +0 -21
- package/lib/commonjs/components/icons/Personalityprofile.js.map +0 -1
- package/lib/commonjs/components/icons/Personalitytraits.js +0 -21
- package/lib/commonjs/components/icons/Personalitytraits.js.map +0 -1
- package/lib/commonjs/components/icons/Userpreferences.js +0 -21
- package/lib/commonjs/components/icons/Userpreferences.js.map +0 -1
- package/lib/commonjs/components/icons/index.js +0 -84
- package/lib/commonjs/components/icons/index.js.map +0 -1
- package/lib/commonjs/config/api.js +0 -34
- package/lib/commonjs/config/api.js.map +0 -1
- package/lib/commonjs/context/AuthContext.js +0 -345
- package/lib/commonjs/context/AuthContext.js.map +0 -1
- package/lib/commonjs/hooks/useConnectedAccounts.js +0 -111
- package/lib/commonjs/hooks/useConnectedAccounts.js.map +0 -1
- package/lib/commonjs/hooks/useUserConnections.js +0 -148
- package/lib/commonjs/hooks/useUserConnections.js.map +0 -1
- package/lib/commonjs/services/apiClient.js +0 -302
- package/lib/commonjs/services/apiClient.js.map +0 -1
- package/lib/commonjs/services/authService.js +0 -935
- package/lib/commonjs/services/authService.js.map +0 -1
- package/lib/commonjs/services/biometricPinService.js +0 -184
- package/lib/commonjs/services/biometricPinService.js.map +0 -1
- package/lib/commonjs/services/connectedAccountsService.js +0 -268
- package/lib/commonjs/services/connectedAccountsService.js.map +0 -1
- package/lib/commonjs/services/googleAuthService.js +0 -268
- package/lib/commonjs/services/googleAuthService.js.map +0 -1
- package/lib/commonjs/services/imageCompressionService.js +0 -260
- package/lib/commonjs/services/imageCompressionService.js.map +0 -1
- package/lib/commonjs/services/jwtStorageService.js +0 -256
- package/lib/commonjs/services/jwtStorageService.js.map +0 -1
- package/lib/commonjs/services/mobileTrainingService.js +0 -185
- package/lib/commonjs/services/mobileTrainingService.js.map +0 -1
- package/lib/commonjs/services/pinEncryptionService.js +0 -84
- package/lib/commonjs/services/pinEncryptionService.js.map +0 -1
- package/lib/commonjs/services/pinStorageUtils.js +0 -105
- package/lib/commonjs/services/pinStorageUtils.js.map +0 -1
- package/lib/commonjs/services/storageService.js +0 -404
- package/lib/commonjs/services/storageService.js.map +0 -1
- package/lib/commonjs/services/trainingApiHelpers.js +0 -73
- package/lib/commonjs/services/trainingApiHelpers.js.map +0 -1
- package/lib/commonjs/services/userConnectionsService.js +0 -486
- package/lib/commonjs/services/userConnectionsService.js.map +0 -1
- package/lib/commonjs/services/youtubeMigrationService.js +0 -415
- package/lib/commonjs/services/youtubeMigrationService.js.map +0 -1
- package/lib/commonjs/theme/index.js +0 -249
- package/lib/commonjs/theme/index.js.map +0 -1
- package/lib/commonjs/utils/eventUtils.js +0 -288
- package/lib/commonjs/utils/eventUtils.js.map +0 -1
- package/lib/commonjs/utils/haptics.js +0 -66
- package/lib/commonjs/utils/haptics.js.map +0 -1
- package/lib/commonjs/utils/imagePreloader.js +0 -6
- package/lib/commonjs/utils/imagePreloader.js.map +0 -1
- package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/lib/module/assets/icons/Facebookicon.png +0 -0
- package/lib/module/assets/icons/Gmail.png +0 -0
- package/lib/module/assets/icons/Linkedinicon.png +0 -0
- package/lib/module/assets/icons/Redditicon.png +0 -0
- package/lib/module/assets/icons/YouTubeicon2.png +0 -0
- package/lib/module/assets/icons/YouTubeicon3.png +0 -0
- package/lib/module/assets/icons/farcaster.png +0 -0
- package/lib/module/assets/icons/instagram.png +0 -0
- package/lib/module/assets/icons/pinterest.png +0 -0
- package/lib/module/assets/icons/swerv_logo.png +0 -0
- package/lib/module/assets/icons/twitter.jpg +0 -0
- package/lib/module/assets/images/Checkbox.svg +0 -3
- package/lib/module/assets/images/EnochE.svg +0 -19
- package/lib/module/assets/images/Enochicon1.png +0 -0
- package/lib/module/assets/images/Face_ID_logo.png +0 -0
- package/lib/module/assets/images/Facebookicon.png +0 -0
- package/lib/module/assets/images/Gmail.png +0 -0
- package/lib/module/assets/images/Googlelogo.png +0 -0
- package/lib/module/assets/images/Linkedinicon.png +0 -0
- package/lib/module/assets/images/Onairoslogo.png +0 -0
- package/lib/module/assets/images/Personalityprofile.svg +0 -3
- package/lib/module/assets/images/Personalitytraits.svg +0 -3
- package/lib/module/assets/images/Redditicon.png +0 -0
- package/lib/module/assets/images/Userpreferences.svg +0 -3
- package/lib/module/assets/images/YouTubeicon3.png +0 -0
- package/lib/module/assets/images/arrow.svg +0 -20
- package/lib/module/assets/images/basicproficon.svg +0 -43
- package/lib/module/assets/images/basicprofile.svg +0 -3
- package/lib/module/assets/images/checkmark.svg +0 -4
- package/lib/module/assets/images/contentanalysis.svg +0 -3
- package/lib/module/assets/images/contenticon.svg +0 -23
- package/lib/module/assets/images/persona1.png +0 -0
- package/lib/module/assets/images/persona2.png +0 -0
- package/lib/module/assets/images/persona3.png +0 -0
- package/lib/module/assets/images/persona4.png +0 -0
- package/lib/module/assets/images/persona5.png +0 -0
- package/lib/module/assets/images/personalityicon.svg +0 -18
- package/lib/module/assets/images/x-close.svg +0 -3
- package/lib/module/components/BodyText.js +0 -20
- package/lib/module/components/BodyText.js.map +0 -1
- package/lib/module/components/BrandMark.js +0 -37
- package/lib/module/components/BrandMark.js.map +0 -1
- package/lib/module/components/CodeInput.js +0 -23
- package/lib/module/components/CodeInput.js.map +0 -1
- package/lib/module/components/EmailInput.js +0 -23
- package/lib/module/components/EmailInput.js.map +0 -1
- package/lib/module/components/ExistingUserDataConfirmation.js +0 -465
- package/lib/module/components/ExistingUserDataConfirmation.js.map +0 -1
- package/lib/module/components/GoogleButton.js +0 -48
- package/lib/module/components/GoogleButton.js.map +0 -1
- package/lib/module/components/HeadingGroup.js +0 -36
- package/lib/module/components/HeadingGroup.js.map +0 -1
- package/lib/module/components/ModalHeader.js +0 -92
- package/lib/module/components/ModalHeader.js.map +0 -1
- package/lib/module/components/ModalSheet.js +0 -39
- package/lib/module/components/ModalSheet.js.map +0 -1
- package/lib/module/components/OnairosSignInButton.js +0 -120
- package/lib/module/components/OnairosSignInButton.js.map +0 -1
- package/lib/module/components/PersonaImage.js +0 -53
- package/lib/module/components/PersonaImage.js.map +0 -1
- package/lib/module/components/PersonaLoadingScreen.js +0 -148
- package/lib/module/components/PersonaLoadingScreen.js.map +0 -1
- package/lib/module/components/PersonalizationConsentScreen.js +0 -309
- package/lib/module/components/PersonalizationConsentScreen.js.map +0 -1
- package/lib/module/components/PinCreationScreen.js +0 -386
- package/lib/module/components/PinCreationScreen.js.map +0 -1
- package/lib/module/components/PlatformConnectorsStep.js +0 -820
- package/lib/module/components/PlatformConnectorsStep.js.map +0 -1
- package/lib/module/components/PlatformToggle.js +0 -173
- package/lib/module/components/PlatformToggle.js.map +0 -1
- package/lib/module/components/PrimaryButton.js +0 -172
- package/lib/module/components/PrimaryButton.js.map +0 -1
- package/lib/module/components/SignInMatchAnimation.js +0 -189
- package/lib/module/components/SignInMatchAnimation.js.map +0 -1
- package/lib/module/components/SignInStep.js +0 -171
- package/lib/module/components/SignInStep.js.map +0 -1
- package/lib/module/components/VerificationStep.js +0 -146
- package/lib/module/components/VerificationStep.js.map +0 -1
- package/lib/module/components/WelcomeScreen.js +0 -393
- package/lib/module/components/WelcomeScreen.js.map +0 -1
- package/lib/module/components/icons/Basicproficon.js +0 -30
- package/lib/module/components/icons/Basicproficon.js.map +0 -1
- package/lib/module/components/icons/Basicprofile.js +0 -14
- package/lib/module/components/icons/Basicprofile.js.map +0 -1
- package/lib/module/components/icons/Checkbox.js +0 -14
- package/lib/module/components/icons/Checkbox.js.map +0 -1
- package/lib/module/components/icons/Checkmark.js +0 -20
- package/lib/module/components/icons/Checkmark.js.map +0 -1
- package/lib/module/components/icons/Contentanalysis.js +0 -14
- package/lib/module/components/icons/Contentanalysis.js.map +0 -1
- package/lib/module/components/icons/Contenticon.js +0 -32
- package/lib/module/components/icons/Contenticon.js.map +0 -1
- package/lib/module/components/icons/EnochE.js +0 -34
- package/lib/module/components/icons/EnochE.js.map +0 -1
- package/lib/module/components/icons/Personalityicon.js +0 -23
- package/lib/module/components/icons/Personalityicon.js.map +0 -1
- package/lib/module/components/icons/Personalityprofile.js +0 -14
- package/lib/module/components/icons/Personalityprofile.js.map +0 -1
- package/lib/module/components/icons/Personalitytraits.js +0 -14
- package/lib/module/components/icons/Personalitytraits.js.map +0 -1
- package/lib/module/components/icons/Userpreferences.js +0 -14
- package/lib/module/components/icons/Userpreferences.js.map +0 -1
- package/lib/module/components/icons/index.js +0 -13
- package/lib/module/components/icons/index.js.map +0 -1
- package/lib/module/config/api.js +0 -26
- package/lib/module/config/api.js.map +0 -1
- package/lib/module/context/AuthContext.js +0 -335
- package/lib/module/context/AuthContext.js.map +0 -1
- package/lib/module/hooks/useConnectedAccounts.js +0 -106
- package/lib/module/hooks/useConnectedAccounts.js.map +0 -1
- package/lib/module/hooks/useUserConnections.js +0 -140
- package/lib/module/hooks/useUserConnections.js.map +0 -1
- package/lib/module/services/apiClient.js +0 -298
- package/lib/module/services/apiClient.js.map +0 -1
- package/lib/module/services/authService.js +0 -905
- package/lib/module/services/authService.js.map +0 -1
- package/lib/module/services/biometricPinService.js +0 -173
- package/lib/module/services/biometricPinService.js.map +0 -1
- package/lib/module/services/connectedAccountsService.js +0 -255
- package/lib/module/services/connectedAccountsService.js.map +0 -1
- package/lib/module/services/googleAuthService.js +0 -258
- package/lib/module/services/googleAuthService.js.map +0 -1
- package/lib/module/services/imageCompressionService.js +0 -250
- package/lib/module/services/imageCompressionService.js.map +0 -1
- package/lib/module/services/jwtStorageService.js +0 -239
- package/lib/module/services/jwtStorageService.js.map +0 -1
- package/lib/module/services/mobileTrainingService.js +0 -172
- package/lib/module/services/mobileTrainingService.js.map +0 -1
- package/lib/module/services/pinEncryptionService.js +0 -75
- package/lib/module/services/pinEncryptionService.js.map +0 -1
- package/lib/module/services/pinStorageUtils.js +0 -93
- package/lib/module/services/pinStorageUtils.js.map +0 -1
- package/lib/module/services/storageService.js +0 -383
- package/lib/module/services/storageService.js.map +0 -1
- package/lib/module/services/trainingApiHelpers.js +0 -67
- package/lib/module/services/trainingApiHelpers.js.map +0 -1
- package/lib/module/services/userConnectionsService.js +0 -476
- package/lib/module/services/userConnectionsService.js.map +0 -1
- package/lib/module/services/youtubeMigrationService.js +0 -404
- package/lib/module/services/youtubeMigrationService.js.map +0 -1
- package/lib/module/theme/index.js +0 -244
- package/lib/module/theme/index.js.map +0 -1
- package/lib/module/utils/eventUtils.js +0 -270
- package/lib/module/utils/eventUtils.js.map +0 -1
- package/lib/module/utils/haptics.js +0 -59
- package/lib/module/utils/haptics.js.map +0 -1
- package/lib/module/utils/imagePreloader.js +0 -3
- package/lib/module/utils/imagePreloader.js.map +0 -1
- package/lib/typescript/components/BodyText.d.ts +0 -10
- package/lib/typescript/components/BodyText.d.ts.map +0 -1
- package/lib/typescript/components/BrandMark.d.ts +0 -11
- package/lib/typescript/components/BrandMark.d.ts.map +0 -1
- package/lib/typescript/components/CodeInput.d.ts +0 -10
- package/lib/typescript/components/CodeInput.d.ts.map +0 -1
- package/lib/typescript/components/EmailInput.d.ts +0 -8
- package/lib/typescript/components/EmailInput.d.ts.map +0 -1
- package/lib/typescript/components/ExistingUserDataConfirmation.d.ts +0 -12
- package/lib/typescript/components/ExistingUserDataConfirmation.d.ts.map +0 -1
- package/lib/typescript/components/GoogleButton.d.ts +0 -11
- package/lib/typescript/components/GoogleButton.d.ts.map +0 -1
- package/lib/typescript/components/HeadingGroup.d.ts +0 -11
- package/lib/typescript/components/HeadingGroup.d.ts.map +0 -1
- package/lib/typescript/components/ModalHeader.d.ts +0 -11
- package/lib/typescript/components/ModalHeader.d.ts.map +0 -1
- package/lib/typescript/components/ModalSheet.d.ts +0 -13
- package/lib/typescript/components/ModalSheet.d.ts.map +0 -1
- package/lib/typescript/components/OnairosSignInButton.d.ts +0 -13
- package/lib/typescript/components/OnairosSignInButton.d.ts.map +0 -1
- package/lib/typescript/components/PersonaImage.d.ts +0 -8
- package/lib/typescript/components/PersonaImage.d.ts.map +0 -1
- package/lib/typescript/components/PersonaLoadingScreen.d.ts +0 -10
- package/lib/typescript/components/PersonaLoadingScreen.d.ts.map +0 -1
- package/lib/typescript/components/PersonalizationConsentScreen.d.ts +0 -10
- package/lib/typescript/components/PersonalizationConsentScreen.d.ts.map +0 -1
- package/lib/typescript/components/PinCreationScreen.d.ts +0 -10
- package/lib/typescript/components/PinCreationScreen.d.ts.map +0 -1
- package/lib/typescript/components/PlatformConnectorsStep.d.ts +0 -11
- package/lib/typescript/components/PlatformConnectorsStep.d.ts.map +0 -1
- package/lib/typescript/components/PlatformToggle.d.ts +0 -20
- package/lib/typescript/components/PlatformToggle.d.ts.map +0 -1
- package/lib/typescript/components/PrimaryButton.d.ts +0 -22
- package/lib/typescript/components/PrimaryButton.d.ts.map +0 -1
- package/lib/typescript/components/SignInMatchAnimation.d.ts +0 -9
- package/lib/typescript/components/SignInMatchAnimation.d.ts.map +0 -1
- package/lib/typescript/components/SignInStep.d.ts +0 -12
- package/lib/typescript/components/SignInStep.d.ts.map +0 -1
- package/lib/typescript/components/VerificationStep.d.ts +0 -13
- package/lib/typescript/components/VerificationStep.d.ts.map +0 -1
- package/lib/typescript/components/WelcomeScreen.d.ts +0 -9
- package/lib/typescript/components/WelcomeScreen.d.ts.map +0 -1
- package/lib/typescript/components/icons/Basicproficon.d.ts +0 -5
- package/lib/typescript/components/icons/Basicproficon.d.ts.map +0 -1
- package/lib/typescript/components/icons/Basicprofile.d.ts +0 -5
- package/lib/typescript/components/icons/Basicprofile.d.ts.map +0 -1
- package/lib/typescript/components/icons/Checkbox.d.ts +0 -5
- package/lib/typescript/components/icons/Checkbox.d.ts.map +0 -1
- package/lib/typescript/components/icons/Checkmark.d.ts +0 -5
- package/lib/typescript/components/icons/Checkmark.d.ts.map +0 -1
- package/lib/typescript/components/icons/Contentanalysis.d.ts +0 -5
- package/lib/typescript/components/icons/Contentanalysis.d.ts.map +0 -1
- package/lib/typescript/components/icons/Contenticon.d.ts +0 -5
- package/lib/typescript/components/icons/Contenticon.d.ts.map +0 -1
- package/lib/typescript/components/icons/EnochE.d.ts +0 -5
- package/lib/typescript/components/icons/EnochE.d.ts.map +0 -1
- package/lib/typescript/components/icons/Personalityicon.d.ts +0 -5
- package/lib/typescript/components/icons/Personalityicon.d.ts.map +0 -1
- package/lib/typescript/components/icons/Personalityprofile.d.ts +0 -5
- package/lib/typescript/components/icons/Personalityprofile.d.ts.map +0 -1
- package/lib/typescript/components/icons/Personalitytraits.d.ts +0 -5
- package/lib/typescript/components/icons/Personalitytraits.d.ts.map +0 -1
- package/lib/typescript/components/icons/Userpreferences.d.ts +0 -5
- package/lib/typescript/components/icons/Userpreferences.d.ts.map +0 -1
- package/lib/typescript/components/icons/index.d.ts +0 -12
- package/lib/typescript/components/icons/index.d.ts.map +0 -1
- package/lib/typescript/config/api.d.ts +0 -24
- package/lib/typescript/config/api.d.ts.map +0 -1
- package/lib/typescript/context/AuthContext.d.ts +0 -34
- package/lib/typescript/context/AuthContext.d.ts.map +0 -1
- package/lib/typescript/hooks/useConnectedAccounts.d.ts +0 -11
- package/lib/typescript/hooks/useConnectedAccounts.d.ts.map +0 -1
- package/lib/typescript/hooks/useUserConnections.d.ts +0 -12
- package/lib/typescript/hooks/useUserConnections.d.ts.map +0 -1
- package/lib/typescript/services/apiClient.d.ts +0 -91
- package/lib/typescript/services/apiClient.d.ts.map +0 -1
- package/lib/typescript/services/authService.d.ts +0 -216
- package/lib/typescript/services/authService.d.ts.map +0 -1
- package/lib/typescript/services/biometricPinService.d.ts +0 -29
- package/lib/typescript/services/biometricPinService.d.ts.map +0 -1
- package/lib/typescript/services/connectedAccountsService.d.ts +0 -56
- package/lib/typescript/services/connectedAccountsService.d.ts.map +0 -1
- package/lib/typescript/services/googleAuthService.d.ts +0 -63
- package/lib/typescript/services/googleAuthService.d.ts.map +0 -1
- package/lib/typescript/services/imageCompressionService.d.ts +0 -37
- package/lib/typescript/services/imageCompressionService.d.ts.map +0 -1
- package/lib/typescript/services/jwtStorageService.d.ts +0 -86
- package/lib/typescript/services/jwtStorageService.d.ts.map +0 -1
- package/lib/typescript/services/mobileTrainingService.d.ts +0 -45
- package/lib/typescript/services/mobileTrainingService.d.ts.map +0 -1
- package/lib/typescript/services/pinEncryptionService.d.ts +0 -17
- package/lib/typescript/services/pinEncryptionService.d.ts.map +0 -1
- package/lib/typescript/services/pinStorageUtils.d.ts +0 -25
- package/lib/typescript/services/pinStorageUtils.d.ts.map +0 -1
- package/lib/typescript/services/storageService.d.ts +0 -128
- package/lib/typescript/services/storageService.d.ts.map +0 -1
- package/lib/typescript/services/trainingApiHelpers.d.ts +0 -38
- package/lib/typescript/services/trainingApiHelpers.d.ts.map +0 -1
- package/lib/typescript/services/userConnectionsService.d.ts +0 -90
- package/lib/typescript/services/userConnectionsService.d.ts.map +0 -1
- package/lib/typescript/services/youtubeMigrationService.d.ts +0 -12
- package/lib/typescript/services/youtubeMigrationService.d.ts.map +0 -1
- package/lib/typescript/theme/index.d.ts +0 -416
- package/lib/typescript/theme/index.d.ts.map +0 -1
- package/lib/typescript/utils/eventUtils.d.ts +0 -108
- package/lib/typescript/utils/eventUtils.d.ts.map +0 -1
- package/lib/typescript/utils/haptics.d.ts +0 -11
- package/lib/typescript/utils/haptics.d.ts.map +0 -1
- package/lib/typescript/utils/imagePreloader.d.ts +0 -2
- package/lib/typescript/utils/imagePreloader.d.ts.map +0 -1
- package/src/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
- package/src/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
- package/src/assets/icons/Facebookicon.png +0 -0
- package/src/assets/icons/Gmail.png +0 -0
- package/src/assets/icons/Linkedinicon.png +0 -0
- package/src/assets/icons/Redditicon.png +0 -0
- package/src/assets/icons/YouTubeicon2.png +0 -0
- package/src/assets/icons/YouTubeicon3.png +0 -0
- package/src/assets/icons/farcaster.png +0 -0
- package/src/assets/icons/instagram.png +0 -0
- package/src/assets/icons/pinterest.png +0 -0
- package/src/assets/icons/swerv_logo.png +0 -0
- package/src/assets/icons/twitter.jpg +0 -0
- package/src/assets/images/Checkbox.svg +0 -3
- package/src/assets/images/EnochE.svg +0 -19
- package/src/assets/images/Enochicon1.png +0 -0
- package/src/assets/images/Face_ID_logo.png +0 -0
- package/src/assets/images/Facebookicon.png +0 -0
- package/src/assets/images/Gmail.png +0 -0
- package/src/assets/images/Googlelogo.png +0 -0
- package/src/assets/images/Linkedinicon.png +0 -0
- package/src/assets/images/Onairoslogo.png +0 -0
- package/src/assets/images/Personalityprofile.svg +0 -3
- package/src/assets/images/Personalitytraits.svg +0 -3
- package/src/assets/images/Redditicon.png +0 -0
- package/src/assets/images/Userpreferences.svg +0 -3
- package/src/assets/images/YouTubeicon3.png +0 -0
- package/src/assets/images/arrow.svg +0 -20
- package/src/assets/images/basicproficon.svg +0 -43
- package/src/assets/images/basicprofile.svg +0 -3
- package/src/assets/images/checkmark.svg +0 -4
- package/src/assets/images/contentanalysis.svg +0 -3
- package/src/assets/images/contenticon.svg +0 -23
- package/src/assets/images/persona1.png +0 -0
- package/src/assets/images/persona2.png +0 -0
- package/src/assets/images/persona3.png +0 -0
- package/src/assets/images/persona4.png +0 -0
- package/src/assets/images/persona5.png +0 -0
- package/src/assets/images/personalityicon.svg +0 -18
- package/src/assets/images/x-close.svg +0 -3
- package/src/components/BodyText.tsx +0 -33
- package/src/components/BrandMark.tsx +0 -62
- package/src/components/CodeInput.tsx +0 -32
- package/src/components/EmailInput.tsx +0 -31
- package/src/components/ExistingUserDataConfirmation.tsx +0 -507
- package/src/components/GoogleButton.tsx +0 -55
- package/src/components/HeadingGroup.tsx +0 -49
- package/src/components/ModalHeader.tsx +0 -125
- package/src/components/ModalSheet.tsx +0 -59
- package/src/components/OnairosSignInButton.tsx +0 -132
- package/src/components/PersonaImage.tsx +0 -79
- package/src/components/PersonaLoadingScreen.tsx +0 -201
- package/src/components/PersonalizationConsentScreen.tsx +0 -410
- package/src/components/PinCreationScreen.tsx +0 -492
- package/src/components/PlatformConnectorsStep.tsx +0 -892
- package/src/components/PlatformToggle.tsx +0 -226
- package/src/components/PrimaryButton.tsx +0 -214
- package/src/components/SignInMatchAnimation.tsx +0 -225
- package/src/components/SignInStep.tsx +0 -217
- package/src/components/VerificationStep.tsx +0 -198
- package/src/components/WelcomeScreen.tsx +0 -490
- package/src/components/icons/Basicproficon.tsx +0 -30
- package/src/components/icons/Basicprofile.tsx +0 -17
- package/src/components/icons/Checkbox.tsx +0 -17
- package/src/components/icons/Checkmark.tsx +0 -24
- package/src/components/icons/Contentanalysis.tsx +0 -17
- package/src/components/icons/Contenticon.tsx +0 -30
- package/src/components/icons/EnochE.tsx +0 -39
- package/src/components/icons/Personalityicon.tsx +0 -22
- package/src/components/icons/Personalityprofile.tsx +0 -17
- package/src/components/icons/Personalitytraits.tsx +0 -17
- package/src/components/icons/Userpreferences.tsx +0 -17
- package/src/components/icons/index.ts +0 -12
- package/src/config/api.ts +0 -25
- package/src/context/AuthContext.tsx +0 -393
- package/src/hooks/useConnectedAccounts.ts +0 -139
- package/src/hooks/useUserConnections.ts +0 -166
- package/src/services/apiClient.ts +0 -337
- package/src/services/authService.ts +0 -1008
- package/src/services/biometricPinService.ts +0 -193
- package/src/services/connectedAccountsService.ts +0 -290
- package/src/services/googleAuthService.ts +0 -279
- package/src/services/imageCompressionService.ts +0 -303
- package/src/services/jwtStorageService.ts +0 -257
- package/src/services/mobileTrainingService.ts +0 -204
- package/src/services/pinEncryptionService.ts +0 -76
- package/src/services/pinStorageUtils.ts +0 -97
- package/src/services/storageService.ts +0 -452
- package/src/services/trainingApiHelpers.ts +0 -67
- package/src/services/userConnectionsService.ts +0 -557
- package/src/services/youtubeMigrationService.ts +0 -454
- package/src/theme/index.ts +0 -239
- package/src/utils/eventUtils.ts +0 -303
- package/src/utils/haptics.ts +0 -59
- package/src/utils/imagePreloader.ts +0 -2
|
@@ -1,257 +0,0 @@
|
|
|
1
|
-
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
2
|
-
import { Buffer } from 'buffer';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* JWT Token Storage Service - CORRECTED APPROACH
|
|
6
|
-
* Manages 3 DISTINCT JWT token types for different route families
|
|
7
|
-
*
|
|
8
|
-
* TOKEN TYPES:
|
|
9
|
-
* 1. Enoch JWT (enoch_token) - For /enoch/*, /api/auth/*, /mobile-training/enoch
|
|
10
|
-
* 2. Onairos JWT (onairos_jwt_token) - For /youtube/*, /gmail/*, social connections
|
|
11
|
-
* 3. Auth Token (auth_token) - For context-specific auth flows
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
export enum TokenType {
|
|
15
|
-
ENOCH = 'enoch_token',
|
|
16
|
-
ONAIROS = 'onairos_jwt_token',
|
|
17
|
-
AUTH = 'auth_token'
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Route-based token mapping
|
|
22
|
-
* Determines which token type to use for which routes
|
|
23
|
-
*/
|
|
24
|
-
export const getTokenTypeForRoute = (route: string): TokenType => {
|
|
25
|
-
const cleanRoute = route.toLowerCase();
|
|
26
|
-
|
|
27
|
-
// Enoch routes - use Enoch JWT
|
|
28
|
-
if (cleanRoute.includes('/enoch/') ||
|
|
29
|
-
cleanRoute.includes('/api/auth/') ||
|
|
30
|
-
cleanRoute.includes('/mobile-training/enoch')) {
|
|
31
|
-
return TokenType.ENOCH;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Onairos routes - use Onairos JWT
|
|
35
|
-
if (cleanRoute.includes('/youtube/') ||
|
|
36
|
-
cleanRoute.includes('/gmail/') ||
|
|
37
|
-
cleanRoute.includes('/connectedaccounts') ||
|
|
38
|
-
cleanRoute.includes('/social/')) {
|
|
39
|
-
return TokenType.ONAIROS;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Default to auth token for other routes
|
|
43
|
-
return TokenType.AUTH;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Store JWT token of specific type
|
|
48
|
-
* @param tokenType - Type of token to store
|
|
49
|
-
* @param token - JWT token to store
|
|
50
|
-
* @returns Promise<boolean> - Success status
|
|
51
|
-
*/
|
|
52
|
-
export const storeJWT = async (tokenType: TokenType, token: string): Promise<boolean> => {
|
|
53
|
-
try {
|
|
54
|
-
if (!token || token.trim() === '') {
|
|
55
|
-
console.warn(`⚠️ [JWT Storage] Attempted to store empty/null ${tokenType} token`);
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// Validate JWT format (should have 3 parts separated by dots)
|
|
60
|
-
const parts = token.split('.');
|
|
61
|
-
if (parts.length !== 3) {
|
|
62
|
-
console.warn(`⚠️ [JWT Storage] Invalid JWT format for ${tokenType} - token should have 3 parts`);
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
await AsyncStorage.setItem(tokenType, token);
|
|
67
|
-
console.log(`✅ [JWT Storage] ${tokenType} token stored successfully`);
|
|
68
|
-
return true;
|
|
69
|
-
} catch (error) {
|
|
70
|
-
console.error(`❌ [JWT Storage] Failed to store ${tokenType} token:`, error);
|
|
71
|
-
return false;
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Retrieve JWT token of specific type
|
|
77
|
-
* @param tokenType - Type of token to retrieve
|
|
78
|
-
* @returns Promise<string | null> - JWT token or null if not found
|
|
79
|
-
*/
|
|
80
|
-
export const getJWT = async (tokenType: TokenType): Promise<string | null> => {
|
|
81
|
-
try {
|
|
82
|
-
const token = await AsyncStorage.getItem(tokenType);
|
|
83
|
-
|
|
84
|
-
if (!token) {
|
|
85
|
-
console.log(`📭 [JWT Storage] No ${tokenType} token found in storage`);
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Validate JWT format
|
|
90
|
-
if (!isValidJWTFormat(token)) {
|
|
91
|
-
console.warn(`⚠️ [JWT Storage] Invalid JWT format found for ${tokenType}, removing`);
|
|
92
|
-
await clearJWT(tokenType);
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
console.log(`🔐 [JWT Storage] ${tokenType} token retrieved successfully`);
|
|
97
|
-
return token;
|
|
98
|
-
} catch (error) {
|
|
99
|
-
console.error(`❌ [JWT Storage] Failed to retrieve ${tokenType} token:`, error);
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Get JWT token for specific route
|
|
106
|
-
* @param route - API route to get token for
|
|
107
|
-
* @returns Promise<string | null> - Appropriate JWT token or null
|
|
108
|
-
*/
|
|
109
|
-
export const getJWTForRoute = async (route: string): Promise<string | null> => {
|
|
110
|
-
const tokenType = getTokenTypeForRoute(route);
|
|
111
|
-
const token = await getJWT(tokenType);
|
|
112
|
-
|
|
113
|
-
if (token) {
|
|
114
|
-
console.log(`🎯 [JWT Storage] Using ${tokenType} token for route: ${route}`);
|
|
115
|
-
} else {
|
|
116
|
-
console.warn(`⚠️ [JWT Storage] No ${tokenType} token available for route: ${route}`);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
return token;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Clear JWT token of specific type
|
|
124
|
-
* @param tokenType - Type of token to clear
|
|
125
|
-
* @returns Promise<boolean> - Success status
|
|
126
|
-
*/
|
|
127
|
-
export const clearJWT = async (tokenType: TokenType): Promise<boolean> => {
|
|
128
|
-
try {
|
|
129
|
-
await AsyncStorage.removeItem(tokenType);
|
|
130
|
-
console.log(`✅ [JWT Storage] ${tokenType} token cleared successfully`);
|
|
131
|
-
return true;
|
|
132
|
-
} catch (error) {
|
|
133
|
-
console.error(`❌ [JWT Storage] Failed to clear ${tokenType} token:`, error);
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Clear all JWT tokens
|
|
140
|
-
* @returns Promise<boolean> - Success status
|
|
141
|
-
*/
|
|
142
|
-
export const clearAllJWT = async (): Promise<boolean> => {
|
|
143
|
-
try {
|
|
144
|
-
await Promise.all([
|
|
145
|
-
clearJWT(TokenType.ENOCH),
|
|
146
|
-
clearJWT(TokenType.ONAIROS),
|
|
147
|
-
clearJWT(TokenType.AUTH)
|
|
148
|
-
]);
|
|
149
|
-
console.log('✅ [JWT Storage] All JWT tokens cleared successfully');
|
|
150
|
-
return true;
|
|
151
|
-
} catch (error) {
|
|
152
|
-
console.error('❌ [JWT Storage] Failed to clear all JWT tokens:', error);
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Replace JWT token after verification - route-aware
|
|
159
|
-
* @param tokenType - Type of token being replaced
|
|
160
|
-
* @param newToken - New JWT token from verification response
|
|
161
|
-
* @returns Promise<boolean> - Success status
|
|
162
|
-
*/
|
|
163
|
-
export const replaceJWTAfterVerification = async (tokenType: TokenType, newToken: string): Promise<boolean> => {
|
|
164
|
-
try {
|
|
165
|
-
console.log(`🔄 [JWT Storage] Replacing ${tokenType} token after verification`);
|
|
166
|
-
|
|
167
|
-
if (!newToken || !isValidJWTFormat(newToken)) {
|
|
168
|
-
console.error(`❌ [JWT Storage] Invalid ${tokenType} token provided for replacement`);
|
|
169
|
-
return false;
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// Clear old token first, then store new one
|
|
173
|
-
await clearJWT(tokenType);
|
|
174
|
-
const stored = await storeJWT(tokenType, newToken);
|
|
175
|
-
|
|
176
|
-
if (stored) {
|
|
177
|
-
console.log(`✅ [JWT Storage] ${tokenType} token successfully replaced after verification`);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return stored;
|
|
181
|
-
} catch (error) {
|
|
182
|
-
console.error(`❌ [JWT Storage] Failed to replace ${tokenType} token after verification:`, error);
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
185
|
-
};
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Store Enoch JWT token (from email verification)
|
|
189
|
-
* @param token - Enoch JWT token
|
|
190
|
-
* @returns Promise<boolean> - Success status
|
|
191
|
-
*/
|
|
192
|
-
export const storeEnochJWT = async (token: string): Promise<boolean> => {
|
|
193
|
-
return await storeJWT(TokenType.ENOCH, token);
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Store Onairos JWT token (from sign-in/registration)
|
|
198
|
-
* @param token - Onairos JWT token
|
|
199
|
-
* @returns Promise<boolean> - Success status
|
|
200
|
-
*/
|
|
201
|
-
export const storeOnairosJWT = async (token: string): Promise<boolean> => {
|
|
202
|
-
return await storeJWT(TokenType.ONAIROS, token);
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Store Auth token (for context-specific flows)
|
|
207
|
-
* @param token - Auth token
|
|
208
|
-
* @returns Promise<boolean> - Success status
|
|
209
|
-
*/
|
|
210
|
-
export const storeAuthToken = async (token: string): Promise<boolean> => {
|
|
211
|
-
return await storeJWT(TokenType.AUTH, token);
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
/**
|
|
215
|
-
* Validate JWT format
|
|
216
|
-
* @param token - Token to validate
|
|
217
|
-
* @returns boolean - True if valid JWT format
|
|
218
|
-
*/
|
|
219
|
-
const isValidJWTFormat = (token: string): boolean => {
|
|
220
|
-
if (!token || token.length < 20) return false;
|
|
221
|
-
|
|
222
|
-
// Check if it's an email address (invalid JWT)
|
|
223
|
-
if (token.includes('@') && token.includes('.') && !token.includes('Bearer') && token.length < 100) {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
// Check if it has JWT structure (3 parts separated by dots)
|
|
228
|
-
const tokenParts = token.split('.');
|
|
229
|
-
if (tokenParts.length !== 3) return false;
|
|
230
|
-
|
|
231
|
-
// Additional validation - JWT should be longer than 50 characters typically
|
|
232
|
-
if (token.length < 50) return false;
|
|
233
|
-
|
|
234
|
-
return true;
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Check if JWT token of specific type exists and is valid
|
|
239
|
-
* @param tokenType - Type of token to check
|
|
240
|
-
* @returns Promise<boolean> - True if valid token exists
|
|
241
|
-
*/
|
|
242
|
-
export const hasValidJWT = async (tokenType: TokenType): Promise<boolean> => {
|
|
243
|
-
const token = await getJWT(tokenType);
|
|
244
|
-
return token !== null;
|
|
245
|
-
};
|
|
246
|
-
|
|
247
|
-
/**
|
|
248
|
-
* Get all available tokens (for debugging)
|
|
249
|
-
* @returns Promise<Record<TokenType, string | null>> - All tokens
|
|
250
|
-
*/
|
|
251
|
-
export const getAllTokens = async (): Promise<Record<TokenType, string | null>> => {
|
|
252
|
-
return {
|
|
253
|
-
[TokenType.ENOCH]: await getJWT(TokenType.ENOCH),
|
|
254
|
-
[TokenType.ONAIROS]: await getJWT(TokenType.ONAIROS),
|
|
255
|
-
[TokenType.AUTH]: await getJWT(TokenType.AUTH)
|
|
256
|
-
};
|
|
257
|
-
};
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { getAuthToken } from './authService';
|
|
2
|
-
// Migration functions no longer needed - backend handles all YouTube cases automatically
|
|
3
|
-
// import { checkAndFixYouTubeConnection, getYouTubeConnectionStatus, shouldShowYouTubeMigrationWarning } from './youtubeMigrationService';
|
|
4
|
-
|
|
5
|
-
const API_BASE_URL = 'https://api2.onairos.uk';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Mobile Training API Service
|
|
9
|
-
* Implements the updated training spec routes
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
// Training Status Route
|
|
13
|
-
export const getTrainingStatus = async (username: string) => {
|
|
14
|
-
try {
|
|
15
|
-
const authToken = await getAuthToken();
|
|
16
|
-
if (!authToken) {
|
|
17
|
-
throw new Error('No authentication token available');
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const response = await fetch(`${API_BASE_URL}/mobile-training/status/${username}`, {
|
|
21
|
-
method: 'GET',
|
|
22
|
-
headers: {
|
|
23
|
-
'Authorization': authToken,
|
|
24
|
-
'Content-Type': 'application/json'
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
if (!response.ok) {
|
|
29
|
-
const errorData = await response.json();
|
|
30
|
-
throw new Error(errorData.error || `HTTP ${response.status}`);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
return await response.json();
|
|
34
|
-
} catch (error) {
|
|
35
|
-
console.error('❌ Failed to get training status:', error);
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
// Model Info Route
|
|
41
|
-
export const getModelInfo = async () => {
|
|
42
|
-
try {
|
|
43
|
-
const authToken = await getAuthToken();
|
|
44
|
-
if (!authToken) {
|
|
45
|
-
throw new Error('No authentication token available');
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
const response = await fetch(`${API_BASE_URL}/mobile-training/model-info`, {
|
|
49
|
-
method: 'GET',
|
|
50
|
-
headers: {
|
|
51
|
-
'Authorization': authToken,
|
|
52
|
-
'Content-Type': 'application/json'
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
if (!response.ok) {
|
|
57
|
-
const errorData = await response.json();
|
|
58
|
-
throw new Error(errorData.error || `HTTP ${response.status}`);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return await response.json();
|
|
62
|
-
} catch (error) {
|
|
63
|
-
console.error('❌ Failed to get model info:', error);
|
|
64
|
-
throw error;
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// Health Check Route
|
|
69
|
-
export const getHealthCheck = async () => {
|
|
70
|
-
try {
|
|
71
|
-
const response = await fetch(`${API_BASE_URL}/mobile-training/health`, {
|
|
72
|
-
method: 'GET',
|
|
73
|
-
headers: {
|
|
74
|
-
'Content-Type': 'application/json'
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
if (!response.ok) {
|
|
79
|
-
const errorData = await response.json();
|
|
80
|
-
throw new Error(errorData.error || `HTTP ${response.status}`);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
return await response.json();
|
|
84
|
-
} catch (error) {
|
|
85
|
-
console.error('❌ Failed to get health check:', error);
|
|
86
|
-
throw error;
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Start Enoch Training - Simplified Version
|
|
92
|
-
* Backend now handles all YouTube connection cases automatically (temporary mode, refresh tokens, etc.)
|
|
93
|
-
* No frontend migration checks needed anymore
|
|
94
|
-
*/
|
|
95
|
-
export const startEnochTrainingWithYouTubeCheck = async (trainingData: {
|
|
96
|
-
socketId: string;
|
|
97
|
-
username: string;
|
|
98
|
-
email?: string | null;
|
|
99
|
-
modelKey?: string | null;
|
|
100
|
-
connectedPlatforms?: string[];
|
|
101
|
-
platformConnections?: any;
|
|
102
|
-
encryptedPin?: string;
|
|
103
|
-
hasPinData?: boolean;
|
|
104
|
-
}) => {
|
|
105
|
-
try {
|
|
106
|
-
console.log('🚀 Starting Enoch training for user:', trainingData.username, '(backend auto-handles YouTube)');
|
|
107
|
-
|
|
108
|
-
// ✅ SIMPLIFIED: Backend handles all YouTube connection cases automatically
|
|
109
|
-
console.log('🚀 [TRAINING] Starting training - backend handles all YouTube cases automatically');
|
|
110
|
-
console.log('ℹ️ [TRAINING] No migration checks needed:');
|
|
111
|
-
console.log(' - Temporary mode connections: Work automatically ✅');
|
|
112
|
-
console.log(' - Full refresh tokens: Auto-refresh when expired ✅');
|
|
113
|
-
console.log(' - Backend validation: Handles all edge cases ✅');
|
|
114
|
-
|
|
115
|
-
// ✅ Proceed with training - backend handles YouTube automatically
|
|
116
|
-
return await startEnochTraining(trainingData);
|
|
117
|
-
|
|
118
|
-
} catch (error) {
|
|
119
|
-
console.error('❌ Training error:', error);
|
|
120
|
-
throw error;
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
* Start Enoch Training
|
|
126
|
-
* Updated to use the new /mobile-training/enoch endpoint with proper error handling
|
|
127
|
-
*/
|
|
128
|
-
export const startEnochTraining = async (trainingData: {
|
|
129
|
-
socketId: string;
|
|
130
|
-
username: string;
|
|
131
|
-
email?: string | null;
|
|
132
|
-
modelKey?: string | null;
|
|
133
|
-
connectedPlatforms?: string[];
|
|
134
|
-
platformConnections?: any;
|
|
135
|
-
encryptedPin?: string;
|
|
136
|
-
hasPinData?: boolean;
|
|
137
|
-
}) => {
|
|
138
|
-
try {
|
|
139
|
-
const authToken = await getAuthToken();
|
|
140
|
-
if (!authToken) {
|
|
141
|
-
throw new Error('No authentication token available');
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
console.log('📤 Sending training data to /mobile-training/enoch:', trainingData);
|
|
145
|
-
|
|
146
|
-
const response = await fetch(`${API_BASE_URL}/mobile-training/enoch`, {
|
|
147
|
-
method: 'POST',
|
|
148
|
-
headers: {
|
|
149
|
-
'Content-Type': 'application/json',
|
|
150
|
-
'Authorization': authToken
|
|
151
|
-
},
|
|
152
|
-
body: JSON.stringify(trainingData)
|
|
153
|
-
});
|
|
154
|
-
|
|
155
|
-
console.log('📡 Training API response status:', response.status);
|
|
156
|
-
|
|
157
|
-
if (!response.ok) {
|
|
158
|
-
const errorText = await response.text();
|
|
159
|
-
console.error('❌ Training API failed with status:', response.status, 'Error:', errorText);
|
|
160
|
-
|
|
161
|
-
// Try to parse error response
|
|
162
|
-
try {
|
|
163
|
-
const errorData = JSON.parse(errorText);
|
|
164
|
-
throw new Error(errorData.error || `HTTP ${response.status}`);
|
|
165
|
-
} catch (parseError) {
|
|
166
|
-
throw new Error(`Training API failed: ${response.status} - ${errorText}`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const result = await response.json();
|
|
171
|
-
console.log('📡 Training API response:', result);
|
|
172
|
-
|
|
173
|
-
return result;
|
|
174
|
-
} catch (error) {
|
|
175
|
-
console.error('❌ Training start error:', error);
|
|
176
|
-
throw error;
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Helper function to check if training is in progress
|
|
182
|
-
*/
|
|
183
|
-
export const isTrainingInProgress = async (username: string): Promise<boolean> => {
|
|
184
|
-
try {
|
|
185
|
-
const status = await getTrainingStatus(username);
|
|
186
|
-
return status.success && status.isTraining;
|
|
187
|
-
} catch (error) {
|
|
188
|
-
console.warn('⚠️ Could not check training status:', error);
|
|
189
|
-
return false;
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Helper function to get training features info
|
|
195
|
-
*/
|
|
196
|
-
export const getTrainingFeatures = async () => {
|
|
197
|
-
try {
|
|
198
|
-
const health = await getHealthCheck();
|
|
199
|
-
return health.features;
|
|
200
|
-
} catch (error) {
|
|
201
|
-
console.warn('⚠️ Could not get training features:', error);
|
|
202
|
-
return null;
|
|
203
|
-
}
|
|
204
|
-
};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
const CryptoJS = require('react-native-crypto-js');
|
|
2
|
-
import { getTemporaryPin } from './pinStorageUtils';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Service for encrypting PIN data before sending to APIs
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// Encryption key - in production, this should come from a secure source
|
|
9
|
-
const ENCRYPTION_KEY = 'onairos-pin-encryption-key-2024';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Encrypt PIN using AES encryption
|
|
13
|
-
*/
|
|
14
|
-
export const encryptPin = (pin: string): string => {
|
|
15
|
-
try {
|
|
16
|
-
const encrypted = CryptoJS.AES.encrypt(pin, ENCRYPTION_KEY).toString();
|
|
17
|
-
console.log('🔐 PIN encrypted successfully');
|
|
18
|
-
return encrypted;
|
|
19
|
-
} catch (error) {
|
|
20
|
-
console.error('❌ Error encrypting PIN:', error);
|
|
21
|
-
throw error;
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Decrypt PIN (for verification purposes)
|
|
27
|
-
*/
|
|
28
|
-
export const decryptPin = (encryptedPin: string): string => {
|
|
29
|
-
try {
|
|
30
|
-
const decrypted = CryptoJS.AES.decrypt(encryptedPin, ENCRYPTION_KEY);
|
|
31
|
-
const pin = decrypted.toString(CryptoJS.enc.Utf8);
|
|
32
|
-
console.log('🔓 PIN decrypted successfully');
|
|
33
|
-
return pin;
|
|
34
|
-
} catch (error) {
|
|
35
|
-
console.error('❌ Error decrypting PIN:', error);
|
|
36
|
-
throw error;
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Get encrypted PIN for API transmission
|
|
42
|
-
*/
|
|
43
|
-
export const getEncryptedPinForAPI = async (): Promise<string | null> => {
|
|
44
|
-
try {
|
|
45
|
-
// Get the temporary PIN from memory
|
|
46
|
-
const pin = getTemporaryPin();
|
|
47
|
-
|
|
48
|
-
if (!pin) {
|
|
49
|
-
console.log('⚠️ No temporary PIN available for encryption');
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
// Encrypt the PIN
|
|
54
|
-
const encryptedPin = encryptPin(pin);
|
|
55
|
-
console.log('✅ PIN encrypted for API transmission');
|
|
56
|
-
|
|
57
|
-
return encryptedPin;
|
|
58
|
-
} catch (error) {
|
|
59
|
-
console.error('❌ Error getting encrypted PIN for API:', error);
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Hash PIN for verification (one-way hash)
|
|
66
|
-
*/
|
|
67
|
-
export const hashPin = (pin: string): string => {
|
|
68
|
-
try {
|
|
69
|
-
const hash = CryptoJS.SHA256(pin + ENCRYPTION_KEY).toString();
|
|
70
|
-
console.log('🔒 PIN hashed successfully');
|
|
71
|
-
return hash;
|
|
72
|
-
} catch (error) {
|
|
73
|
-
console.error('❌ Error hashing PIN:', error);
|
|
74
|
-
throw error;
|
|
75
|
-
}
|
|
76
|
-
};
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { biometricPinService } from './biometricPinService';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Utility functions for PIN storage management
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Get the stored PIN for training/authentication purposes
|
|
9
|
-
* This will prompt for biometric authentication
|
|
10
|
-
*/
|
|
11
|
-
export const getStoredPinForTraining = async (): Promise<string | null> => {
|
|
12
|
-
try {
|
|
13
|
-
console.log('🔓 Retrieving stored PIN for training...');
|
|
14
|
-
|
|
15
|
-
// Check if PIN is stored
|
|
16
|
-
const pinStored = await biometricPinService.isPinStored();
|
|
17
|
-
if (!pinStored) {
|
|
18
|
-
console.log('⚠️ No PIN stored in secure storage');
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Retrieve PIN with biometric authentication
|
|
23
|
-
const pin = await biometricPinService.retrievePinWithBiometric();
|
|
24
|
-
|
|
25
|
-
if (pin) {
|
|
26
|
-
console.log('✅ PIN retrieved successfully for training');
|
|
27
|
-
return pin;
|
|
28
|
-
} else {
|
|
29
|
-
console.log('❌ Failed to retrieve PIN or user cancelled authentication');
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
} catch (error) {
|
|
34
|
-
console.error('❌ Error retrieving stored PIN:', error);
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Check if user has a PIN stored securely
|
|
41
|
-
*/
|
|
42
|
-
export const hasStoredPin = async (): Promise<boolean> => {
|
|
43
|
-
try {
|
|
44
|
-
return await biometricPinService.isPinStored();
|
|
45
|
-
} catch (error) {
|
|
46
|
-
console.error('❌ Error checking PIN storage:', error);
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Remove stored PIN (for logout/reset purposes)
|
|
53
|
-
*/
|
|
54
|
-
export const clearStoredPin = async (): Promise<boolean> => {
|
|
55
|
-
try {
|
|
56
|
-
console.log('🗑️ Clearing stored PIN...');
|
|
57
|
-
return await biometricPinService.removePinFromStorage();
|
|
58
|
-
} catch (error) {
|
|
59
|
-
console.error('❌ Error clearing stored PIN:', error);
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Get PIN for passing to training component
|
|
66
|
-
* This function can be called from the onboarding flow
|
|
67
|
-
*/
|
|
68
|
-
export const getPinForTraining = async (tempPin?: string): Promise<string | null> => {
|
|
69
|
-
// If a temporary PIN is provided (from the PIN input), use it
|
|
70
|
-
if (tempPin) {
|
|
71
|
-
console.log('📝 Using temporary PIN for training');
|
|
72
|
-
return tempPin;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Otherwise, try to retrieve stored PIN
|
|
76
|
-
return await getStoredPinForTraining();
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Store PIN temporarily in memory for training component
|
|
81
|
-
* This is used when PIN is entered but not yet stored biometrically
|
|
82
|
-
*/
|
|
83
|
-
let temporaryPin: string | null = null;
|
|
84
|
-
|
|
85
|
-
export const setTemporaryPin = (pin: string): void => {
|
|
86
|
-
temporaryPin = pin;
|
|
87
|
-
console.log('📝 Temporary PIN set for training');
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export const getTemporaryPin = (): string | null => {
|
|
91
|
-
return temporaryPin;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
export const clearTemporaryPin = (): void => {
|
|
95
|
-
temporaryPin = null;
|
|
96
|
-
console.log('🗑️ Temporary PIN cleared');
|
|
97
|
-
};
|