@onairos/react-native 3.0.75 → 3.1.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.
Files changed (43) hide show
  1. package/lib/commonjs/components/EmailVerificationModal.js +7 -5
  2. package/lib/commonjs/components/EmailVerificationModal.js.map +1 -1
  3. package/lib/commonjs/index.js +18 -6
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/services/apiKeyService.js +401 -27
  6. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  7. package/lib/commonjs/services/platformAuthService.js +130 -299
  8. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  9. package/lib/commonjs/utils/onairosApi.js +151 -71
  10. package/lib/commonjs/utils/onairosApi.js.map +1 -1
  11. package/lib/commonjs/utils/secureStorage.js +123 -1
  12. package/lib/commonjs/utils/secureStorage.js.map +1 -1
  13. package/lib/module/components/EmailVerificationModal.js +7 -5
  14. package/lib/module/components/EmailVerificationModal.js.map +1 -1
  15. package/lib/module/index.js +4 -2
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/services/apiKeyService.js +384 -22
  18. package/lib/module/services/apiKeyService.js.map +1 -1
  19. package/lib/module/services/platformAuthService.js +127 -295
  20. package/lib/module/services/platformAuthService.js.map +1 -1
  21. package/lib/module/utils/onairosApi.js +147 -70
  22. package/lib/module/utils/onairosApi.js.map +1 -1
  23. package/lib/module/utils/secureStorage.js +116 -0
  24. package/lib/module/utils/secureStorage.js.map +1 -1
  25. package/lib/typescript/components/EmailVerificationModal.d.ts.map +1 -1
  26. package/lib/typescript/index.d.ts +2 -2
  27. package/lib/typescript/index.d.ts.map +1 -1
  28. package/lib/typescript/services/apiKeyService.d.ts +68 -2
  29. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  30. package/lib/typescript/services/platformAuthService.d.ts +29 -14
  31. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  32. package/lib/typescript/utils/onairosApi.d.ts +25 -10
  33. package/lib/typescript/utils/onairosApi.d.ts.map +1 -1
  34. package/lib/typescript/utils/secureStorage.d.ts +31 -0
  35. package/lib/typescript/utils/secureStorage.d.ts.map +1 -1
  36. package/package.json +1 -1
  37. package/src/components/EmailVerificationModal.tsx +9 -5
  38. package/src/index.ts +4 -1
  39. package/src/services/apiKeyService.ts +412 -18
  40. package/src/services/platformAuthService.ts +219 -421
  41. package/src/types/index.d.ts +11 -5
  42. package/src/utils/onairosApi.ts +162 -74
  43. package/src/utils/secureStorage.ts +122 -0
