@onairos/react-native 3.0.72 โ†’ 3.0.74

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 +224 -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 +218 -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":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAIA,YAAkC,GAAG,IAAI;AAC7C,IAAIC,eAAmF,GAAG,IAAIC,GAAG,CAAC,CAAC;AACnG,IAAIC,aAAa,GAAG,KAAK;;AAEzB;AACA,MAAMC,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;;AAEpC;AACA,MAAMC,aAAa,GAAG;EACpBC,UAAU,EAAE,yBAAyB;EACrCC,OAAO,EAAE,gCAAgC;EACzCC,WAAW,EAAE;AACf,CAAC;;AAED;AACA;AACA;AACA;AACO,MAAMC,gBAAgB,GAAG,MAAOC,MAAqB,IAAoB;EAC9E,IAAI;IACFC,OAAO,CAACC,GAAG,CAAC,6CAA6C,CAAC;IAE1D,IAAI,CAACF,MAAM,CAACG,MAAM,EAAE;MAClB,MAAM,IAAIC,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IAEA,IAAIJ,MAAM,CAACG,MAAM,CAACE,MAAM,GAAG,EAAE,EAAE;MAC7B,MAAM,IAAID,KAAK,CAAC,sEAAsE,CAAC;IACzF;;IAEA;IACAd,YAAY,GAAG;MACba,MAAM,EAAEH,MAAM,CAACG,MAAM;MACrBG,WAAW,EAAEN,MAAM,CAACM,WAAW,IAAI,YAAY;MAC/CC,aAAa,EAAEP,MAAM,CAACO,aAAa,KAAK,KAAK;MAAE;MAC/CC,OAAO,EAAER,MAAM,CAACQ,OAAO,IAAI,KAAK;MAChCC,aAAa,EAAET,MAAM,CAACS,aAAa,IAAI;IACzC,CAAC;IAED,IAAInB,YAAY,CAACiB,aAAa,EAAE;MAC9BN,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAE;QACnCI,WAAW,EAAEhB,YAAY,CAACgB,WAAW;QACrCE,OAAO,EAAElB,YAAY,CAACkB,OAAO;QAC7BC,aAAa,EAAEnB,YAAY,CAACmB,aAAa;QACzCC,YAAY,EAAEV,MAAM,CAACG,MAAM,CAACQ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;QACnDJ,aAAa,EAAEjB,YAAY,CAACiB;MAC9B,CAAC,CAAC;IACJ;;IAEA;IACA,MAAMK,UAAU,GAAG,MAAMC,cAAc,CAACb,MAAM,CAACG,MAAM,CAAC;IAEtD,IAAI,CAACS,UAAU,CAACE,OAAO,EAAE;MACvB,MAAM,IAAIV,KAAK,CAAC,8BAA8BQ,UAAU,CAACG,KAAK,EAAE,CAAC;IACnE;IAEAtB,aAAa,GAAG,IAAI;IAEpB,IAAIH,YAAY,CAACiB,aAAa,EAAE;MAC9BN,OAAO,CAACC,GAAG,CAAC,wCAAwC,CAAC;MACrD,IAAIU,UAAU,CAACI,WAAW,EAAE;QAC1Bf,OAAO,CAACC,GAAG,CAAC,yBAAyB,EAAEU,UAAU,CAACI,WAAW,CAAC;MAChE;MACA,IAAIJ,UAAU,CAACK,UAAU,EAAE;QACzBhB,OAAO,CAACC,GAAG,CAAC,iBAAiB,EAAEU,UAAU,CAACK,UAAU,CAAC;MACvD;IACF;EACF,CAAC,CAAC,OAAOF,KAAK,EAAE;IACdd,OAAO,CAACc,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;IAC3DtB,aAAa,GAAG,KAAK;IACrB,MAAMsB,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAG,OAAA,CAAAnB,gBAAA,GAAAA,gBAAA;AAKO,MAAMc,cAAc,GAAG,MAAOV,MAAc,IAAsC;EACvF,IAAI;IAAA,IAAAgB,cAAA,EAAAC,cAAA;IACFnB,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;;IAEvC;IACA,MAAMmB,MAAM,GAAG9B,eAAe,CAAC+B,GAAG,CAACnB,MAAM,CAAC;IAC1C,IAAIkB,MAAM,IAAIE,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGH,MAAM,CAACI,SAAS,GAAG/B,cAAc,EAAE;MAAA,IAAAgC,aAAA;MAC5D,KAAAA,aAAA,GAAIpC,YAAY,cAAAoC,aAAA,eAAZA,aAAA,CAAcnB,aAAa,EAAE;QAC/BN,OAAO,CAACC,GAAG,CAAC,2CAA2C,CAAC;MAC1D;MACA,OAAOmB,MAAM,CAACM,MAAM;IACtB;IAEA,MAAMrB,WAAW,GAAG,EAAAa,cAAA,GAAA7B,YAAY,cAAA6B,cAAA,uBAAZA,cAAA,CAAcb,WAAW,KAAI,YAAY;IAC7D,MAAMsB,OAAO,GAAGjC,aAAa,CAACW,WAAW,CAAC;IAC1C,MAAME,OAAO,GAAG,EAAAY,cAAA,GAAA9B,YAAY,cAAA8B,cAAA,uBAAZA,cAAA,CAAcZ,OAAO,KAAI,KAAK;;IAE9C;IACA,MAAMqB,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;IACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEzB,OAAO,CAAC;IAE/D,IAAI;MACF,MAAM0B,QAAQ,GAAG,MAAMC,KAAK,CAAC,GAAGP,OAAO,oBAAoB,EAAE;QAC3DQ,MAAM,EAAE,MAAM;QACdC,OAAO,EAAE;UACP,cAAc,EAAE,kBAAkB;UAClC,eAAe,EAAE,UAAUlC,MAAM,EAAE;UACnC,YAAY,EAAE;QAChB,CAAC;QACDmC,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnBlC,WAAW;UACXmC,WAAW,EAAE,QAAQ;UACrBC,QAAQ,EAAE;QACZ,CAAC,CAAC;QACFC,MAAM,EAAEd,UAAU,CAACc;MACrB,CAAC,CAAC;MAEFC,YAAY,CAACb,SAAS,CAAC;MAEvB,MAAMc,IAAI,GAAG,MAAMX,QAAQ,CAACY,IAAI,CAAC,CAAC;MAElC,IAAIZ,QAAQ,CAACa,EAAE,IAAIF,IAAI,CAACG,OAAO,EAAE;QAAA,IAAAC,cAAA;QAC/B,MAAMtB,MAA8B,GAAG;UACrCb,OAAO,EAAE,IAAI;UACbE,WAAW,EAAE6B,IAAI,CAAC7B,WAAW,IAAI,EAAE;UACnCC,UAAU,EAAE4B,IAAI,CAAC5B,UAAU,IAAI;QACjC,CAAC;;QAED;QACA1B,eAAe,CAAC2D,GAAG,CAAC/C,MAAM,EAAE;UAC1BwB,MAAM;UACNF,SAAS,EAAEF,IAAI,CAACC,GAAG,CAAC;QACtB,CAAC,CAAC;QAEF,KAAAyB,cAAA,GAAI3D,YAAY,cAAA2D,cAAA,eAAZA,cAAA,CAAc1C,aAAa,EAAE;UAC/BN,OAAO,CAACC,GAAG,CAAC,iCAAiC,CAAC;QAChD;QAEA,OAAOyB,MAAM;MACf,CAAC,MAAM;QAAA,IAAAwB,cAAA;QACL,MAAMC,YAAY,GAAGP,IAAI,CAAC9B,KAAK,IAAI,QAAQmB,QAAQ,CAACmB,MAAM,KAAKnB,QAAQ,CAACoB,UAAU,EAAE;QAEpF,MAAM3B,MAA8B,GAAG;UACrCb,OAAO,EAAE,KAAK;UACdC,KAAK,EAAEqC;QACT,CAAC;;QAED;QACA,KAAAD,cAAA,GAAI7D,YAAY,cAAA6D,cAAA,eAAZA,cAAA,CAAc5C,aAAa,EAAE;UAC/BN,OAAO,CAACc,KAAK,CAAC,8BAA8B,EAAEqC,YAAY,CAAC;QAC7D;QAEA,OAAOzB,MAAM;MACf;IACF,CAAC,CAAC,OAAO4B,UAAU,EAAE;MACnBX,YAAY,CAACb,SAAS,CAAC;MAEvB,IAAIwB,UAAU,CAACC,IAAI,KAAK,YAAY,EAAE;QACpC,MAAMJ,YAAY,GAAG,4BAA4B;QACjDnD,OAAO,CAACc,KAAK,CAAC,+BAA+B,CAAC;QAC9C,OAAO;UAAED,OAAO,EAAE,KAAK;UAAEC,KAAK,EAAEqC;QAAa,CAAC;MAChD;MAEA,MAAMA,YAAY,GAAG,4CAA4CG,UAAU,CAACE,OAAO,EAAE;MACrFxD,OAAO,CAACc,KAAK,CAAC,6CAA6C,EAAEwC,UAAU,CAAC;MACxE,OAAO;QAAEzC,OAAO,EAAE,KAAK;QAAEC,KAAK,EAAEqC;MAAa,CAAC;IAChD;EACF,CAAC,CAAC,OAAOrC,KAAK,EAAE;IACd,MAAMqC,YAAY,GAAG,6BAA6BrC,KAAK,CAAC0C,OAAO,EAAE;IACjExD,OAAO,CAACc,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,OAAO;MAAED,OAAO,EAAE,KAAK;MAAEC,KAAK,EAAEqC;IAAa,CAAC;EAChD;AACF,CAAC;;AAED;AACA;AACA;AACA;AAHAlC,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAIO,MAAM6C,YAAY,GAAGA,CAAA,KAA4B;EACtD,OAAOpE,YAAY;AACrB,CAAC;;AAED;AACA;AACA;AACA;AAHA4B,OAAA,CAAAwC,YAAA,GAAAA,YAAA;AAIO,MAAMC,SAAS,GAAGA,CAAA,KAAqB;EAAA,IAAAC,cAAA;EAC5C,OAAO,EAAAA,cAAA,GAAAtE,YAAY,cAAAsE,cAAA,uBAAZA,cAAA,CAAczD,MAAM,KAAI,IAAI;AACrC,CAAC;;AAED;AACA;AACA;AACA;AAHAe,OAAA,CAAAyC,SAAA,GAAAA,SAAA;AAIO,MAAME,mBAAmB,GAAGA,CAAA,KAAe;EAChD,OAAOpE,aAAa,IAAIH,YAAY,KAAK,IAAI;AAC/C,CAAC;;AAED;AACA;AACA;AACA;AAHA4B,OAAA,CAAA2C,mBAAA,GAAAA,mBAAA;AAIO,MAAMC,cAAc,GAAGA,CAAA,KAA8B;EAAA,IAAAC,cAAA;EAC1D,IAAI,GAAAA,cAAA,GAACzE,YAAY,cAAAyE,cAAA,eAAZA,cAAA,CAAc5D,MAAM,GAAE;IACzB,MAAM,IAAIC,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAEA,OAAO;IACL,cAAc,EAAE,kBAAkB;IAClC,eAAe,EAAE,UAAUd,YAAY,CAACa,MAAM,EAAE;IAChD,YAAY,EAAE,2BAA2B;IACzC,eAAe,EAAE,QAAQ;IACzB,mBAAmB,EAAEb,YAAY,CAACgB,WAAW,IAAI;EACnD,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAY,OAAA,CAAA4C,cAAA,GAAAA,cAAA;AAMO,MAAME,wBAAwB,GAAG,MAAAA,CACtCC,QAAgB,EAChBC,OAAoB,GAAG,CAAC,CAAC,KACH;EACtB,IAAI,CAACL,mBAAmB,CAAC,CAAC,EAAE;IAC1B,MAAM,IAAIzD,KAAK,CAAC,qDAAqD,CAAC;EACxE;EAEA,MAAMJ,MAAM,GAAG0D,YAAY,CAAC,CAAE;EAC9B,MAAM9B,OAAO,GAAGjC,aAAa,CAACK,MAAM,CAACM,WAAW,IAAI,YAAY,CAAC;EACjE,MAAM6D,GAAG,GAAG,GAAGvC,OAAO,GAAGqC,QAAQ,CAACG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAGH,QAAQ,EAAE;;EAEzE;EACA,MAAM5B,OAAO,GAAG;IACd,GAAGyB,cAAc,CAAC,CAAC;IACnB,IAAII,OAAO,CAAC7B,OAAO,IAAI,CAAC,CAAC;EAC3B,CAAC;;EAED;EACA,MAAMR,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;EACxC,MAAMC,SAAS,GAAGC,UAAU,CAAC,MAAMH,UAAU,CAACI,KAAK,CAAC,CAAC,EAAEjC,MAAM,CAACQ,OAAO,IAAI,KAAK,CAAC;EAE/E,IAAI;IACF,IAAIR,MAAM,CAACO,aAAa,EAAE;MACxBN,OAAO,CAACC,GAAG,CAAC,uCAAuC+D,QAAQ,EAAE,CAAC;IAChE;IAEA,MAAM/B,QAAQ,GAAG,MAAMC,KAAK,CAACgC,GAAG,EAAE;MAChC,GAAGD,OAAO;MACV7B,OAAO;MACPM,MAAM,EAAEd,UAAU,CAACc;IACrB,CAAC,CAAC;IAEFC,YAAY,CAACb,SAAS,CAAC;IAEvB,IAAI/B,MAAM,CAACO,aAAa,EAAE;MACxBN,OAAO,CAACC,GAAG,CAAC,uBAAuBgC,QAAQ,CAACmB,MAAM,QAAQY,QAAQ,EAAE,CAAC;IACvE;;IAEA;IACA,IAAI/B,QAAQ,CAACmB,MAAM,KAAK,GAAG,EAAE;MAC3BpD,OAAO,CAACc,KAAK,CAAC,6DAA6D,CAAC;MAC5E,MAAM,IAAIX,KAAK,CAAC,4BAA4B,CAAC;IAC/C;IAEA,IAAI8B,QAAQ,CAACmB,MAAM,KAAK,GAAG,EAAE;MAC3BpD,OAAO,CAACc,KAAK,CAAC,wDAAwD,CAAC;MACvE,MAAM,IAAIX,KAAK,CAAC,kCAAkC,CAAC;IACrD;IAEA,IAAI8B,QAAQ,CAACmB,MAAM,KAAK,GAAG,EAAE;MAC3BpD,OAAO,CAACc,KAAK,CAAC,oDAAoD,CAAC;MACnE,MAAM,IAAIX,KAAK,CAAC,qBAAqB,CAAC;IACxC;IAEA,OAAO8B,QAAQ;EACjB,CAAC,CAAC,OAAOnB,KAAK,EAAE;IACd6B,YAAY,CAACb,SAAS,CAAC;IAEvB,IAAIhB,KAAK,CAACyC,IAAI,KAAK,YAAY,EAAE;MAC/BvD,OAAO,CAACc,KAAK,CAAC,yBAAyB,EAAEkD,QAAQ,CAAC;MAClD,MAAM,IAAI7D,KAAK,CAAC,iBAAiB,CAAC;IACpC;IAEA,MAAMW,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AAFAG,OAAA,CAAA8C,wBAAA,GAAAA,wBAAA;AAGO,MAAMK,oBAAoB,GAAGA,CAAA,KAAY;EAAA,IAAAC,cAAA;EAC9C/E,eAAe,CAACgF,KAAK,CAAC,CAAC;EACvB,KAAAD,cAAA,GAAIhF,YAAY,cAAAgF,cAAA,eAAZA,cAAA,CAAc/D,aAAa,EAAE;IAC/BN,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;EACrD;AACF,CAAC;;AAED;AACA;AACA;AAFAgB,OAAA,CAAAmD,oBAAA,GAAAA,oBAAA;AAGO,MAAMG,kBAAkB,GAAGA,CAAA,KAAY;EAC5ClF,YAAY,GAAG,IAAI;EACnBG,aAAa,GAAG,KAAK;EACrB4E,oBAAoB,CAAC,CAAC;EACtBpE,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;AACzC,CAAC;AAACgB,OAAA,CAAAsD,kBAAA,GAAAA,kBAAA","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,58 @@
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 production email service
31
+ await initializeApiKey({
32
+ apiKey: ADMIN_API_KEY,
33
+ // 'OnairosIsAUnicorn2025'
34
+ environment: 'production',
35
+ // Use production for email verification
36
+ enableLogging: true,
37
+ timeout: 30000
38
+ });
39
+ isApiKeyInitialized = true;
40
+ console.log('โœ… Platform auth service initialized with admin key (production)');
41
+ } catch (error) {
42
+ console.error('โŒ Failed to initialize platform auth service:', error);
43
+ throw error;
44
+ }
45
+ };
46
+
47
+ /**
48
+ * Ensure API key is initialized before making authenticated requests
49
+ */
50
+ exports.initializePlatformAuthService = initializePlatformAuthService;
51
+ const ensureApiKeyInitialized = async () => {
52
+ if (!isApiKeyInitialized) {
53
+ console.log('๐Ÿ”‘ API key not initialized, initializing now...');
54
+ await initializePlatformAuthService();
55
+ }
56
+ };
57
+
10
58
  // Configuration for each platform's authentication
