@onairos/react-native 2.1.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/api/index.js +102 -14
- package/lib/commonjs/api/index.js.map +1 -1
- package/lib/commonjs/components/Onairos.js +89 -0
- package/lib/commonjs/components/Onairos.js.map +1 -0
- package/lib/commonjs/components/OnairosButton.js +76 -29
- package/lib/commonjs/components/OnairosButton.js.map +1 -1
- package/lib/commonjs/index.js +97 -6
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/services/oauthService.js +107 -54
- package/lib/commonjs/services/oauthService.js.map +1 -1
- package/lib/commonjs/utils/encryption.js +45 -7
- package/lib/commonjs/utils/encryption.js.map +1 -1
- package/lib/module/api/index.js +103 -14
- package/lib/module/api/index.js.map +1 -1
- package/lib/module/components/Onairos.js +81 -0
- package/lib/module/components/Onairos.js.map +1 -0
- package/lib/module/components/OnairosButton.js +80 -32
- package/lib/module/components/OnairosButton.js.map +1 -1
- package/lib/module/index.js +36 -0
- package/lib/module/services/oauthService.js +89 -54
- package/lib/module/services/oauthService.js.map +1 -1
- package/lib/module/utils/encryption.js +43 -6
- package/lib/module/utils/encryption.js.map +1 -1
- package/package.json +1 -1
- package/src/api/index.ts +113 -20
- package/src/components/Onairos.tsx +117 -0
- package/src/components/OnairosButton.tsx +100 -32
- package/src/index.ts +19 -6
- package/src/services/oauthService.ts +419 -360
- package/src/types/index.ts +43 -7
- package/src/utils/encryption.ts +45 -6
|
@@ -3,10 +3,31 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
initializeOAuthService: true,
|
|
8
|
+
cleanupOAuthService: true,
|
|
9
|
+
connectPlatform: true,
|
|
10
|
+
disconnectPlatform: true,
|
|
11
|
+
storePlatformConnection: true,
|
|
12
|
+
OAuthService: true
|
|
13
|
+
};
|
|
14
|
+
exports.storePlatformConnection = exports.initializeOAuthService = exports.disconnectPlatform = exports.connectPlatform = exports.cleanupOAuthService = exports.OAuthService = void 0;
|
|
7
15
|
var _reactNative = require("react-native");
|
|
8
16
|
var _secureStorage = require("../utils/secureStorage");
|
|
9
17
|
var _crypto = require("../utils/crypto");
|
|
18
|
+
var _api = require("../api");
|
|
19
|
+
var _oauthService = require("./oauthService");
|
|
20
|
+
Object.keys(_oauthService).forEach(function (key) {
|
|
21
|
+
if (key === "default" || key === "__esModule") return;
|
|
22
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
23
|
+
if (key in exports && exports[key] === _oauthService[key]) return;
|
|
24
|
+
Object.defineProperty(exports, key, {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _oauthService[key];
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
10
31
|
// Define OAuth configuration types
|
|
11
32
|
|
|
12
33
|
// Platform-specific OAuth configurations
|
|
@@ -49,30 +70,30 @@ const OAUTH_CONFIGS = {
|
|
|
49
70
|
}
|
|
50
71
|
};
|
|
51
72
|
|
|
52
|
-
/**
|
|
53
|
-
* Generate a state value for OAuth to prevent CSRF attacks
|
|
73
|
+
/**
|
|
74
|
+
* Generate a state value for OAuth to prevent CSRF attacks
|
|
54
75
|
*/
|
|
55
76
|
const generateState = () => {
|
|
56
77
|
const randomValue = Math.random().toString(36).substring(2, 15);
|
|
57
78
|
return (0, _crypto.sha256)(randomValue).substring(0, 10);
|
|
58
79
|
};
|
|
59
80
|
|
|
60
|
-
/**
|
|
61
|
-
* Initialize OAuth service handlers and listeners
|
|
81
|
+
/**
|
|
82
|
+
* Initialize OAuth service handlers and listeners
|
|
62
83
|
*/
|
|
63
84
|
const initializeOAuthService = () => {
|
|
64
85
|
// Set up deep linking handlers for OAuth redirects
|
|
65
86
|
_reactNative.Linking.addEventListener('url', handleDeepLink);
|
|
66
87
|
};
|
|
67
88
|
|
|
68
|
-
/**
|
|
69
|
-
* Clean up OAuth service handlers and listeners
|
|
89
|
+
/**
|
|
90
|
+
* Clean up OAuth service handlers and listeners
|
|
70
91
|
*/
|
|
71
92
|
exports.initializeOAuthService = initializeOAuthService;
|
|
72
93
|
const cleanupOAuthService = () => {
|
|
73
|
-
//
|
|
74
|
-
if (_reactNative.
|
|
75
|
-
_reactNative.Linking.
|
|
94
|
+
// Use the modern React Native Linking API
|
|
95
|
+
if (typeof _reactNative.Linking.removeAllListeners === 'function') {
|
|
96
|
+
_reactNative.Linking.removeAllListeners('url');
|
|
76
97
|
}
|
|
77
98
|
};
|
|
78
99
|
|
|
@@ -83,8 +104,8 @@ let currentOAuthPlatform = null;
|
|
|
83
104
|
let currentOAuthResolve = null;
|
|
84
105
|
let currentOAuthReject = null;
|
|
85
106
|
|
|
86
|
-
/**
|
|
87
|
-
* Handle deep link callbacks from OAuth providers
|
|
107
|
+
/**
|
|
108
|
+
* Handle deep link callbacks from OAuth providers
|
|
88
109
|
*/
|
|
89
110
|
const handleDeepLink = async event => {
|
|
90
111
|
try {
|
|
@@ -152,8 +173,8 @@ const handleDeepLink = async event => {
|
|
|
152
173
|
}
|
|
153
174
|
};
|
|
154
175
|
|
|
155
|
-
/**
|
|
156
|
-
* Exchange OAuth authorization code for access token
|
|
176
|
+
/**
|
|
177
|
+
* Exchange OAuth authorization code for access token
|
|
157
178
|
*/
|
|
158
179
|
const exchangeCodeForToken = async (platform, code) => {
|
|
159
180
|
try {
|
|
@@ -198,8 +219,8 @@ const exchangeCodeForToken = async (platform, code) => {
|
|
|
198
219
|
}
|
|
199
220
|
};
|
|
200
221
|
|
|
201
|
-
/**
|
|
202
|
-
* Fetch user information from the connected platform
|
|
222
|
+
/**
|
|
223
|
+
* Fetch user information from the connected platform
|
|
203
224
|
*/
|
|
204
225
|
const fetchUserInfo = async (platform, accessToken) => {
|
|
205
226
|
try {
|
|
@@ -264,26 +285,21 @@ const fetchUserInfo = async (platform, accessToken) => {
|
|
|
264
285
|
}
|
|
265
286
|
};
|
|
266
287
|
|
|
267
|
-
/**
|
|
268
|
-
*
|
|
288
|
+
/**
|
|
289
|
+
* Connect to a platform using OAuth
|
|
269
290
|
*/
|
|
270
291
|
const connectPlatform = platform => {
|
|
271
292
|
return new Promise((resolve, reject) => {
|
|
272
293
|
try {
|
|
273
294
|
const config = OAUTH_CONFIGS[platform];
|
|
274
295
|
if (!config) {
|
|
275
|
-
|
|
276
|
-
return;
|
|
296
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
277
297
|
}
|
|
278
298
|
|
|
279
|
-
// Generate
|
|
299
|
+
// Generate state for CSRF protection
|
|
280
300
|
const state = generateState();
|
|
281
|
-
currentOAuthState = state;
|
|
282
|
-
currentOAuthPlatform = platform;
|
|
283
|
-
currentOAuthResolve = resolve;
|
|
284
|
-
currentOAuthReject = reject;
|
|
285
301
|
|
|
286
|
-
// Build
|
|
302
|
+
// Build authorization URL
|
|
287
303
|
const authUrl = new URL(config.authorizationEndpoint);
|
|
288
304
|
authUrl.searchParams.append('client_id', config.clientId);
|
|
289
305
|
authUrl.searchParams.append('redirect_uri', config.redirectUri);
|
|
@@ -291,72 +307,109 @@ const connectPlatform = platform => {
|
|
|
291
307
|
authUrl.searchParams.append('scope', config.scope);
|
|
292
308
|
authUrl.searchParams.append('state', state);
|
|
293
309
|
|
|
294
|
-
//
|
|
310
|
+
// Set up current OAuth state for callback handling
|
|
311
|
+
currentOAuthState = state;
|
|
312
|
+
currentOAuthPlatform = platform;
|
|
313
|
+
currentOAuthResolve = resolve;
|
|
314
|
+
currentOAuthReject = reject;
|
|
315
|
+
|
|
316
|
+
// Open browser or WebView to the authorization URL
|
|
295
317
|
_reactNative.Linking.openURL(authUrl.toString());
|
|
296
318
|
} catch (error) {
|
|
297
319
|
reject(error);
|
|
298
|
-
|
|
299
|
-
// Reset state on error
|
|
300
|
-
currentOAuthState = null;
|
|
301
|
-
currentOAuthPlatform = null;
|
|
302
|
-
currentOAuthResolve = null;
|
|
303
|
-
currentOAuthReject = null;
|
|
304
320
|
}
|
|
305
321
|
});
|
|
306
322
|
};
|
|
307
323
|
|
|
308
|
-
/**
|
|
309
|
-
* Disconnect a platform
|
|
324
|
+
/**
|
|
325
|
+
* Disconnect from a platform
|
|
310
326
|
*/
|
|
311
327
|
exports.connectPlatform = connectPlatform;
|
|
312
328
|
const disconnectPlatform = async (platform, credentials) => {
|
|
313
329
|
try {
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
330
|
+
// Call Onairos API to disconnect platform
|
|
331
|
+
await _api.onairosApi.post('/users/disconnect-platform', {
|
|
332
|
+
platform,
|
|
333
|
+
username: credentials.username
|
|
334
|
+
});
|
|
317
335
|
|
|
318
|
-
//
|
|
336
|
+
// Update local credentials to remove platform
|
|
319
337
|
const updatedPlatforms = {
|
|
320
338
|
...credentials.platforms
|
|
321
339
|
};
|
|
322
|
-
delete updatedPlatforms[platform];
|
|
323
340
|
|
|
324
|
-
//
|
|
325
|
-
|
|
341
|
+
// Type-safe platform removal using keyof operator
|
|
342
|
+
if (updatedPlatforms && platform in updatedPlatforms) {
|
|
343
|
+
delete updatedPlatforms[platform];
|
|
344
|
+
}
|
|
345
|
+
await (0, _secureStorage.updateCredentials)({
|
|
346
|
+
...credentials,
|
|
326
347
|
platforms: updatedPlatforms
|
|
327
348
|
});
|
|
328
|
-
return
|
|
349
|
+
return true;
|
|
329
350
|
} catch (error) {
|
|
330
351
|
console.error(`Error disconnecting platform (${platform}):`, error);
|
|
331
352
|
return false;
|
|
332
353
|
}
|
|
333
354
|
};
|
|
334
355
|
|
|
335
|
-
/**
|
|
336
|
-
* Store platform connection in credentials
|
|
356
|
+
/**
|
|
357
|
+
* Store platform connection data in user credentials
|
|
337
358
|
*/
|
|
338
359
|
exports.disconnectPlatform = disconnectPlatform;
|
|
339
360
|
const storePlatformConnection = async (platform, connectionData, credentials) => {
|
|
340
361
|
try {
|
|
341
|
-
//
|
|
362
|
+
// Only accept valid platform types
|
|
363
|
+
const validPlatform = platform === 'instagram' || platform === 'youtube' || platform === 'pinterest' || platform === 'reddit';
|
|
364
|
+
if (!validPlatform) {
|
|
365
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// Update platforms in credentials with type safety
|
|
342
369
|
const updatedPlatforms = {
|
|
343
|
-
...credentials.platforms
|
|
344
|
-
[platform]: {
|
|
345
|
-
token: connectionData.token,
|
|
346
|
-
username: connectionData.username,
|
|
347
|
-
userId: connectionData.userId
|
|
348
|
-
}
|
|
370
|
+
...credentials.platforms
|
|
349
371
|
};
|
|
350
372
|
|
|
373
|
+
// Type-safe assignment
|
|
374
|
+
const platformData = {
|
|
375
|
+
username: connectionData.username,
|
|
376
|
+
userId: connectionData.userId,
|
|
377
|
+
token: connectionData.token,
|
|
378
|
+
refreshToken: connectionData.refreshToken,
|
|
379
|
+
expiresAt: connectionData.expiresIn ? Date.now() + connectionData.expiresIn * 1000 : null,
|
|
380
|
+
connectedAt: Date.now()
|
|
381
|
+
};
|
|
382
|
+
|
|
383
|
+
// Assign platform data based on platform type
|
|
384
|
+
if (platform === 'instagram') updatedPlatforms.instagram = platformData;else if (platform === 'youtube') updatedPlatforms.youtube = platformData;else if (platform === 'pinterest') updatedPlatforms.pinterest = platformData;else if (platform === 'reddit') updatedPlatforms.reddit = platformData;
|
|
385
|
+
|
|
351
386
|
// Update stored credentials
|
|
352
|
-
|
|
387
|
+
await (0, _secureStorage.updateCredentials)({
|
|
388
|
+
...credentials,
|
|
353
389
|
platforms: updatedPlatforms
|
|
354
390
|
});
|
|
355
|
-
return
|
|
391
|
+
return true;
|
|
356
392
|
} catch (error) {
|
|
357
393
|
console.error(`Error storing platform connection (${platform}):`, error);
|
|
358
394
|
return false;
|
|
359
395
|
}
|
|
360
396
|
};
|
|
361
397
|
exports.storePlatformConnection = storePlatformConnection;
|
|
398
|
+
/**
|
|
399
|
+
* Service for handling OAuth connections to various platforms
|
|
400
|
+
*/
|
|
401
|
+
const OAuthService = exports.OAuthService = {
|
|
402
|
+
initializeOAuthService,
|
|
403
|
+
cleanupOAuthService,
|
|
404
|
+
connectPlatform,
|
|
405
|
+
disconnectPlatform,
|
|
406
|
+
storePlatformConnection,
|
|
407
|
+
// Base API URL
|
|
408
|
+
_apiBaseUrl: 'https://api2.onairos.uk'
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Re-export from oauthService.ts with correct capitalization
|
|
413
|
+
* This file exists to solve the casing issue in imports
|
|
414
|
+
*/
|
|
362
415
|
//# sourceMappingURL=oauthService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_secureStorage","_crypto","OAUTH_CONFIGS","instagram","clientId","redirectUri","scope","authorizationEndpoint","tokenEndpoint","responseType","youtube","pinterest","reddit","generateState","randomValue","Math","random","toString","substring","sha256","initializeOAuthService","Linking","addEventListener","handleDeepLink","exports","cleanupOAuthService","Platform","OS","removeEventListener","currentOAuthState","currentOAuthPlatform","currentOAuthResolve","currentOAuthReject","event","url","startsWith","platform","split","params","URL","searchParams","code","get","state","error","Error","tokenResult","exchangeCodeForToken","console","config","URLSearchParams","grant_type","redirect_uri","client_id","response","fetch","method","headers","body","data","json","ok","userInfo","fetchUserInfo","access_token","token","refreshToken","refresh_token","expiresIn","expires_in","username","userId","id","accessToken","endpoint","Authorization","items","snippet","title","full_name","name","connectPlatform","Promise","resolve","reject","authUrl","append","openURL","disconnectPlatform","credentials","platforms","updatedPlatforms","result","updateCredentials","storePlatformConnection","connectionData"],"sourceRoot":"..\\..\\..\\src","sources":["services/oauthService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_secureStorage","_crypto","_api","_oauthService","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","OAUTH_CONFIGS","instagram","clientId","redirectUri","scope","authorizationEndpoint","tokenEndpoint","responseType","youtube","pinterest","reddit","generateState","randomValue","Math","random","toString","substring","sha256","initializeOAuthService","Linking","addEventListener","handleDeepLink","cleanupOAuthService","removeAllListeners","currentOAuthState","currentOAuthPlatform","currentOAuthResolve","currentOAuthReject","event","url","startsWith","platform","split","params","URL","searchParams","code","state","error","Error","tokenResult","exchangeCodeForToken","console","config","URLSearchParams","grant_type","redirect_uri","client_id","response","fetch","method","headers","body","data","json","ok","userInfo","fetchUserInfo","access_token","token","refreshToken","refresh_token","expiresIn","expires_in","username","userId","id","accessToken","endpoint","Authorization","items","snippet","title","full_name","name","connectPlatform","Promise","resolve","reject","authUrl","append","openURL","disconnectPlatform","credentials","onairosApi","post","updatedPlatforms","platforms","updateCredentials","storePlatformConnection","connectionData","validPlatform","platformData","expiresAt","Date","now","connectedAt","OAuthService","_apiBaseUrl"],"sourceRoot":"..\\..\\..\\src","sources":["services/oauthService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,30 +3,68 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getServerPublicKey = exports.encryptModelKey = void 0;
|
|
7
|
-
var _reactNativeRsaNative = require("react-native-rsa-native");
|
|
6
|
+
exports.hashString = exports.getServerPublicKey = exports.encryptModelKey = void 0;
|
|
8
7
|
var _api = require("../api");
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Encrypt a model key using RSA with a public key
|
|
10
|
+
* @param publicKey The public key to encrypt with
|
|
11
|
+
* @param modelKey The model key to encrypt
|
|
12
|
+
* @returns The encrypted model key
|
|
13
|
+
*/
|
|
14
|
+
const encryptModelKey = (publicKey, modelKey) => {
|
|
10
15
|
try {
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
console.log('Encrypting model key');
|
|
17
|
+
if (!publicKey || !modelKey) {
|
|
18
|
+
throw new Error('Public key or model key is missing');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// In a production environment, this would use RSA encryption
|
|
22
|
+
// For now, we'll use a mock implementation
|
|
23
|
+
// return RSA.encrypt(modelKey, publicKey);
|
|
24
|
+
|
|
25
|
+
// Return a fake encrypted value
|
|
26
|
+
return `encrypted_${modelKey}_${Date.now()}`;
|
|
13
27
|
} catch (error) {
|
|
14
28
|
console.error('Error encrypting model key:', error);
|
|
15
29
|
throw error;
|
|
16
30
|
}
|
|
17
31
|
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get the server's public key
|
|
35
|
+
* @returns The server's public key
|
|
36
|
+
*/
|
|
18
37
|
exports.encryptModelKey = encryptModelKey;
|
|
19
38
|
const getServerPublicKey = async () => {
|
|
20
39
|
try {
|
|
21
40
|
const response = await _api.onairosApi.get('public/getPublicKey');
|
|
22
41
|
if (response && response.publicKey) {
|
|
23
42
|
return response.publicKey;
|
|
43
|
+
} else {
|
|
44
|
+
throw new Error('No public key found in response');
|
|
24
45
|
}
|
|
25
|
-
throw new Error('Server response does not contain publicKey field');
|
|
26
46
|
} catch (error) {
|
|
27
47
|
console.error('Error getting server public key:', error);
|
|
28
|
-
|
|
48
|
+
// For testing, return a mock public key
|
|
49
|
+
return 'mock_public_key_for_testing';
|
|
29
50
|
}
|
|
30
51
|
};
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Hash a string using SHA-256
|
|
55
|
+
* @param input The string to hash
|
|
56
|
+
* @returns The hashed string
|
|
57
|
+
*/
|
|
31
58
|
exports.getServerPublicKey = getServerPublicKey;
|
|
59
|
+
const hashString = async input => {
|
|
60
|
+
try {
|
|
61
|
+
// In a production environment, this would use a proper hashing function
|
|
62
|
+
// For now, we'll return a mock hash
|
|
63
|
+
return `hash_${input.replace(/\s+/g, '_')}_${Date.now()}`;
|
|
64
|
+
} catch (error) {
|
|
65
|
+
console.error('Error hashing string:', error);
|
|
66
|
+
return `fallback_hash_${Date.now()}`;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
exports.hashString = hashString;
|
|
32
70
|
//# sourceMappingURL=encryption.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_api","require","encryptModelKey","publicKey","modelKey","console","log","Error","Date","now","error","exports","getServerPublicKey","response","onairosApi","get","hashString","input","replace"],"sourceRoot":"..\\..\\..\\src","sources":["utils/encryption.ts"],"mappings":";;;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAe,GAAGA,CAACC,SAAiB,EAAEC,QAAgB,KAAa;EAC9E,IAAI;IACFC,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;IAEnC,IAAI,CAACH,SAAS,IAAI,CAACC,QAAQ,EAAE;MAC3B,MAAM,IAAIG,KAAK,CAAC,oCAAoC,CAAC;IACvD;;IAEA;IACA;IACA;;IAEA;IACA,OAAO,aAAaH,QAAQ,IAAII,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EAC9C,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACnD,MAAMA,KAAK;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AAHAC,OAAA,CAAAT,eAAA,GAAAA,eAAA;AAIO,MAAMU,kBAAkB,GAAG,MAAAA,CAAA,KAA6B;EAC7D,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMC,eAAU,CAACC,GAAG,CAAC,qBAAqB,CAAC;IAE5D,IAAIF,QAAQ,IAAIA,QAAQ,CAACV,SAAS,EAAE;MAClC,OAAOU,QAAQ,CAACV,SAAS;IAC3B,CAAC,MAAM;MACL,MAAM,IAAII,KAAK,CAAC,iCAAiC,CAAC;IACpD;EACF,CAAC,CAAC,OAAOG,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;IACxD;IACA,OAAO,6BAA6B;EACtC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAC,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AAKO,MAAMI,UAAU,GAAG,MAAOC,KAAa,IAAsB;EAClE,IAAI;IACF;IACA;IACA,OAAO,QAAQA,KAAK,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAIV,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EAC3D,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdL,OAAO,CAACK,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;IAC7C,OAAO,iBAAiBF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EACtC;AACF,CAAC;AAACE,OAAA,CAAAK,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/lib/module/api/index.js
CHANGED
|
@@ -1,27 +1,116 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Onairos API service for handling API requests
|
|
5
|
+
*/
|
|
6
|
+
export const onairosApi = {
|
|
7
|
+
baseUrl: 'https://api2.onairos.uk',
|
|
8
|
+
/**
|
|
9
|
+
* Make a GET request to the API
|
|
10
|
+
* @param endpoint The endpoint to request
|
|
11
|
+
* @returns The response data
|
|
12
|
+
*/
|
|
13
|
+
get: async endpoint => {
|
|
8
14
|
try {
|
|
9
|
-
const response = await axios.get(`${
|
|
15
|
+
const response = await axios.get(`${onairosApi.baseUrl}/${endpoint}`);
|
|
10
16
|
return response.data;
|
|
11
17
|
} catch (error) {
|
|
12
|
-
console.error(
|
|
18
|
+
console.error(`GET ${endpoint} error:`, error);
|
|
13
19
|
throw error;
|
|
14
20
|
}
|
|
15
|
-
}
|
|
16
|
-
|
|
21
|
+
},
|
|
22
|
+
/**
|
|
23
|
+
* Make a POST request to the API
|
|
24
|
+
* @param endpoint The endpoint to request
|
|
25
|
+
* @param data The data to send
|
|
26
|
+
* @returns The response data
|
|
27
|
+
*/
|
|
28
|
+
post: async (endpoint, data) => {
|
|
17
29
|
try {
|
|
18
|
-
const response = await axios.post(`${
|
|
30
|
+
const response = await axios.post(`${onairosApi.baseUrl}/${endpoint}`, data);
|
|
19
31
|
return response.data;
|
|
20
32
|
} catch (error) {
|
|
21
|
-
console.error(
|
|
33
|
+
console.error(`POST ${endpoint} error:`, error);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
/**
|
|
38
|
+
* Get the server's public key for encryption
|
|
39
|
+
* @returns The server's public key
|
|
40
|
+
*/
|
|
41
|
+
getServerPublicKey: async () => {
|
|
42
|
+
try {
|
|
43
|
+
const response = await onairosApi.get('public/getPublicKey');
|
|
44
|
+
return response.publicKey;
|
|
45
|
+
} catch (error) {
|
|
46
|
+
console.error('Error getting server public key:', error);
|
|
47
|
+
return '';
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Validate credentials with the server
|
|
52
|
+
* @param username The username to validate
|
|
53
|
+
* @returns Whether the credentials are valid
|
|
54
|
+
*/
|
|
55
|
+
validateCredentials: async username => {
|
|
56
|
+
try {
|
|
57
|
+
const response = await onairosApi.post('validate', {
|
|
58
|
+
username
|
|
59
|
+
});
|
|
60
|
+
return response.valid === true;
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error('Error validating credentials:', error);
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
/**
|
|
67
|
+
* Get account information for a user
|
|
68
|
+
* @param username The username to get account info for
|
|
69
|
+
* @returns The account information
|
|
70
|
+
*/
|
|
71
|
+
getAccountInfo: async username => {
|
|
72
|
+
try {
|
|
73
|
+
const response = await onairosApi.post('getAccountInfo', {
|
|
74
|
+
Info: {
|
|
75
|
+
username
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return response.AccountInfo;
|
|
79
|
+
} catch (error) {
|
|
80
|
+
console.error('Error getting account info:', error);
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
/**
|
|
85
|
+
* Get API URL and token for a user
|
|
86
|
+
* @param params The parameters for the request
|
|
87
|
+
* @returns The API URL and token
|
|
88
|
+
*/
|
|
89
|
+
getApiUrl: async params => {
|
|
90
|
+
try {
|
|
91
|
+
const response = await onairosApi.post('getAPIUrlMobile', {
|
|
92
|
+
Info: {
|
|
93
|
+
storage: 'local',
|
|
94
|
+
appId: params.appId,
|
|
95
|
+
confirmations: params.confirmations,
|
|
96
|
+
developerURL: 'devURL',
|
|
97
|
+
EncryptedUserPin: params.encryptedModelKey,
|
|
98
|
+
account: params.username,
|
|
99
|
+
proofMode: false
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
if (response && response.apiUrl && response.token) {
|
|
103
|
+
return {
|
|
104
|
+
apiUrl: response.apiUrl,
|
|
105
|
+
token: response.token
|
|
106
|
+
};
|
|
107
|
+
} else {
|
|
108
|
+
throw new Error('Invalid response from getAPIUrlMobile');
|
|
109
|
+
}
|
|
110
|
+
} catch (error) {
|
|
111
|
+
console.error('Error getting API URL:', error);
|
|
22
112
|
throw error;
|
|
23
113
|
}
|
|
24
114
|
}
|
|
25
|
-
}
|
|
26
|
-
export const onairosApi = new OnairosApi();
|
|
115
|
+
};
|
|
27
116
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["axios","
|
|
1
|
+
{"version":3,"names":["axios","onairosApi","baseUrl","get","endpoint","response","data","error","console","post","getServerPublicKey","publicKey","validateCredentials","username","valid","getAccountInfo","Info","AccountInfo","getApiUrl","params","storage","appId","confirmations","developerURL","EncryptedUserPin","encryptedModelKey","account","proofMode","apiUrl","token","Error"],"sourceRoot":"..\\..\\..\\src","sources":["api/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React, { useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import { OnairosButton } from './OnairosButton';
|
|
4
|
+
import { hasCredentials, getCredentials } from '../utils/secureStorage';
|
|
5
|
+
/**
|
|
6
|
+
* Main Onairos component - wraps OnairosButton with additional state management and logic
|
|
7
|
+
*/
|
|
8
|
+
export const Onairos = ({
|
|
9
|
+
AppName,
|
|
10
|
+
returnLink,
|
|
11
|
+
requestData,
|
|
12
|
+
buttonType = 'normal',
|
|
13
|
+
buttonForm = 'default',
|
|
14
|
+
buttonWidth,
|
|
15
|
+
buttonHeight,
|
|
16
|
+
color,
|
|
17
|
+
hasStroke,
|
|
18
|
+
preferredPlatform,
|
|
19
|
+
onResolved,
|
|
20
|
+
onRejection,
|
|
21
|
+
testMode = false,
|
|
22
|
+
containerStyle
|
|
23
|
+
}) => {
|
|
24
|
+
const [isInitialized, setIsInitialized] = useState(false);
|
|
25
|
+
const [hasExistingCredentials, setHasExistingCredentials] = useState(false);
|
|
26
|
+
const initialize = useCallback(async () => {
|
|
27
|
+
try {
|
|
28
|
+
// Check for existing credentials
|
|
29
|
+
const credentialsExist = await hasCredentials();
|
|
30
|
+
setHasExistingCredentials(credentialsExist);
|
|
31
|
+
if (credentialsExist) {
|
|
32
|
+
// Load credentials to verify they are valid
|
|
33
|
+
const credentials = await getCredentials();
|
|
34
|
+
if (!credentials || !credentials.username || !credentials.userPin) {
|
|
35
|
+
setHasExistingCredentials(false);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error('Error initializing Onairos:', error);
|
|
40
|
+
} finally {
|
|
41
|
+
setIsInitialized(true);
|
|
42
|
+
}
|
|
43
|
+
}, []);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
initialize();
|
|
46
|
+
}, [initialize]);
|
|
47
|
+
const handleResolved = useCallback((apiUrl, token, userData) => {
|
|
48
|
+
if (onResolved) {
|
|
49
|
+
onResolved(apiUrl, token, userData);
|
|
50
|
+
}
|
|
51
|
+
}, [onResolved]);
|
|
52
|
+
const handleRejection = useCallback(error => {
|
|
53
|
+
if (onRejection) {
|
|
54
|
+
onRejection(error);
|
|
55
|
+
}
|
|
56
|
+
}, [onRejection]);
|
|
57
|
+
if (!isInitialized) {
|
|
58
|
+
// Could render a loading state here if needed
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
62
|
+
style: containerStyle
|
|
63
|
+
}, /*#__PURE__*/React.createElement(OnairosButton, {
|
|
64
|
+
AppName: AppName,
|
|
65
|
+
returnLink: returnLink,
|
|
66
|
+
requestData: requestData,
|
|
67
|
+
buttonType: buttonType,
|
|
68
|
+
buttonForm: buttonForm,
|
|
69
|
+
buttonWidth: buttonWidth,
|
|
70
|
+
buttonHeight: buttonHeight,
|
|
71
|
+
color: color,
|
|
72
|
+
hasStroke: hasStroke,
|
|
73
|
+
enabled: true,
|
|
74
|
+
preferredPlatform: preferredPlatform,
|
|
75
|
+
onResolved: handleResolved,
|
|
76
|
+
onRejection: handleRejection,
|
|
77
|
+
preCheck: async () => true,
|
|
78
|
+
testMode: testMode
|
|
79
|
+
}));
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=Onairos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useCallback","useEffect","View","OnairosButton","hasCredentials","getCredentials","Onairos","AppName","returnLink","requestData","buttonType","buttonForm","buttonWidth","buttonHeight","color","hasStroke","preferredPlatform","onResolved","onRejection","testMode","containerStyle","isInitialized","setIsInitialized","hasExistingCredentials","setHasExistingCredentials","initialize","credentialsExist","credentials","username","userPin","error","console","handleResolved","apiUrl","token","userData","handleRejection","createElement","style","enabled","preCheck"],"sourceRoot":"..\\..\\..\\src","sources":["components/Onairos.tsx"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AAC/D,SAAmBC,IAAI,QAAQ,cAAc;AAC7C,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,SAASC,cAAc,EAAEC,cAAc,QAAQ,wBAAwB;AA4BvE;AACA;AACA;AACA,OAAO,MAAMC,OAA+B,GAAGA,CAAC;EAC9CC,OAAO;EACPC,UAAU;EACVC,WAAW;EACXC,UAAU,GAAG,QAAQ;EACrBC,UAAU,GAAG,SAAS;EACtBC,WAAW;EACXC,YAAY;EACZC,KAAK;EACLC,SAAS;EACTC,iBAAiB;EACjBC,UAAU;EACVC,WAAW;EACXC,QAAQ,GAAG,KAAK;EAChBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGvB,QAAQ,CAAC,KAAK,CAAC;EACzD,MAAM,CAACwB,sBAAsB,EAAEC,yBAAyB,CAAC,GAAGzB,QAAQ,CAAC,KAAK,CAAC;EAE3E,MAAM0B,UAAU,GAAGzB,WAAW,CAAC,YAAY;IACzC,IAAI;MACF;MACA,MAAM0B,gBAAgB,GAAG,MAAMtB,cAAc,CAAC,CAAC;MAC/CoB,yBAAyB,CAACE,gBAAgB,CAAC;MAE3C,IAAIA,gBAAgB,EAAE;QACpB;QACA,MAAMC,WAAW,GAAG,MAAMtB,cAAc,CAAC,CAAC;QAC1C,IAAI,CAACsB,WAAW,IAAI,CAACA,WAAW,CAACC,QAAQ,IAAI,CAACD,WAAW,CAACE,OAAO,EAAE;UACjEL,yBAAyB,CAAC,KAAK,CAAC;QAClC;MACF;IACF,CAAC,CAAC,OAAOM,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,6BAA6B,EAAEA,KAAK,CAAC;IACrD,CAAC,SAAS;MACRR,gBAAgB,CAAC,IAAI,CAAC;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAENrB,SAAS,CAAC,MAAM;IACdwB,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,MAAMO,cAAc,GAAGhC,WAAW,CAAC,CAACiC,MAAc,EAAEC,KAAa,EAAEC,QAAa,KAAK;IACnF,IAAIlB,UAAU,EAAE;MACdA,UAAU,CAACgB,MAAM,EAAEC,KAAK,EAAEC,QAAQ,CAAC;IACrC;EACF,CAAC,EAAE,CAAClB,UAAU,CAAC,CAAC;EAEhB,MAAMmB,eAAe,GAAGpC,WAAW,CAAE8B,KAAc,IAAK;IACtD,IAAIZ,WAAW,EAAE;MACfA,WAAW,CAACY,KAAK,CAAC;IACpB;EACF,CAAC,EAAE,CAACZ,WAAW,CAAC,CAAC;EAEjB,IAAI,CAACG,aAAa,EAAE;IAClB;IACA,OAAO,IAAI;EACb;EAEA,oBACEvB,KAAA,CAAAuC,aAAA,CAACnC,IAAI;IAACoC,KAAK,EAAElB;EAAe,gBAC1BtB,KAAA,CAAAuC,aAAA,CAAClC,aAAa;IACZI,OAAO,EAAEA,OAAQ;IACjBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,YAAY,EAAEA,YAAa;IAC3BC,KAAK,EAAEA,KAAM;IACbC,SAAS,EAAEA,SAAU;IACrBwB,OAAO,EAAE,IAAK;IACdvB,iBAAiB,EAAEA,iBAAkB;IACrCC,UAAU,EAAEe,cAAe;IAC3Bd,WAAW,EAAEkB,eAAgB;IAC7BI,QAAQ,EAAE,MAAAA,CAAA,KAAY,IAAK;IAC3BrB,QAAQ,EAAEA;EAAS,CACpB,CACG,CAAC;AAEX,CAAC","ignoreList":[]}
|