@@ -77,12 +77,14 @@ const EmailVerificationModal = ({
77
77
  if (result.success) {
78
78
  console.log('✅ Email verification successful');
79
79
 
80
- // In a real implementation, you would determine if this is an existing user
81
- // based on the verification response or additional API calls
82
- // For now, we'll assume new users need full onboarding
83
- const isExistingUser = false; // This should be determined by your backend logic
80
+ // Check if JWT token was received and stored
81
+ if (result.token) {
82
+ console.log('🎫 JWT token received and stored for user authentication');
83
+ }
84
84
 
85
- _reactNative.Alert.alert('Email Verified', result.message || 'Your email has been verified successfully!', [{
85
+ // Use the existingUser flag from the backend response
86
+ const isExistingUser = result.existingUser || false;
87
+ _reactNative.Alert.alert('Email Verified', result.message || 'Your email has been verified successfully!\n\n' + (result.token ? 'You are now authenticated and can access user features.' : 'Authentication complete.'), [{
86
88
  text: 'Continue',
87
89
  onPress: () => {
88
90
  onVerificationComplete(email, isExistingUser);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MaterialIcons","_interopRequireDefault","_platformAuthService","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EmailVerificationModal","visible","email","onClose","onVerificationComplete","onVerificationFailed","testMode","step","setStep","useState","verificationCode","setVerificationCode","isLoading","setIsLoading","codeSent","setCodeSent","handleRequestVerification","useCallback","Alert","alert","console","log","statusCheck","checkEmailVerificationStatus","success","isPending","result","requestEmailVerification","message","text","style","error","errorMessage","Error","handleVerifyCode","trim","verifyEmailCode","isExistingUser","onPress","handleResendCode","createElement","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","TouchableWithoutFeedback","View","styles","modalOverlay","stopPropagation","modalContent","SafeAreaView","container","header","TouchableOpacity","closeButton","name","size","color","Text","headerTitle","placeholder","content","Fragment","iconContainer","title","subtitle","emailContainer","emailLabel","emailText","button","buttonDisabled","disabled","ActivityIndicator","buttonText","testingNote","TextInput","codeInput","value","onChangeText","keyboardType","maxLength","autoFocus","textAlign","resendButton","resendButtonText","exports","StyleSheet","create","flex","backgroundColor","justifyContent","alignItems","borderRadius","width","maxWidth","maxHeight","padding","flexDirection","marginBottom","fontSize","fontWeight","borderWidth","borderColor","letterSpacing","paddingVertical","paddingHorizontal","opacity","textDecorationLine"],"sourceRoot":"..\\..\\..\\src","sources":["components/EmailVerificationModal.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,cAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,oBAAA,GAAAJ,OAAA;AAA0H,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAWnH,MAAMgB,sBAA6D,GAAGA,CAAC;EAC5EC,OAAO;EACPC,KAAK;EACLC,OAAO;EACPC,sBAAsB;EACtBC,oBAAoB;EACpBC,QAAQ,GAAG;AACb,CAAC,KAAK;EACJ,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAAuB,SAAS,CAAC;EACjE,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAF,eAAQ,EAAS,EAAE,CAAC;EACpE,MAAM,CAACG,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAJ,eAAQ,EAAU,KAAK,CAAC;EAC1D,MAAM,CAACK,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAN,eAAQ,EAAU,KAAK,CAAC;EAExD,MAAMO,yBAAyB,GAAG,IAAAC,kBAAW,EAAC,YAAY;IACxD,IAAI,CAACf,KAAK,EAAE;MACVgB,kBAAK,CAACC,KAAK,CAAC,OAAO,EAAE,2BAA2B,CAAC;MACjD;IACF;IAEAN,YAAY,CAAC,IAAI,CAAC;IAClB,IAAI;MACFO,OAAO,CAACC,GAAG,CAAC,uCAAuC,EAAEnB,KAAK,CAAC;;MAE3D;MACA,MAAMoB,WAAW,GAAG,MAAM,IAAAC,iDAA4B,EAACrB,KAAK,EAAEI,QAAQ,CAAC;MACvE,IAAIgB,WAAW,CAACE,OAAO,IAAIF,WAAW,CAACG,SAAS,EAAE;QAChDL,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;QACnDN,WAAW,CAAC,IAAI,CAAC;QACjBP,OAAO,CAAC,QAAQ,CAAC;QACjBK,YAAY,CAAC,KAAK,CAAC;QACnB;MACF;;MAEA;MACA,MAAMa,MAAM,GAAG,MAAM,IAAAC,6CAAwB,EAACzB,KAAK,EAAEI,QAAQ,CAAC;MAE9D,IAAIoB,MAAM,CAACF,OAAO,EAAE;QAClBJ,OAAO,CAACC,GAAG,CAAC,kDAAkD,CAAC;QAC/DN,WAAW,CAAC,IAAI,CAAC;QACjBP,OAAO,CAAC,QAAQ,CAAC;QACjBU,kBAAK,CAACC,KAAK,CACT,wBAAwB,EACxBO,MAAM,CAACE,OAAO,IAAI,8GAA8G,EAChI,CAAC;UAAEC,IAAI,EAAE,IAAI;UAAEC,KAAK,EAAE;QAAU,CAAC,CACnC,CAAC;MACH,CAAC,MAAM;QACLV,OAAO,CAACW,KAAK,CAAC,wCAAwC,EAAEL,MAAM,CAACK,KAAK,CAAC;QACrEb,kBAAK,CAACC,KAAK,CAAC,OAAO,EAAEO,MAAM,CAACK,KAAK,IAAI,kCAAkC,CAAC;QACxE1B,oBAAoB,CAACqB,MAAM,CAACK,KAAK,IAAI,kCAAkC,CAAC;MAC1E;IACF,CAAC,CAAC,OAAOA,KAAK,EAAE;MACdX,OAAO,CAACW,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;MACxD,MAAMC,YAAY,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACH,OAAO,GAAG,eAAe;MAC7EV,kBAAK,CAACC,KAAK,CAAC,OAAO,EAAEa,YAAY,CAAC;MAClC3B,oBAAoB,CAAC2B,YAAY,CAAC;IACpC,CAAC,SAAS;MACRnB,YAAY,CAAC,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACX,KAAK,EAAEG,oBAAoB,CAAC,CAAC;EAEjC,MAAM6B,gBAAgB,GAAG,IAAAjB,kBAAW,EAAC,YAAY;IAC/C,IAAI,CAACP,gBAAgB,CAACyB,IAAI,CAAC,CAAC,EAAE;MAC5BjB,kBAAK,CAACC,KAAK,CAAC,OAAO,EAAE,oCAAoC,CAAC;MAC1D;IACF;IAEAN,YAAY,CAAC,IAAI,CAAC;IAClB,IAAI;MACFO,OAAO,CAACC,GAAG,CAAC,8BAA8B,EAAEnB,KAAK,CAAC;MAElD,MAAMwB,MAAM,GAAG,MAAM,IAAAU,oCAAe,EAAClC,KAAK,EAAEQ,gBAAgB,CAACyB,IAAI,CAAC,CAAC,EAAE7B,QAAQ,CAAC;MAE9E,IAAIoB,MAAM,CAACF,OAAO,EAAE;QAClBJ,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;;QAE9C;QACA;QACA;QACA,MAAMgB,cAAc,GAAG,KAAK,CAAC,CAAC;;QAE9BnB,kBAAK,CAACC,KAAK,CACT,gBAAgB,EAChBO,MAAM,CAACE,OAAO,IAAI,4CAA4C,EAC9D,CAAC;UACCC,IAAI,EAAE,UAAU;UAChBS,OAAO,EAAEA,CAAA,KAAM;YACblC,sBAAsB,CAACF,KAAK,EAAEmC,cAAc,CAAC;UAC/C;QACF,CAAC,CACH,CAAC;MACH,CAAC,MAAM;QACLjB,OAAO,CAACW,KAAK,CAAC,8BAA8B,EAAEL,MAAM,CAACK,KAAK,CAAC;QAC3Db,kBAAK,CAACC,KAAK,CAAC,qBAAqB,EAAEO,MAAM,CAACK,KAAK,IAAI,8CAA8C,CAAC;MACpG;IACF,CAAC,CAAC,OAAOA,KAAK,EAAE;MACdX,OAAO,CAACW,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC;MAC/C,MAAMC,YAAY,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACH,OAAO,GAAG,eAAe;MAC7EV,kBAAK,CAACC,KAAK,CAAC,OAAO,EAAEa,YAAY,CAAC;IACpC,CAAC,SAAS;MACRnB,YAAY,CAAC,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACX,KAAK,EAAEQ,gBAAgB,EAAEN,sBAAsB,CAAC,CAAC;EAErD,MAAMmC,gBAAgB,GAAG,IAAAtB,kBAAW,EAAC,YAAY;IAC/CN,mBAAmB,CAAC,EAAE,CAAC;IACvB,MAAMK,yBAAyB,CAAC,CAAC;EACnC,CAAC,EAAE,CAACA,yBAAyB,CAAC,CAAC;EAE/B,oBACE1C,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAgE,KAAK;IACJxC,OAAO,EAAEA,OAAQ;IACjByC,WAAW;IACXC,aAAa,EAAC,OAAO;IACrBC,oBAAoB;IACpBC,cAAc,EAAE1C;EAAQ,gBAExB7B,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAqE,wBAAwB;IAACR,OAAO,EAAEnC;EAAQ,gBACzC7B,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACC;EAAa,gBAC/B3E,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAqE,wBAAwB;IAACR,OAAO,EAAEzD,CAAC,IAAIA,CAAC,CAACqE,eAAe,CAAC;EAAE,gBAC1D5E,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACG;EAAa,gBAC/B7E,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAA2E,YAAY;IAACtB,KAAK,EAAEkB,MAAM,CAACK;EAAU,gBACpC/E,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACM;EAAO,gBACzBhF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAA8E,gBAAgB;IAACjB,OAAO,EAAEnC,OAAQ;IAAC2B,KAAK,EAAEkB,MAAM,CAACQ;EAAY,gBAC5DlF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC9D,cAAA,CAAAK,OAAI;IAAC0E,IAAI,EAAC,OAAO;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CAC3B,CAAC,eACnBrF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACa;EAAY,GAAC,oBAAwB,CAAC,eAC1DvF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACc;EAAY,CAAE,CAC9B,CAAC,eAEPxF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACe;EAAQ,GACzBxD,IAAI,KAAK,SAAS,gBACjBjC,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAAlE,MAAA,CAAAS,OAAA,CAAAiF,QAAA,qBACE1F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACiB;EAAc,gBAChC3F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC9D,cAAA,CAAAK,OAAI;IAAC0E,IAAI,EAAC,OAAO;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAS,CAAE,CAC1C,CAAC,eAEPrF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACkB;EAAM,GAAC,mBAAuB,CAAC,eACnD5F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACmB;EAAS,GAAC,kDAExB,CAAC,eAEP7F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACoB;EAAe,gBACjC9F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACqB;EAAW,GAAC,gBAAoB,CAAC,eACrD/F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACsB;EAAU,GAAEpE,KAAY,CACxC,CAAC,eAEP5B,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAA8E,gBAAgB;IACfzB,KAAK,EAAE,CAACkB,MAAM,CAACuB,MAAM,EAAE3D,SAAS,IAAIoC,MAAM,CAACwB,cAAc,CAAE;IAC3DlC,OAAO,EAAEtB,yBAA0B;IACnCyD,QAAQ,EAAE7D;EAAU,GAEnBA,SAAS,gBACRtC,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAiG,iBAAiB;IAAChB,IAAI,EAAC,OAAO;IAACC,KAAK,EAAC;EAAM,CAAE,CAAC,gBAE/CrF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAAC2B;EAAW,GAAC,wBAA4B,CAE9C,CAClB,CAAC,gBAEHrG,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAAlE,MAAA,CAAAS,OAAA,CAAAiF,QAAA,qBACE1F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAsE,IAAI;IAACjB,KAAK,EAAEkB,MAAM,CAACiB;EAAc,gBAChC3F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC9D,cAAA,CAAAK,OAAI;IAAC0E,IAAI,EAAC,UAAU;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAS,CAAE,CAC7C,CAAC,eAEPrF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACkB;EAAM,GAAC,yBAA6B,CAAC,eACzD5F,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACmB;EAAS,GAAC,+BACC,EAACjE,KAC1B,CAAC,EAENI,QAAQ,iBACPhC,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAAC4B;EAAY,GAAC,qEAE3B,CACP,eAEDtG,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAoG,SAAS;IACR/C,KAAK,EAAEkB,MAAM,CAAC8B,SAAU;IACxBC,KAAK,EAAErE,gBAAiB;IACxBsE,YAAY,EAAErE,mBAAoB;IAClCmD,WAAW,EAAC,oBAAoB;IAChCmB,YAAY,EAAC,YAAY;IACzBC,SAAS,EAAE,CAAE;IACbC,SAAS;IACTC,SAAS,EAAC;EAAQ,CACnB,CAAC,eAEF9G,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAA8E,gBAAgB;IACfzB,KAAK,EAAE,CAACkB,MAAM,CAACuB,MAAM,EAAE3D,SAAS,IAAIoC,MAAM,CAACwB,cAAc,CAAE;IAC3DlC,OAAO,EAAEJ,gBAAiB;IAC1BuC,QAAQ,EAAE7D,SAAS,IAAI,CAACF,gBAAgB,CAACyB,IAAI,CAAC;EAAE,GAE/CvB,SAAS,gBACRtC,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAiG,iBAAiB;IAAChB,IAAI,EAAC,OAAO;IAACC,KAAK,EAAC;EAAM,CAAE,CAAC,gBAE/CrF,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAAC2B;EAAW,GAAC,aAAiB,CAEnC,CAAC,eAEnBrG,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAA8E,gBAAgB;IACfzB,KAAK,EAAEkB,MAAM,CAACqC,YAAa;IAC3B/C,OAAO,EAAEC,gBAAiB;IAC1BkC,QAAQ,EAAE7D;EAAU,gBAEpBtC,MAAA,CAAAS,OAAA,CAAAyD,aAAA,CAAC/D,YAAA,CAAAmF,IAAI;IAAC9B,KAAK,EAAEkB,MAAM,CAACsC;EAAiB,GAAC,iCAEhC,CACU,CAClB,CAEA,CACM,CACV,CACkB,CACtB,CACkB,CACrB,CAAC;AAEZ,CAAC;AAACC,OAAA,CAAAvF,sBAAA,GAAAA,sBAAA;AAEF,MAAMgD,MAAM,GAAGwC,uBAAU,CAACC,MAAM,CAAC;EAC/BxC,YAAY,EAAE;IACZyC,IAAI,EAAE,CAAC;IACPC,eAAe,EAAE,oBAAoB;IACrCC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACD1C,YAAY,EAAE;IACZwC,eAAe,EAAE,MAAM;IACvBG,YAAY,EAAE,EAAE;IAChBC,KAAK,EAAE,KAAK;IACZC,QAAQ,EAAE,GAAG;IACbC,SAAS,EAAE;EACb,CAAC;EACD5C,SAAS,EAAE;IACT6C,OAAO,EAAE;EACX,CAAC;EACD5C,MAAM,EAAE;IACN6C,aAAa,EAAE,KAAK;IACpBN,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,eAAe;IAC/BQ,YAAY,EAAE;EAChB,CAAC;EACD5C,WAAW,EAAE;IACX0C,OAAO,EAAE;EACX,CAAC;EACDrC,WAAW,EAAE;IACXwC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjB3C,KAAK,EAAE;EACT,CAAC;EACDG,WAAW,EAAE;IACXiC,KAAK,EAAE;EACT,CAAC;EACDhC,OAAO,EAAE;IACP8B,UAAU,EAAE;EACd,CAAC;EACD5B,aAAa,EAAE;IACbmC,YAAY,EAAE;EAChB,CAAC;EACDlC,KAAK,EAAE;IACLmC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjB3C,KAAK,EAAE,MAAM;IACbyB,SAAS,EAAE,QAAQ;IACnBgB,YAAY,EAAE;EAChB,CAAC;EACDjC,QAAQ,EAAE;IACRkC,QAAQ,EAAE,EAAE;IACZ1C,KAAK,EAAE,MAAM;IACbyB,SAAS,EAAE,QAAQ;IACnBgB,YAAY,EAAE;EAChB,CAAC;EACDhC,cAAc,EAAE;IACduB,eAAe,EAAE,SAAS;IAC1BO,OAAO,EAAE,EAAE;IACXJ,YAAY,EAAE,CAAC;IACfM,YAAY,EAAE,EAAE;IAChBL,KAAK,EAAE;EACT,CAAC;EACD1B,UAAU,EAAE;IACVgC,QAAQ,EAAE,EAAE;IACZ1C,KAAK,EAAE,MAAM;IACbyC,YAAY,EAAE;EAChB,CAAC;EACD9B,SAAS,EAAE;IACT+B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjB3C,KAAK,EAAE;EACT,CAAC;EACDiB,WAAW,EAAE;IACXyB,QAAQ,EAAE,EAAE;IACZ1C,KAAK,EAAE,SAAS;IAChByB,SAAS,EAAE,QAAQ;IACnBgB,YAAY,EAAE,EAAE;IAChBT,eAAe,EAAE,SAAS;IAC1BO,OAAO,EAAE,CAAC;IACVJ,YAAY,EAAE;EAChB,CAAC;EACDhB,SAAS,EAAE;IACTyB,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,MAAM;IACnBV,YAAY,EAAE,CAAC;IACfI,OAAO,EAAE,EAAE;IACXG,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBG,aAAa,EAAE,CAAC;IAChBL,YAAY,EAAE,EAAE;IAChBL,KAAK,EAAE;EACT,CAAC;EACDxB,MAAM,EAAE;IACNoB,eAAe,EAAE,SAAS;IAC1Be,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBb,YAAY,EAAE,CAAC;IACfC,KAAK,EAAE,MAAM;IACbF,UAAU,EAAE,QAAQ;IACpBO,YAAY,EAAE;EAChB,CAAC;EACD5B,cAAc,EAAE;IACdoC,OAAO,EAAE;EACX,CAAC;EACDjC,UAAU,EAAE;IACVhB,KAAK,EAAE,MAAM;IACb0C,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDjB,YAAY,EAAE;IACZqB,eAAe,EAAE;EACnB,CAAC;EACDpB,gBAAgB,EAAE;IAChB3B,KAAK,EAAE,SAAS;IAChB0C,QAAQ,EAAE,EAAE;IACZQ,kBAAkB,EAAE;EACtB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_MaterialIcons","_interopRequireDefault","_platformAuthService","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EmailVerificationModal","visible","email","onClose","onVerificationComplete","onVerificationFailed","testMode","step","setStep","useState","verificationCode","setVerificationCode","isLoading","setIsLoading","codeSent","setCodeSent","handleRequestVerification","useCallback","Alert","alert","console","log","statusCheck","checkEmailVerificationStatus","success","isPending","result","requestEmailVerification","message","text","style","error","errorMessage","Error","handleVerifyCode","trim","verifyEmailCode","token","isExistingUser","existingUser","onPress","handleResendCode","createElement","Modal","transparent","animationType","statusBarTranslucent","onRequestClose","TouchableWithoutFeedback","View","styles","modalOverlay","stopPropagation","modalContent","SafeAreaView","container","header","TouchableOpacity","closeButton","name","size","color","Text","headerTitle","placeholder","content","Fragment","iconContainer","title","subtitle","emailContainer","emailLabel","emailText","button","buttonDisabled","disabled","ActivityIndicator","buttonText","testingNote","TextInput","codeInput","value","onChangeText","keyboardType","maxLength","autoFocus","textAlign","resendButton","resendButtonText","exports","StyleSheet","create","flex","backgroundColor","justifyContent","alignItems","borderRadius","width","maxWidth","maxHeight","padding","flexDirection","marginBottom","fontSize","fontWeight","borderWidth","borderColor","letterSpacing","paddingVertical","paddingHorizontal","opacity","textDecorationLine"],"sourceRoot":"..\\..\\..\\src","sources":["components/EmailVerificationModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,12 @@ Object.defineProperty(exports, "clearStoredTokens", {
33
33
  return _platformAuthService.clearStoredTokens;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "decodeJWTPayload", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _apiKeyService.decodeJWTPayload;
40
+ }
41
+ });
36
42
  exports.default = void 0;
37
43
  Object.defineProperty(exports, "executeOnairosFlow", {
38
44
  enumerable: true,
@@ -40,6 +46,18 @@ Object.defineProperty(exports, "executeOnairosFlow", {
40
46
  return _programmaticFlow.executeOnairosFlow;
41
47
  }
42
48
  });
49
+ Object.defineProperty(exports, "extractUserDataFromJWT", {
50
+ enumerable: true,
51
+ get: function () {
52
+ return _apiKeyService.extractUserDataFromJWT;
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "extractUsernameFromJWT", {
56
+ enumerable: true,
57
+ get: function () {
58
+ return _apiKeyService.extractUsernameFromJWT;
59
+ }
60
+ });
43
61
  Object.defineProperty(exports, "getStoredJwtToken", {
44
62
  enumerable: true,
45
63
  get: function () {
@@ -58,12 +76,6 @@ Object.defineProperty(exports, "requestEmailVerification", {
58
76
  return _platformAuthService.requestEmailVerification;
59
77
  }
60
78
  });
61
- Object.defineProperty(exports, "storePinAfterBiometric", {
62
- enumerable: true,
63
- get: function () {
64
- return _platformAuthService.storePinAfterBiometric;
65
- }
66
- });
67
79
  Object.defineProperty(exports, "verifyEmailCode", {
68
80
  enumerable: true,
69
81
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_OnairosButton","require","_Onairos","_apiKeyService","_platformAuthService","_programmaticFlow","_default","exports","default","OnairosButton","Onairos"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGA,IAAAE,cAAA,GAAAF,OAAA;AAMA,IAAAG,oBAAA,GAAAH,OAAA;AAUA,IAAAI,iBAAA,GAAAJ,OAAA;AArCA;AACA;AACA;AACA;AACA;AACA;AAEA;AASA;AAIA;AAMA;AAUA;AAGA;AAAA,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,aAAa,EAAbA,4BAAa;EACbC,OAAO,EAAPA;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_OnairosButton","require","_Onairos","_apiKeyService","_platformAuthService","_programmaticFlow","_default","exports","default","OnairosButton","Onairos"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,IAAAA,cAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGA,IAAAE,cAAA,GAAAF,OAAA;AASA,IAAAG,oBAAA,GAAAH,OAAA;AAUA,IAAAI,iBAAA,GAAAJ,OAAA;AAxCA;AACA;AACA;AACA;AACA;AACA;AAEA;AASA;AAIA;AASA;AAUA;AAGA;AAAA,IAAAK,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,aAAa,EAAbA,4BAAa;EACbC,OAAO,EAAPA;AACF,CAAC","ignoreList":[]}
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.validateApiKey = exports.resetApiKeyService = exports.makeAuthenticatedRequest = exports.isApiKeyInitialized = exports.isAdminKey = exports.initializeApiKey = exports.getAuthHeaders = exports.getApiKeyType = exports.getApiKey = exports.getApiConfig = exports.clearValidationCache = exports.ApiKeyType = exports.ADMIN_API_KEY = void 0;
6
+ exports.validateApiKey = exports.storeJWT = exports.resetApiKeyService = exports.makeUserRequest = exports.makeDeveloperRequest = exports.makeAuthenticatedRequest = exports.loadJWT = exports.isUserAuthenticated = exports.isApiKeyInitialized = exports.isAdminKey = exports.initializeApiKey = exports.getUserAuthHeaders = exports.getJWT = exports.getDeveloperAuthHeaders = exports.getAuthHeaders = exports.getApiKeyType = exports.getApiKey = exports.getApiConfig = exports.extractUsernameFromJWT = exports.extractUserDataFromJWT = exports.decodeJWTPayload = exports.clearValidationCache = exports.clearJWT = exports.ApiKeyType = exports.ADMIN_API_KEY = void 0;
7
+ var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
9
  // Admin key for backend validation
8
10
  const ADMIN_API_KEY = exports.ADMIN_API_KEY = 'OnairosIsAUnicorn2025';
9
11
 
@@ -13,30 +15,33 @@ let ApiKeyType = exports.ApiKeyType = /*#__PURE__*/function (ApiKeyType) {
13
15
  ApiKeyType["ADMIN"] = "admin";
14
16
  ApiKeyType["INVALID"] = "invalid";
15
17
  return ApiKeyType;
16
- }({});
18
+ }({}); // JWT token storage key
19
+ const JWT_TOKEN_KEY = 'onairos_jwt_token';
20
+
17
21
  /**
18
- * API Key Service for Onairos React Native SDK
22
+ * Two-Tier Authentication Service for Onairos React Native SDK
19
23
  *
20
- * This service handles API key validation, management, and authentication
21
- * following standard SDK patterns for secure API key handling.
24
+ * This service implements the two-tier authentication system:
25
+ * 1. Developer API Keys: For app-level operations (email verification, app registration)
26
+ * 2. JWT User Tokens: For user-level operations (PIN storage, user profile)
22
27
  *
23
28
  * How it works:
24
- * 1. Initialize with API key and configuration
25
- * 2. Validate API key with the Onairos backend
26
- * 3. Cache validation results for performance
27
- * 4. Include API key in all authenticated requests
28
- * 5. Handle API key errors gracefully with developer-friendly messages
29
+ * 1. Initialize with developer API key
30
+ * 2. Use API key for email verification requests
31
+ * 3. Store JWT token from email verification response
32
+ * 4. Use JWT token for user-authenticated requests
33
+ * 5. Handle token expiration gracefully
29
34
  *
30
35
  * Backend Integration:
31
- * - All API requests include: Authorization: Bearer {apiKey}
32
- * - Backend should validate API keys on each request
33
- * - Admin key "OnairosIsAUnicorn2025" has full permissions
34
- * - Developer keys have limited permissions based on validation response
36
+ * - Developer routes: Authorization: Bearer ${API_KEY}
37
+ * - User routes: Authorization: Bearer ${JWT_TOKEN}
35
38
  */
39
+
36
40
  // Global configuration state
37
41
  let globalConfig = null;
38
42
  let validationCache = new Map();
39
43
  let isInitialized = false;
44
+ let userToken = null;
40
45
 
41
46
  // Cache duration (5 minutes)
42
47
  const CACHE_DURATION = 5 * 60 * 1000;
@@ -49,14 +54,14 @@ const API_ENDPOINTS = {
49
54
  };
50
55
 
51
56
  /**
52
- * Initialize the SDK with API key and configuration
53
- * @param config API configuration including API key
57
+ * Initialize the SDK with developer API key
58
+ * @param config API configuration including developer API key
54
59
  */
55
60
  const initializeApiKey = async config => {
56
61
  try {
57
- console.log('🔑 Initializing Onairos SDK with API key...');
62
+ console.log('🔑 Initializing Onairos SDK with developer API key...');
58
63
  if (!config.apiKey) {
59
- throw new Error('API key is required for SDK initialization');
64
+ throw new Error('Developer API key is required for SDK initialization');
60
65
  }
61
66
  if (config.apiKey.length < 32) {
62
67
  throw new Error('Invalid API key format. API key must be at least 32 characters long.');
@@ -81,14 +86,21 @@ const initializeApiKey = async config => {
81
86
  });
82
87
  }
83
88
 
84
- // Validate the API key
89
+ // Validate the developer API key
85
90
  const validation = await validateApiKey(config.apiKey);
86
91
  if (!validation.isValid) {
87
- throw new Error(`API key validation failed: ${validation.error}`);
92
+ throw new Error(`Developer API key validation failed: ${validation.error}`);
88
93
  }
94
+
95
+ // Try to load existing JWT token
96
+ await loadJWT();
89
97
  isInitialized = true;
90
98
  if (globalConfig.enableLogging) {
91
99
  console.log('✅ Onairos SDK initialized successfully');
100
+ console.log('🔑 Developer API key ready for app-level operations');
101
+ if (userToken) {
102
+ console.log('🎫 User JWT token loaded from storage');
103
+ }
92
104
  if (validation.permissions) {
93
105
  console.log('🔐 API Key Permissions:', validation.permissions);
94
106
  }
@@ -294,14 +306,207 @@ const isApiKeyInitialized = () => {
294
306
  return isInitialized && globalConfig !== null;
295
307
  };
296
308
 
309
+ /**
310
+ * Store JWT token securely after email verification
311
+ * @param token JWT token from email verification response
312
+ */
313
+ exports.isApiKeyInitialized = isApiKeyInitialized;
314
+ const storeJWT = async token => {
315
+ try {
316
+ var _globalConfig7;
317
+ await _asyncStorage.default.setItem(JWT_TOKEN_KEY, token);
318
+ userToken = token;
319
+ if ((_globalConfig7 = globalConfig) !== null && _globalConfig7 !== void 0 && _globalConfig7.enableLogging) {
320
+ console.log('🎫 JWT token stored successfully');
321
+ }
322
+ } catch (error) {
323
+ console.error('❌ Failed to store JWT token:', error);
324
+ throw error;
325
+ }
326
+ };
327
+
328
+ /**
329
+ * Load JWT token from storage
330
+ * @returns JWT token or null if not found
331
+ */
332
+ exports.storeJWT = storeJWT;
333
+ const loadJWT = async () => {
334
+ try {
335
+ const token = await _asyncStorage.default.getItem(JWT_TOKEN_KEY);
336
+ userToken = token;
337
+ return token;
338
+ } catch (error) {
339
+ console.error('❌ Failed to load JWT token:', error);
340
+ return null;
341
+ }
342
+ };
343
+
344
+ /**
345
+ * Get current JWT token
346
+ * @returns JWT token or null if not available
347
+ */
348
+ exports.loadJWT = loadJWT;
349
+ const getJWT = () => {
350
+ return userToken;
351
+ };
352
+
353
+ /**
354
+ * Clear JWT token (on logout or token expiration)
355
+ */
356
+ exports.getJWT = getJWT;
357
+ const clearJWT = async () => {
358
+ try {
359
+ var _globalConfig8;
360
+ await _asyncStorage.default.removeItem(JWT_TOKEN_KEY);
361
+ userToken = null;
362
+ if ((_globalConfig8 = globalConfig) !== null && _globalConfig8 !== void 0 && _globalConfig8.enableLogging) {
363
+ console.log('🗑️ JWT token cleared');
364
+ }
365
+ } catch (error) {
366
+ console.error('❌ Failed to clear JWT token:', error);
367
+ }
368
+ };
369
+
370
+ /**
371
+ * React Native compatible base64 decoder
372
+ * @param str Base64 encoded string
373
+ * @returns Decoded string
374
+ */
375
+ exports.clearJWT = clearJWT;
376
+ const base64Decode = str => {
377
+ // Simple base64 decoding for React Native
378
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
379
+ let result = '';
380
+ let i = 0;
381
+ str = str.replace(/[^A-Za-z0-9+/]/g, '');
382
+ while (i < str.length) {
383
+ const a = chars.indexOf(str.charAt(i++));
384
+ const b = chars.indexOf(str.charAt(i++));
385
+ const c = chars.indexOf(str.charAt(i++));
386
+ const d = chars.indexOf(str.charAt(i++));
387
+ const bitmap = a << 18 | b << 12 | c << 6 | d;
388
+ result += String.fromCharCode(bitmap >> 16 & 255);
389
+ if (c !== 64) result += String.fromCharCode(bitmap >> 8 & 255);
390
+ if (d !== 64) result += String.fromCharCode(bitmap & 255);
391
+ }
392
+ return result;
393
+ };
394
+
395
+ /**
396
+ * Decode JWT token payload (React Native compatible)
397
+ * @param token JWT token string
398
+ * @returns Decoded payload or null if invalid
399
+ */
400
+ const decodeJWTPayload = token => {
401
+ try {
402
+ // Split JWT token (header.payload.signature)
403
+ const parts = token.split('.');
404
+ if (parts.length !== 3) {
405
+ console.error('❌ Invalid JWT token format');
406
+ return null;
407
+ }
408
+
409
+ // Decode payload (base64url to base64)
410
+ const payload = parts[1];
411
+ const base64 = payload.replace(/-/g, '+').replace(/_/g, '/');
412
+
413
+ // Add padding if needed
414
+ const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, '=');
415
+
416
+ // Decode base64 to JSON using React Native compatible decoder
417
+ const decoded = base64Decode(padded);
418
+ return JSON.parse(decoded);
419
+ } catch (error) {
420
+ console.error('❌ Failed to decode JWT token:', error);
421
+ return null;
422
+ }
423
+ };
424
+
425
+ /**
426
+ * Extract username from JWT token
427
+ * @param token JWT token (optional, uses stored token if not provided)
428
+ * @returns Username or null if not found
429
+ */
430
+ exports.decodeJWTPayload = decodeJWTPayload;
431
+ const extractUsernameFromJWT = token => {
432
+ try {
433
+ var _globalConfig9;
434
+ const jwtToken = token || userToken;
435
+ if (!jwtToken) {
436
+ console.warn('⚠️ No JWT token available for username extraction');
437
+ return null;
438
+ }
439
+ const payload = decodeJWTPayload(jwtToken);
440
+ if (!payload) {
441
+ return null;
442
+ }
443
+
444
+ // Try different possible username fields in order of preference
445
+ const username = payload.userName || payload.username || payload.userId || payload.email;
446
+ if ((_globalConfig9 = globalConfig) !== null && _globalConfig9 !== void 0 && _globalConfig9.enableLogging) {
447
+ console.log('👤 Extracted username from JWT:', username);
448
+ }
449
+ return username || null;
450
+ } catch (error) {
451
+ console.error('❌ Failed to extract username from JWT:', error);
452
+ return null;
453
+ }
454
+ };
455
+
456
+ /**
457
+ * Extract user data from JWT token
458
+ * @param token JWT token (optional, uses stored token if not provided)
459
+ * @returns User data object or null if not found
460
+ */
461
+ exports.extractUsernameFromJWT = extractUsernameFromJWT;
462
+ const extractUserDataFromJWT = token => {
463
+ try {
464
+ var _globalConfig0;
465
+ const jwtToken = token || userToken;
466
+ if (!jwtToken) {
467
+ console.warn('⚠️ No JWT token available for user data extraction');
468
+ return null;
469
+ }
470
+ const payload = decodeJWTPayload(jwtToken);
471
+ if (!payload) {
472
+ return null;
473
+ }
474
+ const userData = {
475
+ id: payload.id,
476
+ email: payload.email,
477
+ userId: payload.userId,
478
+ userName: payload.userName || payload.username,
479
+ verified: payload.verified,
480
+ iat: payload.iat,
481
+ exp: payload.exp
482
+ };
483
+ if ((_globalConfig0 = globalConfig) !== null && _globalConfig0 !== void 0 && _globalConfig0.enableLogging) {
484
+ console.log('👤 Extracted user data from JWT:', userData);
485
+ }
486
+ return userData;
487
+ } catch (error) {
488
+ console.error('❌ Failed to extract user data from JWT:', error);
489
+ return null;
490
+ }
491
+ };
492
+
493
+ /**
494
+ * Check if user is authenticated with JWT token
495
+ * @returns True if user has valid JWT token
496
+ */
497
+ exports.extractUserDataFromJWT = extractUserDataFromJWT;
498
+ const isUserAuthenticated = () => {
499
+ return !!userToken;
500
+ };
501
+
297
502
  /**
298
503
  * Get authenticated headers for API requests
299
504
  * @returns Headers object with Authorization and other required headers
300
505
  */
301
- exports.isApiKeyInitialized = isApiKeyInitialized;
506
+ exports.isUserAuthenticated = isUserAuthenticated;
302
507
  const getAuthHeaders = () => {
303
- var _globalConfig7;
304
- if (!((_globalConfig7 = globalConfig) !== null && _globalConfig7 !== void 0 && _globalConfig7.apiKey)) {
508
+ var _globalConfig1;
509
+ if (!((_globalConfig1 = globalConfig) !== null && _globalConfig1 !== void 0 && _globalConfig1.apiKey)) {
305
510
  throw new Error('SDK not initialized. Call initializeApiKey() first.');
306
511
  }
307
512
  const keyType = getApiKeyType(globalConfig.apiKey);
@@ -316,13 +521,54 @@ const getAuthHeaders = () => {
316
521
  };
317
522
  };
318
523
 
524
+ /**
525
+ * Get authentication headers for developer API requests
526
+ * @returns Headers with developer API key
527
+ */
528
+ exports.getAuthHeaders = getAuthHeaders;
529
+ const getDeveloperAuthHeaders = () => {
530
+ var _globalConfig10;
531
+ if (!((_globalConfig10 = globalConfig) !== null && _globalConfig10 !== void 0 && _globalConfig10.apiKey)) {
532
+ throw new Error('SDK not initialized. Call initializeApiKey() first.');
533
+ }
534
+ const keyType = getApiKeyType(globalConfig.apiKey);
535
+ return {
536
+ 'Content-Type': 'application/json',
537
+ 'Authorization': `Bearer ${globalConfig.apiKey}`,
538
+ 'User-Agent': 'OnairosSDK/1.0.0',
539
+ 'X-SDK-Version': '3.0.72',
540
+ 'X-SDK-Environment': globalConfig.environment || 'production',
541
+ 'X-API-Key-Type': keyType,
542
+ 'X-Timestamp': new Date().toISOString()
543
+ };
544
+ };
545
+
546
+ /**
547
+ * Get authentication headers for user JWT requests
548
+ * @returns Headers with user JWT token
549
+ */
550
+ exports.getDeveloperAuthHeaders = getDeveloperAuthHeaders;
551
+ const getUserAuthHeaders = () => {
552
+ var _globalConfig11;
553
+ if (!userToken) {
554
+ throw new Error('User not authenticated. Please verify email first.');
555
+ }
556
+ return {
557
+ 'Content-Type': 'application/json',
558
+ 'Authorization': `Bearer ${userToken}`,
559
+ 'User-Agent': 'OnairosSDK/1.0.0',
560
+ 'X-SDK-Version': '3.0.72',
561
+ 'X-SDK-Environment': ((_globalConfig11 = globalConfig) === null || _globalConfig11 === void 0 ? void 0 : _globalConfig11.environment) || 'production'
562
+ };
563
+ };
564
+
319
565
  /**
320
566
  * Make an authenticated API request
321
567
  * @param endpoint The API endpoint (relative to base URL)
322
568
  * @param options Fetch options
323
569
  * @returns Response promise
324
570
  */
325
- exports.getAuthHeaders = getAuthHeaders;
571
+ exports.getUserAuthHeaders = getUserAuthHeaders;
326
572
  const makeAuthenticatedRequest = async (endpoint, options = {}) => {
327
573
  if (!isApiKeyInitialized()) {
328
574
  throw new Error('SDK not initialized. Call initializeApiKey() first.');
@@ -379,13 +625,141 @@ const makeAuthenticatedRequest = async (endpoint, options = {}) => {
379
625
  };
380
626
 
381
627
  /**
382
- * Clear the API key validation cache
628
+ * Make authenticated request with developer API key
629
+ * @param endpoint The API endpoint
630
+ * @param options Fetch options
631
+ * @returns Response promise
383
632
  */
384
633
  exports.makeAuthenticatedRequest = makeAuthenticatedRequest;
634
+ const makeDeveloperRequest = async (endpoint, options = {}) => {
635
+ if (!isApiKeyInitialized()) {
636
+ throw new Error('SDK not initialized. Call initializeApiKey() first.');
637
+ }
638
+ const config = getApiConfig();
639
+ const baseUrl = API_ENDPOINTS[config.environment || 'production'];
640
+ const url = `${baseUrl}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;
641
+
642
+ // Merge developer authentication headers
643
+ const headers = {
644
+ ...getDeveloperAuthHeaders(),
645
+ ...(options.headers || {})
646
+ };
647
+
648
+ // Add timeout
649
+ const controller = new AbortController();
650
+ const timeoutId = setTimeout(() => controller.abort(), config.timeout || 30000);
651
+ try {
652
+ if (config.enableLogging) {
653
+ console.log(`🌐 Making developer request to: ${endpoint}`);
654
+ }
655
+ const response = await fetch(url, {
656
+ ...options,
657
+ headers,
658
+ signal: controller.signal
659
+ });
660
+ clearTimeout(timeoutId);
661
+ if (config.enableLogging) {
662
+ console.log(`📡 Developer request response: ${response.status} for ${endpoint}`);
663
+ }
664
+
665
+ // Handle API key errors
666
+ if (response.status === 401) {
667
+ console.error('❌ Developer API key authentication failed');
668
+ throw new Error('Invalid or expired API key');
669
+ }
670
+ if (response.status === 403) {
671
+ console.error('❌ Developer API key permissions insufficient');
672
+ throw new Error('Insufficient API key permissions');
673
+ }
674
+ if (response.status === 429) {
675
+ console.error('❌ API rate limit exceeded');
676
+ throw new Error('Rate limit exceeded');
677
+ }
678
+ return response;
679
+ } catch (error) {
680
+ clearTimeout(timeoutId);
681
+ if (error.name === 'AbortError') {
682
+ console.error('⏱️ Request timeout for:', endpoint);
683
+ throw new Error('Request timeout');
684
+ }
685
+ throw error;
686
+ }
687
+ };
688
+
689
+ /**
690
+ * Make authenticated request with user JWT token
691
+ * @param endpoint The API endpoint
692
+ * @param options Fetch options
693
+ * @returns Response promise
694
+ */
695
+ exports.makeDeveloperRequest = makeDeveloperRequest;
696
+ const makeUserRequest = async (endpoint, options = {}) => {
697
+ if (!isUserAuthenticated()) {
698
+ await loadJWT(); // Try to load from storage
699
+ }
700
+ if (!isUserAuthenticated()) {
701
+ throw new Error('User not authenticated. Please verify email first.');
702
+ }
703
+ const config = getApiConfig() || {
704
+ environment: 'production',
705
+ timeout: 30000,
706
+ enableLogging: false
707
+ };
708
+ const baseUrl = API_ENDPOINTS[config.environment || 'production'];
709
+ const url = `${baseUrl}${endpoint.startsWith('/') ? '' : '/'}${endpoint}`;
710
+
711
+ // Merge user authentication headers
712
+ const headers = {
713
+ ...getUserAuthHeaders(),
714
+ ...(options.headers || {})
715
+ };
716
+
717
+ // Add timeout
718
+ const controller = new AbortController();
719
+ const timeoutId = setTimeout(() => controller.abort(), config.timeout || 30000);
720
+ try {
721
+ if (config.enableLogging) {
722
+ console.log(`🌐 Making user request to: ${endpoint}`);
723
+ }
724
+ const response = await fetch(url, {
725
+ ...options,
726
+ headers,
727
+ signal: controller.signal
728
+ });
729
+ clearTimeout(timeoutId);
730
+ if (config.enableLogging) {
731
+ console.log(`📡 User request response: ${response.status} for ${endpoint}`);
732
+ }
733
+
734
+ // Handle JWT token errors
735
+ if (response.status === 401) {
736
+ console.error('❌ JWT token authentication failed - token may be expired');
737
+ await clearJWT(); // Clear expired token
738
+ throw new Error('Authentication expired. Please verify email again.');
739
+ }
740
+ if (response.status === 403) {
741
+ console.error('❌ JWT token permissions insufficient');
742
+ throw new Error('Insufficient permissions for this operation');
743
+ }
744
+ return response;
745
+ } catch (error) {
746
+ clearTimeout(timeoutId);
747
+ if (error.name === 'AbortError') {
748
+ console.error('⏱️ Request timeout for:', endpoint);
749
+ throw new Error('Request timeout');
750
+ }
751
+ throw error;
752
+ }
753
+ };
754
+
755
+ /**
756
+ * Clear the API key validation cache
757
+ */
758
+ exports.makeUserRequest = makeUserRequest;
385
759
  const clearValidationCache = () => {
386
- var _globalConfig8;
760
+ var _globalConfig12;
387
761
  validationCache.clear();
388
- if ((_globalConfig8 = globalConfig) !== null && _globalConfig8 !== void 0 && _globalConfig8.enableLogging) {
762
+ if ((_globalConfig12 = globalConfig) !== null && _globalConfig12 !== void 0 && _globalConfig12.enableLogging) {
389
763
  console.log('🗑️ API key validation cache cleared');
390
764
  }
391
765
  };