@onairos/react-native 3.0.72 โ†’ 3.0.73

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 (47) hide show
  1. package/lib/commonjs/components/Onairos.js.map +1 -1
  2. package/lib/commonjs/index.js +23 -504
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/services/apiKeyService.js +93 -14
  5. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  6. package/lib/commonjs/services/platformAuthService.js +223 -9
  7. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  8. package/lib/commonjs/types/index.js +4 -0
  9. package/lib/commonjs/types.js +12 -0
  10. package/lib/commonjs/types.js.map +1 -1
  11. package/lib/commonjs/utils/programmaticFlow.js +117 -0
  12. package/lib/commonjs/utils/programmaticFlow.js.map +1 -0
  13. package/lib/module/components/Onairos.js.map +1 -1
  14. package/lib/module/index.js +17 -64
  15. package/lib/module/index.js.map +1 -1
  16. package/lib/module/services/apiKeyService.js +90 -11
  17. package/lib/module/services/apiKeyService.js.map +1 -1
  18. package/lib/module/services/platformAuthService.js +217 -8
  19. package/lib/module/services/platformAuthService.js.map +1 -1
  20. package/lib/module/types/index.js +1 -1
  21. package/lib/module/types.js +8 -0
  22. package/lib/module/types.js.map +1 -1
  23. package/lib/module/utils/programmaticFlow.js +111 -0
  24. package/lib/module/utils/programmaticFlow.js.map +1 -0
  25. package/lib/typescript/components/Onairos.d.ts +1 -29
  26. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  27. package/lib/typescript/index.d.ts +10 -40
  28. package/lib/typescript/index.d.ts.map +1 -1
  29. package/lib/typescript/services/apiKeyService.d.ts +18 -0
  30. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  31. package/lib/typescript/services/platformAuthService.d.ts +26 -0
  32. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  33. package/lib/typescript/types/index.d.ts +144 -78
  34. package/lib/typescript/types/index.d.ts.map +1 -1
  35. package/lib/typescript/types.d.ts +56 -0
  36. package/lib/typescript/types.d.ts.map +1 -1
  37. package/lib/typescript/utils/programmaticFlow.d.ts +23 -0
  38. package/lib/typescript/utils/programmaticFlow.d.ts.map +1 -0
  39. package/package.json +1 -1
  40. package/src/components/Onairos.tsx +1 -30
  41. package/src/index.ts +23 -132
  42. package/src/services/apiKeyService.ts +84 -8
  43. package/src/services/platformAuthService.ts +260 -4
  44. package/src/types/index.d.ts +110 -0
  45. package/src/types/index.ts +148 -74
  46. package/src/types.ts +59 -0
  47. package/src/utils/programmaticFlow.ts +113 -0
@@ -3,7 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.validateApiKey = exports.resetApiKeyService = exports.makeAuthenticatedRequest = exports.isApiKeyInitialized = exports.initializeApiKey = exports.getAuthHeaders = exports.getApiKey = exports.getApiConfig = exports.clearValidationCache = void 0;
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;
7
+ // Admin key for backend validation
8
+ const ADMIN_API_KEY = exports.ADMIN_API_KEY = 'OnairosIsAUnicorn2025';
9
+
10
+ // API key types
11
+ let ApiKeyType = exports.ApiKeyType = /*#__PURE__*/function (ApiKeyType) {
12
+ ApiKeyType["DEVELOPER"] = "developer";
13
+ ApiKeyType["ADMIN"] = "admin";
14
+ ApiKeyType["INVALID"] = "invalid";
15
+ return ApiKeyType;
16
+ }({});
7
17
  /**
8
18
  * API Key Service for Onairos React Native SDK
9
19
  *
@@ -16,8 +26,13 @@ exports.validateApiKey = exports.resetApiKeyService = exports.makeAuthenticatedR
16
26
  * 3. Cache validation results for performance
17
27
  * 4. Include API key in all authenticated requests
18
28
  * 5. Handle API key errors gracefully with developer-friendly messages
29
+ *
30
+ * 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
19
35
  */