11
59
  let PLATFORM_AUTH_CONFIG = {
12
60
  instagram: {
@@ -779,17 +827,25 @@ const requestEmailVerification = async (email, testMode = false) => {
779
827
  };
780
828
  }
781
829
 
782
- // In test mode, always return success
830
+ // In test mode, always return success with mock request ID
783
831
  if (testMode) {
784
- console.log('๐Ÿงช Test mode: Always returning success');
832
+ console.log('๐Ÿงช Test mode: Always returning success with mock request ID');
833
+ const mockRequestId = 'test-request-' + Date.now();
834
+
835
+ // Store request info for tracking
836
+ await _asyncStorage.default.setItem('email_verification_request_id', mockRequestId);
837
+ await _asyncStorage.default.setItem('email_verification_request_email', email);
785
838
  return {
786
839
  success: true,
787
- message: 'Email verification sent successfully (test mode)'
840
+ message: 'Email verification sent successfully (test mode)',
841
+ requestId: mockRequestId
788
842
  };
789
843
  }
790
844
 
791
845
  // Production mode: Make real API call with API key authentication
792
846
  try {
847
+ // ๐Ÿ”‘ Ensure API key is initialized before making authenticated requests
848
+ await ensureApiKeyInitialized();
793
849
  const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
794
850
  method: 'POST',
795
851
  body: JSON.stringify({
@@ -801,9 +857,15 @@ const requestEmailVerification = async (email, testMode = false) => {
801
857
  console.log('๐Ÿ“ก Email verification API response:', result);
802
858
  if (response.ok && result.success) {
803
859
  console.log('โœ… Email verification request sent');
860
+
861
+ // Store request info for tracking
862
+ const requestId = result.requestId || result.id || 'req-' + Date.now();
863
+ await _asyncStorage.default.setItem('email_verification_request_id', requestId);
864
+ await _asyncStorage.default.setItem('email_verification_request_email', email);
804
865
  return {
805
866
  success: true,
806
- message: result.message || 'Email verification sent successfully'
867
+ message: result.message || 'Email verification sent successfully',
868
+ requestId: requestId
807
869
  };
808
870
  } else {
809
871
  console.error('โŒ Email verification request failed:', result.error);
@@ -846,18 +908,27 @@ const verifyEmailCode = async (email, code, testMode = false) => {
846
908
  };
847
909
  }
848
910
 
849
- // In test mode, always return success
911
+ // In test mode, always return success with mock JWT token
850
912
  if (testMode) {
851
- console.log('๐Ÿงช Test mode: Always returning success');
913
+ console.log('๐Ÿงช Test mode: Always returning success with mock JWT token');
914
+ const mockToken = 'test-jwt-token-' + Date.now();
915
+
916
+ // Store mock token for API requests
917
+ await _asyncStorage.default.setItem('email_verification_token', mockToken);
918
+ await _asyncStorage.default.setItem('onairos_jwt_token', mockToken);
919
+ await _asyncStorage.default.setItem('email_verification_email', email);
852
920
  return {
853
921
  success: true,
854
922
  message: 'Email verification successful (test mode)',
855
- existingUser: false
923
+ existingUser: false,
924
+ jwtToken: mockToken
856
925
  };
857
926
  }
858
927
 
859
928
  // Production mode: Make real API call with API key authentication
860
929
  try {
930
+ // ๐Ÿ”‘ Ensure API key is initialized before making authenticated requests
931
+ await ensureApiKeyInitialized();
861
932
  const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/email/verification', {
862
933
  method: 'POST',
863
934
  body: JSON.stringify({
@@ -870,10 +941,25 @@ const verifyEmailCode = async (email, code, testMode = false) => {
870
941
  console.log('๐Ÿ“ก Email verification API response:', result);
871
942
  if (response.ok && result.success) {
872
943
  console.log('โœ… Email verification successful');
944
+
945
+ // ๐ŸŽซ CRITICAL: Store JWT token from email verification response
946
+ const jwtToken = result.token || result.jwtToken || result.jwt || result.authToken;
947
+ if (jwtToken) {
948
+ console.log('๐ŸŽซ Storing JWT token from email verification response');
949
+ await _asyncStorage.default.setItem('email_verification_token', jwtToken);
950
+ await _asyncStorage.default.setItem('onairos_jwt_token', jwtToken);
951
+ await _asyncStorage.default.setItem('enoch_token', jwtToken);
952
+ await _asyncStorage.default.setItem('auth_token', jwtToken);
953
+ await _asyncStorage.default.setItem('email_verification_email', email);
954
+ await _asyncStorage.default.setItem('token_timestamp', Date.now().toString());
955
+ } else {
956
+ console.warn('โš ๏ธ No JWT token received from email verification API');
957
+ }
873
958
  return {
874
959
  success: true,
875
960
  message: result.message || 'Email verification successful',
876
- existingUser: result.existingUser || false
961
+ existingUser: result.existingUser || false,
962
+ jwtToken: jwtToken
877
963
  };
878
964
  } else {
879
965
  console.error('โŒ Email verification failed:', result.error);
@@ -915,6 +1001,8 @@ const checkEmailVerificationStatus = async (email, testMode = false) => {
915
1001
 
916
1002
  // Production mode: Make real API call with API key authentication
917
1003
  try {
1004
+ // ๐Ÿ”‘ Ensure API key is initialized before making authenticated requests
1005
+ await ensureApiKeyInitialized();
918
1006
  const response = await (0, _apiKeyService.makeAuthenticatedRequest)(`/email/verify/status/${encodeURIComponent(email)}`, {
919
1007
  method: 'GET'
920
1008
  });
@@ -996,5 +1084,132 @@ const disconnectPlatform = async (platform, username) => {
996
1084
  };
997
1085
  }
998
1086
  };
1087
+
1088
+ /**
1089
+ * ๐Ÿ” STORE PIN AFTER BIOMETRIC AUTHENTICATION
1090
+ * Send PIN separately to /store-pin/web endpoint after biometric Face ID verification
1091
+ */
999
1092
  exports.disconnectPlatform = disconnectPlatform;
1093
+ const storePinAfterBiometric = async (username, pin, jwtToken) => {
1094
+ try {
1095
+ console.log('๐Ÿ” Storing PIN after biometric authentication for user:', username);
1096
+ console.log('๐Ÿ”‘ PIN length:', pin.length);
1097
+ console.log('๐ŸŽซ JWT token provided:', !!jwtToken);
1098
+ if (!username || !pin) {
1099
+ return {
1100
+ success: false,
1101
+ error: 'Username and PIN are required'
1102
+ };
1103
+ }
1104
+ if (pin.length < 4) {
1105
+ return {
1106
+ success: false,
1107
+ error: 'PIN must be at least 4 digits'
1108
+ };
1109
+ }
1110
+
1111
+ // Get JWT token from storage if not provided
1112
+ let authToken = jwtToken;
1113
+ if (!authToken) {
1114
+ 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'));
1115
+ }
1116
+ if (!authToken) {
1117
+ console.warn('โš ๏ธ No JWT token available for PIN storage');
1118
+ return {
1119
+ success: false,
1120
+ error: 'No authentication token available'
1121
+ };
1122
+ }
1123
+ console.log('๐Ÿ“ค Sending PIN to /store-pin/web endpoint');
1124
+
1125
+ // Make authenticated request to store PIN
1126
+ const response = await (0, _apiKeyService.makeAuthenticatedRequest)('/store-pin/web', {
1127
+ method: 'POST',
1128
+ headers: {
1129
+ 'Authorization': `Bearer ${authToken}`
1130
+ },
1131
+ body: JSON.stringify({
1132
+ username,
1133
+ pin
1134
+ })
1135
+ });
1136
+ console.log('๐Ÿ“ก PIN storage response status:', response.status);
1137
+ if (!response.ok) {
1138
+ const errorText = await response.text();
1139
+ console.error('โŒ PIN storage failed:', errorText);
1140
+ return {
1141
+ success: false,
1142
+ error: `PIN storage failed: ${response.status} - ${errorText}`
1143
+ };
1144
+ }
1145
+ const result = await response.json();
1146
+ console.log('๐Ÿ“ฅ PIN storage response:', result);
1147
+ if (result.success) {
1148
+ console.log('โœ… PIN stored successfully after biometric authentication');
1149
+
1150
+ // Store PIN locally for future use
1151
+ await _asyncStorage.default.setItem('user_pin_stored', 'true');
1152
+ await _asyncStorage.default.setItem('pin_storage_timestamp', Date.now().toString());
1153
+ return {
1154
+ success: true,
1155
+ message: result.message || 'PIN stored successfully'
1156
+ };
1157
+ } else {
1158
+ console.error('โŒ PIN storage API returned error:', result.error);
1159
+ return {
1160
+ success: false,
1161
+ error: result.error || 'PIN storage failed'
1162
+ };
1163
+ }
1164
+ } catch (error) {
1165
+ console.error('โŒ Error storing PIN after biometric authentication:', error);
1166
+ return {
1167
+ success: false,
1168
+ error: error instanceof Error ? error.message : 'PIN storage failed'
1169
+ };
1170
+ }
1171
+ };
1172
+
1173
+ /**
1174
+ * ๐ŸŽซ GET STORED JWT TOKEN
1175
+ * Helper function to retrieve stored JWT token from email verification or other sources
1176
+ */
1177
+ exports.storePinAfterBiometric = storePinAfterBiometric;
1178
+ const getStoredJwtToken = async () => {
1179
+ try {
1180
+ console.log('๐ŸŽซ Retrieving stored JWT token...');
1181
+
1182
+ // Try different storage keys in order of preference
1183
+ const tokenSources = ['email_verification_token', 'onairos_jwt_token', 'enoch_token', 'auth_token'];
1184
+ for (const source of tokenSources) {
1185
+ const token = await _asyncStorage.default.getItem(source);
1186
+ if (token && token.length > 20) {
1187
+ console.log(`โœ… JWT token found in ${source}:`, token.substring(0, 20) + '...');
1188
+ return token;
1189
+ }
1190
+ }
1191
+ console.warn('โš ๏ธ No JWT token found in storage');
1192
+ return null;
1193
+ } catch (error) {
1194
+ console.error('โŒ Error retrieving JWT token:', error);
1195
+ return null;
1196
+ }
1197
+ };
1198
+
1199
+ /**
1200
+ * ๐ŸŽซ CLEAR STORED TOKENS
1201
+ * Helper function to clear all stored tokens (useful for logout)
1202
+ */
1203
+ exports.getStoredJwtToken = getStoredJwtToken;
1204
+ const clearStoredTokens = async () => {
1205
+ try {
1206
+ console.log('๐Ÿงน Clearing all stored tokens...');
1207
+ 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'];
1208
+ await Promise.all(tokenKeys.map(key => _asyncStorage.default.removeItem(key)));
1209
+ console.log('โœ… All tokens cleared successfully');
1210
+ } catch (error) {
1211
+ console.error('โŒ Error clearing tokens:', error);
1212
+ }
1213
+ };
1214
+ exports.clearStoredTokens = clearStoredTokens;
1000
1215
  //# sourceMappingURL=platformAuthService.js.map