20
-
21
36
  // Global configuration state
22
37
  let globalConfig = null;
23
38
  let validationCache = new Map();
@@ -88,17 +103,70 @@ const initializeApiKey = async config => {
88
103
  }
89
104
  };
90
105
 
106
+ /**
107
+ * Determine API key type
108
+ * @param apiKey The API key to check
109
+ * @returns The type of API key
110
+ */
111
+ exports.initializeApiKey = initializeApiKey;
112
+ const getApiKeyType = apiKey => {
113
+ if (apiKey === ADMIN_API_KEY) {
114
+ return ApiKeyType.ADMIN;
115
+ }
116
+
117
+ // Developer keys should be at least 32 characters and start with specific prefix
118
+ if (apiKey.length >= 32 && (apiKey.startsWith('dev_') || apiKey.startsWith('pk_'))) {
119
+ return ApiKeyType.DEVELOPER;
120
+ }
121
+ return ApiKeyType.INVALID;
122
+ };
123
+
124
+ /**
125
+ * Check if API key is admin key
126
+ * @param apiKey The API key to check
127
+ * @returns True if admin key
128
+ */
129
+ exports.getApiKeyType = getApiKeyType;
130
+ const isAdminKey = apiKey => {
131
+ return apiKey === ADMIN_API_KEY;
132
+ };
133
+
91
134
  /**
92
135
  * Validate an API key with the Onairos backend
93
136
  * @param apiKey The API key to validate
94
137
  * @returns Validation result with permissions and rate limits
95
138
  */
96
- exports.initializeApiKey = initializeApiKey;
139
+ exports.isAdminKey = isAdminKey;
97
140
  const validateApiKey = async apiKey => {
98
141
  try {
99
142
  var _globalConfig2, _globalConfig3;
100
143
  console.log('๐Ÿ” Validating API key...');
101
144
 
145
+ // Check if it's an admin key
146
+ if (isAdminKey(apiKey)) {
147
+ console.log('๐Ÿ”‘ Admin key detected - granting full permissions');
148
+ return {
149
+ isValid: true,
150
+ permissions: ['*'],
151
+ // Full permissions for admin
152
+ rateLimits: {
153
+ remaining: 999999,
154
+ resetTime: Date.now() + 24 * 60 * 60 * 1000 // 24 hours
155
+ },
156
+ keyType: ApiKeyType.ADMIN
157
+ };
158
+ }
159
+
160
+ // Check basic format for developer keys
161
+ const keyType = getApiKeyType(apiKey);
162
+ if (keyType === ApiKeyType.INVALID) {
163
+ return {
164
+ isValid: false,
165
+ error: 'Invalid API key format. Developer keys must be at least 32 characters and start with "dev_" or "pk_"',
166
+ keyType: ApiKeyType.INVALID
167
+ };
168
+ }
169
+
102
170
  // Check cache first
103
171
  const cached = validationCache.get(apiKey);
104
172
  if (cached && Date.now() - cached.timestamp < CACHE_DURATION) {
@@ -121,12 +189,15 @@ const validateApiKey = async apiKey => {
121
189
  headers: {
122
190
  'Content-Type': 'application/json',
123
191
  'Authorization': `Bearer ${apiKey}`,
124
- 'User-Agent': 'OnairosReactNative/1.0'
192
+ 'User-Agent': 'OnairosReactNative/1.0',
193
+ 'X-API-Key-Type': keyType
125
194
  },
126
195
  body: JSON.stringify({
127
196
  environment,
128
- sdk_version: '3.0.71',
129
- platform: 'react-native'
197
+ sdk_version: '3.0.72',
198
+ platform: 'react-native',
199
+ keyType,
200
+ timestamp: new Date().toISOString()
130
201
  }),
131
202
  signal: controller.signal
132
203
  });
@@ -137,7 +208,8 @@ const validateApiKey = async apiKey => {
137
208
  const result = {
138
209
  isValid: true,
139
210
  permissions: data.permissions || [],
140
- rateLimits: data.rateLimits || null
211
+ rateLimits: data.rateLimits || null,
212
+ keyType: keyType
141
213
  };
142
214
 
143
215
  // Cache the successful result
@@ -154,7 +226,8 @@ const validateApiKey = async apiKey => {
154
226
  const errorMessage = data.error || `HTTP ${response.status}: ${response.statusText}`;
155
227
  const result = {
156
228
  isValid: false,
157
- error: errorMessage
229
+ error: errorMessage,
230
+ keyType: keyType
158
231
  };
159
232
 
160
233
  // Don't cache failed results
@@ -170,14 +243,16 @@ const validateApiKey = async apiKey => {
170
243
  console.error('โฑ๏ธ API key validation timeout');
171
244
  return {
172
245
  isValid: false,
173
- error: errorMessage
246
+ error: errorMessage,
247
+ keyType: keyType
174
248
  };
175
249
  }
176
250
  const errorMessage = `Network error during API key validation: ${fetchError.message}`;
177
251
  console.error('๐ŸŒ Network error during API key validation:', fetchError);
178
252
  return {
179
253
  isValid: false,
180
- error: errorMessage
254
+ error: errorMessage,
255
+ keyType: keyType
181
256
  };
182
257
  }
183
258
  } catch (error) {
@@ -185,7 +260,8 @@ const validateApiKey = async apiKey => {
185
260
  console.error('โŒ API key validation error:', error);
186
261
  return {
187
262
  isValid: false,
188
- error: errorMessage
263
+ error: errorMessage,
264
+ keyType: ApiKeyType.INVALID
189
265
  };
190
266
  }
191
267
  };
@@ -228,12 +304,15 @@ const getAuthHeaders = () => {
228
304
  if (!((_globalConfig7 = globalConfig) !== null && _globalConfig7 !== void 0 && _globalConfig7.apiKey)) {
229
305
  throw new Error('SDK not initialized. Call initializeApiKey() first.');
230
306
  }
307
+ const keyType = getApiKeyType(globalConfig.apiKey);
231
308
  return {
232
309
  'Content-Type': 'application/json',
233
310
  'Authorization': `Bearer ${globalConfig.apiKey}`,
234
- 'User-Agent': 'OnairosReactNative/3.0.71',
235
- 'X-SDK-Version': '3.0.71',
236
- 'X-SDK-Environment': globalConfig.environment || 'production'
311
+ 'User-Agent': 'OnairosReactNative/3.0.72',
312
+ 'X-SDK-Version': '3.0.72',
313
+ 'X-SDK-Environment': globalConfig.environment || 'production',
314
+ 'X-API-Key-Type': keyType,
315
+ 'X-Timestamp': new Date().toISOString()
237
316
  };
238
317
  };
239
318
 
@@ -1 +1 @@
1
- {"version":3,"names":["globalConfig","validationCache","Map","isInitialized","CACHE_DURATION","API_ENDPOINTS","production","staging","development","initializeApiKey","config","console","log","apiKey","Error","length","environment","enableLogging","timeout","retryAttempts","apiKeyPrefix","substring","validation","validateApiKey","isValid","error","permissions","rateLimits","exports","_globalConfig2","_globalConfig3","cached","get","Date","now","timestamp","_globalConfig","result","baseUrl","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","sdk_version","platform","signal","clearTimeout","data","json","ok","success","_globalConfig4","set","_globalConfig5","errorMessage","status","statusText","fetchError","name","message","getApiConfig","getApiKey","_globalConfig6","isApiKeyInitialized","getAuthHeaders","_globalConfig7","makeAuthenticatedRequest","endpoint","options","url","startsWith","clearValidationCache","_globalConfig8","clear","resetApiKeyService"],"sourceRoot":"..\\..\\..\\src","sources":["services/apiKeyService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ADMIN_API_KEY","exports","ApiKeyType","globalConfig","validationCache","Map","isInitialized","CACHE_DURATION","API_ENDPOINTS","production","staging","development","initializeApiKey","config","console","log","apiKey","Error","length","environment","enableLogging","timeout","retryAttempts","apiKeyPrefix","substring","validation","validateApiKey","isValid","error","permissions","rateLimits","getApiKeyType","ADMIN","startsWith","DEVELOPER","INVALID","isAdminKey","_globalConfig2","_globalConfig3","remaining","resetTime","Date","now","keyType","cached","get","timestamp","_globalConfig","result","baseUrl","controller","AbortController","timeoutId","setTimeout","abort","response","fetch","method","headers","body","JSON","stringify","sdk_version","platform","toISOString","signal","clearTimeout","data","json","ok","success","_globalConfig4","set","_globalConfig5","errorMessage","status","statusText","fetchError","name","message","getApiConfig","getApiKey","_globalConfig6","isApiKeyInitialized","getAuthHeaders","_globalConfig7","makeAuthenticatedRequest","endpoint","options","url","clearValidationCache","_globalConfig8","clear","resetApiKeyService"],"sourceRoot":"..\\..\\..\\src","sources":["services/apiKeyService.ts"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,57 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.verifyEmailCode = exports.updateGoogleClientIds = exports.testApiConnectivity = exports.requestEmailVerification = exports.refreshYouTubeTokens = exports.refreshGoogleTokens = exports.isOAuthCallback = exports.initiateOAuth = exports.initiateNativeAuth = exports.hasNativeSDK = exports.handleOAuthCallbackUrl = exports.handleOAuthCallback = exports.getPlatformColor = exports.getAuthEndpoint = exports.disconnectPlatform = exports.checkEmailVerificationStatus = void 0;
6
+ exports.verifyEmailCode = exports.updateGoogleClientIds = exports.testApiConnectivity = exports.storePinAfterBiometric = exports.requestEmailVerification = exports.refreshYouTubeTokens = exports.refreshGoogleTokens = exports.isOAuthCallback = exports.initiateOAuth = exports.initiateNativeAuth = exports.initializePlatformAuthService = exports.hasNativeSDK = exports.handleOAuthCallbackUrl = exports.handleOAuthCallback = exports.getStoredJwtToken = exports.getPlatformColor = exports.getAuthEndpoint = exports.disconnectPlatform = exports.clearStoredTokens = exports.checkEmailVerificationStatus = void 0;
7
7
  var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
8
8
  var _apiKeyService = require("./apiKeyService");
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
+ // ๐Ÿ”‘ CRITICAL: Initialize API key service for authentication
12
+ let isApiKeyInitialized = false;
13
+
14
+ /**
15
+ * Initialize the API key service with the admin key for testing
16
+ * This ensures all API requests include proper authentication headers
17
+ */
18
+ const initializePlatformAuthService = async () => {
19
+ if (isApiKeyInitialized) {
20
+ console.log('๐Ÿ”‘ API key service already initialized');
21
+ return;
22
+ }
23
+ try {
24
+ // Import the initialization function
25
+ const {
26
+ initializeApiKey,
27
+ ADMIN_API_KEY
28
+ } = await Promise.resolve().then(() => _interopRequireWildcard(require('./apiKeyService')));
29
+
30
+ // Initialize with admin key for testing/development
31
+ await initializeApiKey({
32
+ apiKey: ADMIN_API_KEY,
33
+ // 'OnairosIsAUnicorn2025'
34
+ environment: 'development',
35
+ enableLogging: true,
36
+ timeout: 30000
37
+ });
38
+ isApiKeyInitialized = true;
39
+ console.log('โœ… Platform auth service initialized with admin key');
40
+ } catch (error) {
41
+ console.error('โŒ Failed to initialize platform auth service:', error);
42
+ throw error;
43
+ }
44
+ };
45
+
46
+ /**
47
+ * Ensure API key is initialized before making authenticated requests
48
+ */
49
+ exports.initializePlatformAuthService = initializePlatformAuthService;
50
+ const ensureApiKeyInitialized = async () => {
51
+ if (!isApiKeyInitialized) {
52
+ console.log('๐Ÿ”‘ API key not initialized, initializing now...');
53
+ await initializePlatformAuthService();
54
+ }
55
+ };
56
+
10
57
  // Configuration for each platform's authentication
11
58
  let PLATFORM_AUTH_CONFIG = {
12
59
  instagram: {
@@ -779,17 +826,25 @@ const requestEmailVerification = async (email, testMode = false) => {
779
826
  };
780
827
  }
781
828
 
782
- // In test mode, always return success
829
+ // In test mode, always return success with mock request ID
783
830
  if (testMode) {
784
- console.log('๐Ÿงช Test mode: Always returning success');
831
+ console.log('๐Ÿงช Test mode: Always returning success with mock request ID');
832
+ const mockRequestId = 'test-request-' + Date.now();
833
+
834
+ // Store request info for tracking
835
+ await _asyncStorage.default.setItem('email_verification_request_id', mockRequestId);
836
+ await _asyncStorage.default.setItem('email_verification_request_email', email);
785
837
  return {
786
838
  success: true,
787
- message: 'Email verification sent successfully (test mode)'
839
+ message: 'Email verification sent successfully (test mode)',
840
+ requestId: mockRequestId
788
841
  };
789
842
  }
790
843
 
791
844
  // Production mode: Make real API call with API key authentication
792
845
  try {
846
+ // ๐Ÿ”‘ Ensure API key is initialized before making authenticated requests
847
+ await ensureApiKeyInitialized();
793
848
  const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
794
849
  method: 'POST',
795
850
  body: JSON.stringify({
@@ -801,9 +856,15 @@ const requestEmailVerification = async (email, testMode = false) => {
801
856
  console.log('๐Ÿ“ก Email verification API response:', result);
802
857
  if (response.ok && result.success) {
803
858
  console.log('โœ… Email verification request sent');
859
+
860
+ // Store request info for tracking
861
+ const requestId = result.requestId || result.id || 'req-' + Date.now();
862
+ await _asyncStorage.default.setItem('email_verification_request_id', requestId);
863
+ await _asyncStorage.default.setItem('email_verification_request_email', email);
804
864
  return {
805
865
  success: true,
806
- message: result.message || 'Email verification sent successfully'
866
+ message: result.message || 'Email verification sent successfully',
867
+ requestId: requestId
807
868
  };
808
869
  } else {
809
870
  console.error('โŒ Email verification request failed:', result.error);
@@ -846,18 +907,27 @@ const verifyEmailCode = async (email, code, testMode = false) => {
846
907
  };
847
908
  }
848
909
 
849
- // In test mode, always return success
910
+ // In test mode, always return success with mock JWT token
850
911
  if (testMode) {
851
- console.log('๐Ÿงช Test mode: Always returning success');
912
+ console.log('๐Ÿงช Test mode: Always returning success with mock JWT token');
913
+ const mockToken = 'test-jwt-token-' + Date.now();
914
+
915
+ // Store mock token for API requests
916
+ await _asyncStorage.default.setItem('email_verification_token', mockToken);
917
+ await _asyncStorage.default.setItem('onairos_jwt_token', mockToken);
918
+ await _asyncStorage.default.setItem('email_verification_email', email);
852
919
  return {
853
920
  success: true,
854
921
  message: 'Email verification successful (test mode)',
855
- existingUser: false
922
+ existingUser: false,
923
+ jwtToken: mockToken
856
924
  };
857
925
  }
858
926
 
859
927
  // Production mode: Make real API call with API key authentication
860
928
  try {
929
+ // ๐Ÿ”‘ Ensure API key is initialized before making authenticated requests
930
+ await ensureApiKeyInitialized();
861
931
  const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
862
932
  method: 'POST',
863
933
  body: JSON.stringify({
@@ -870,10 +940,25 @@ const verifyEmailCode = async (email, code, testMode = false) => {
870
940
  console.log('๐Ÿ“ก Email verification API response:', result);
871
941
  if (response.ok && result.success) {
872
942
  console.log('โœ… Email verification successful');
943
+
944
+ // ๐ŸŽซ CRITICAL: Store JWT token from email verification response
945
+ const jwtToken = result.token || result.jwtToken || result.jwt || result.authToken;
946
+ if (jwtToken) {
947
+ console.log('๐ŸŽซ Storing JWT token from email verification response');
948
+ await _asyncStorage.default.setItem('email_verification_token', jwtToken);
949
+ await _asyncStorage.default.setItem('onairos_jwt_token', jwtToken);
950
+ await _asyncStorage.default.setItem('enoch_token', jwtToken);
951
+ await _asyncStorage.default.setItem('auth_token', jwtToken);
952
+ await _asyncStorage.default.setItem('email_verification_email', email);
953
+ await _asyncStorage.default.setItem('token_timestamp', Date.now().toString());
954
+ } else {
955
+ console.warn('โš ๏ธ No JWT token received from email verification API');
956
+ }
873
957
  return {
874
958
  success: true,
875
959
  message: result.message || 'Email verification successful',
876
- existingUser: result.existingUser || false
960
+ existingUser: result.existingUser || false,
961
+ jwtToken: jwtToken
877
962
  };
878
963
  } else {
879
964
  console.error('โŒ Email verification failed:', result.error);
@@ -915,6 +1000,8 @@ const checkEmailVerificationStatus = async (email, testMode = false) => {
915
1000
 
916
1001
  // Production mode: Make real API call with API key authentication
917
1002
  try {
1003
+ // ๐Ÿ”‘ Ensure API key is initialized before making authenticated requests
1004
+ await ensureApiKeyInitialized();
918
1005
  const response = await (0, _apiKeyService.makeAuthenticatedRequest)(`/email/verify/status/${encodeURIComponent(email)}`, {
919
1006
  method: 'GET'
920
1007
  });
@@ -996,5 +1083,132 @@ const disconnectPlatform = async (platform, username) => {
996
1083
  };
997
1084
  }
998
1085
  };
1086
+
1087
+ /**
1088
+ * ๐Ÿ” STORE PIN AFTER BIOMETRIC AUTHENTICATION
1089
+ * Send PIN separately to /store-pin/web endpoint after biometric Face ID verification
1090
+ */
999
1091
  exports.disconnectPlatform = disconnectPlatform;
1092
+ const storePinAfterBiometric = async (username, pin, jwtToken) => {
1093
+ try {
1094
+ console.log('๐Ÿ” Storing PIN after biometric authentication for user:', username);
1095
+ console.log('๐Ÿ”‘ PIN length:', pin.length);
1096
+ console.log('๐ŸŽซ JWT token provided:', !!jwtToken);
1097
+ if (!username || !pin) {
1098
+ return {
1099
+ success: false,
1100
+ error: 'Username and PIN are required'
1101
+ };
1102
+ }
1103
+ if (pin.length < 4) {
1104
+ return {
1105
+ success: false,
1106
+ error: 'PIN must be at least 4 digits'
1107
+ };
1108
+ }
1109
+
1110
+ // Get JWT token from storage if not provided
1111
+ let authToken = jwtToken;
1112
+ if (!authToken) {
1113
+ authToken = (await _asyncStorage.default.getItem('onairos_jwt_token')) || (await _asyncStorage.default.getItem('enoch_token')) || (await _asyncStorage.default.getItem('auth_token')) || (await _asyncStorage.default.getItem('email_verification_token'));
1114
+ }
1115
+ if (!authToken) {
1116
+ console.warn('โš ๏ธ No JWT token available for PIN storage');
1117
+ return {
1118
+ success: false,
1119
+ error: 'No authentication token available'
1120
+ };
1121
+ }
1122
+ console.log('๐Ÿ“ค Sending PIN to /store-pin/web endpoint');
1123
+
1124
+ // Make authenticated request to store PIN
1125
+ const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/store-pin/web', {
1126
+ method: 'POST',
1127
+ headers: {
1128
+ 'Authorization': `Bearer ${authToken}`
1129
+ },
1130
+ body: JSON.stringify({
1131
+ username,
1132
+ pin
1133
+ })
1134
+ });
1135
+ console.log('๐Ÿ“ก PIN storage response status:', response.status);
1136
+ if (!response.ok) {
1137
+ const errorText = await response.text();
1138
+ console.error('โŒ PIN storage failed:', errorText);
1139
+ return {
1140
+ success: false,
1141
+ error: `PIN storage failed: ${response.status} - ${errorText}`
1142
+ };
1143
+ }
1144
+ const result = await response.json();
1145
+ console.log('๐Ÿ“ฅ PIN storage response:', result);
1146
+ if (result.success) {
1147
+ console.log('โœ… PIN stored successfully after biometric authentication');
1148
+
1149
+ // Store PIN locally for future use
1150
+ await _asyncStorage.default.setItem('user_pin_stored', 'true');
1151
+ await _asyncStorage.default.setItem('pin_storage_timestamp', Date.now().toString());
1152
+ return {
1153
+ success: true,
1154
+ message: result.message || 'PIN stored successfully'
1155
+ };
1156
+ } else {
1157
+ console.error('โŒ PIN storage API returned error:', result.error);
1158
+ return {
1159
+ success: false,
1160
+ error: result.error || 'PIN storage failed'
1161
+ };
1162
+ }
1163
+ } catch (error) {
1164
+ console.error('โŒ Error storing PIN after biometric authentication:', error);
1165
+ return {
1166
+ success: false,
1167
+ error: error instanceof Error ? error.message : 'PIN storage failed'
1168
+ };
1169
+ }
1170
+ };
1171
+
1172
+ /**
1173
+ * ๐ŸŽซ GET STORED JWT TOKEN
1174
+ * Helper function to retrieve stored JWT token from email verification or other sources
1175
+ */
1176
+ exports.storePinAfterBiometric = storePinAfterBiometric;
1177
+ const getStoredJwtToken = async () => {
1178
+ try {
1179
+ console.log('๐ŸŽซ Retrieving stored JWT token...');
1180
+
1181
+ // Try different storage keys in order of preference
1182
+ const tokenSources = ['email_verification_token', 'onairos_jwt_token', 'enoch_token', 'auth_token'];
1183
+ for (const source of tokenSources) {
1184
+ const token = await _asyncStorage.default.getItem(source);
1185
+ if (token && token.length > 20) {
1186
+ console.log(`โœ… JWT token found in ${source}:`, token.substring(0, 20) + '...');
1187
+ return token;
1188
+ }
1189
+ }
1190
+ console.warn('โš ๏ธ No JWT token found in storage');
1191
+ return null;
1192
+ } catch (error) {
1193
+ console.error('โŒ Error retrieving JWT token:', error);
1194
+ return null;
1195
+ }
1196
+ };
1197
+
1198
+ /**
1199
+ * ๐ŸŽซ CLEAR STORED TOKENS
1200
+ * Helper function to clear all stored tokens (useful for logout)
1201
+ */
1202
+ exports.getStoredJwtToken = getStoredJwtToken;
1203
+ const clearStoredTokens = async () => {
1204
+ try {
1205
+ console.log('๐Ÿงน Clearing all stored tokens...');
1206
+ const tokenKeys = ['email_verification_token', 'onairos_jwt_token', 'enoch_token', 'auth_token', 'email_verification_email', 'email_verification_request_id', 'email_verification_request_email', 'token_timestamp', 'user_pin_stored', 'pin_storage_timestamp'];
1207
+ await Promise.all(tokenKeys.map(key => _asyncStorage.default.removeItem(key)));
1208
+ console.log('โœ… All tokens cleared successfully');
1209
+ } catch (error) {
1210
+ console.error('โŒ Error clearing tokens:', error);
1211
+ }
1212
+ };
1213
+ exports.clearStoredTokens = clearStoredTokens;
1000
1214
  //# sourceMappingURL=platformAuthService.js.map