@oxyhq/services 5.16.39 → 5.16.41
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/adapters/expo/crypto.js +56 -0
- package/lib/commonjs/adapters/expo/crypto.js.map +1 -0
- package/lib/commonjs/adapters/expo/fetch.js +30 -0
- package/lib/commonjs/adapters/expo/fetch.js.map +1 -0
- package/lib/commonjs/adapters/expo/index.js +48 -0
- package/lib/commonjs/adapters/expo/index.js.map +1 -0
- package/lib/commonjs/adapters/expo/storage.js +201 -0
- package/lib/commonjs/adapters/expo/storage.js.map +1 -0
- package/lib/commonjs/adapters/index.js +41 -0
- package/lib/commonjs/adapters/index.js.map +1 -0
- package/lib/commonjs/adapters/node/crypto.js +40 -0
- package/lib/commonjs/adapters/node/crypto.js.map +1 -0
- package/lib/commonjs/adapters/node/fetch.js +62 -0
- package/lib/commonjs/adapters/node/fetch.js.map +1 -0
- package/lib/commonjs/adapters/node/index.js +34 -0
- package/lib/commonjs/adapters/node/index.js.map +1 -0
- package/lib/commonjs/adapters/node/storage.js +163 -0
- package/lib/commonjs/adapters/node/storage.js.map +1 -0
- package/lib/commonjs/core/identity-session/DeviceManager.js +237 -0
- package/lib/commonjs/core/identity-session/DeviceManager.js.map +1 -0
- package/lib/commonjs/core/identity-session/INTEGRATION_GUIDE.md +287 -0
- package/lib/commonjs/core/identity-session/IdentityManager.js +400 -0
- package/lib/commonjs/core/identity-session/IdentityManager.js.map +1 -0
- package/lib/commonjs/core/identity-session/IdentitySessionCore.js +394 -0
- package/lib/commonjs/core/identity-session/IdentitySessionCore.js.map +1 -0
- package/lib/commonjs/core/identity-session/RefreshManager.js +137 -0
- package/lib/commonjs/core/identity-session/RefreshManager.js.map +1 -0
- package/lib/commonjs/core/identity-session/SessionManager.js +427 -0
- package/lib/commonjs/core/identity-session/SessionManager.js.map +1 -0
- package/lib/commonjs/core/identity-session/createIdentitySessionCore.js +24 -0
- package/lib/commonjs/core/identity-session/createIdentitySessionCore.js.map +1 -0
- package/lib/commonjs/core/identity-session/errors.js +176 -0
- package/lib/commonjs/core/identity-session/errors.js.map +1 -0
- package/lib/commonjs/core/identity-session/index.js +80 -0
- package/lib/commonjs/core/identity-session/index.js.map +1 -0
- package/lib/commonjs/core/identity-session/types.js +2 -0
- package/lib/commonjs/core/identity-session/types.js.map +1 -0
- package/lib/commonjs/core/index.js +2 -21
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/index.js +58 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +7 -0
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +434 -820
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +52 -0
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -0
- package/lib/commonjs/ui/hooks/useIdentityTransfer.js +125 -0
- package/lib/commonjs/ui/hooks/useIdentityTransfer.js.map +1 -0
- package/lib/commonjs/ui/hooks/useTransferCodesPersistence.js +81 -0
- package/lib/commonjs/ui/hooks/useTransferCodesPersistence.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +7 -2
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +12 -5
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +2 -2
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +6 -6
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js +7 -1
- package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/commonjs/utils/index.js +0 -7
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/commonjs/utils/sessionUtils.js +8 -1
- package/lib/commonjs/utils/sessionUtils.js.map +1 -1
- package/lib/module/adapters/expo/crypto.js +51 -0
- package/lib/module/adapters/expo/crypto.js.map +1 -0
- package/lib/module/adapters/expo/fetch.js +26 -0
- package/lib/module/adapters/expo/fetch.js.map +1 -0
- package/lib/module/adapters/expo/index.js +45 -0
- package/lib/module/adapters/expo/index.js.map +1 -0
- package/lib/module/adapters/expo/storage.js +198 -0
- package/lib/module/adapters/expo/storage.js.map +1 -0
- package/lib/module/adapters/index.js +38 -0
- package/lib/module/adapters/index.js.map +1 -0
- package/lib/module/adapters/node/crypto.js +36 -0
- package/lib/module/adapters/node/crypto.js.map +1 -0
- package/lib/module/adapters/node/fetch.js +57 -0
- package/lib/module/adapters/node/fetch.js.map +1 -0
- package/lib/module/adapters/node/index.js +31 -0
- package/lib/module/adapters/node/index.js.map +1 -0
- package/lib/module/adapters/node/storage.js +159 -0
- package/lib/module/adapters/node/storage.js.map +1 -0
- package/lib/module/core/identity-session/DeviceManager.js +232 -0
- package/lib/module/core/identity-session/DeviceManager.js.map +1 -0
- package/lib/module/core/identity-session/INTEGRATION_GUIDE.md +287 -0
- package/lib/module/core/identity-session/IdentityManager.js +395 -0
- package/lib/module/core/identity-session/IdentityManager.js.map +1 -0
- package/lib/module/core/identity-session/IdentitySessionCore.js +390 -0
- package/lib/module/core/identity-session/IdentitySessionCore.js.map +1 -0
- package/lib/module/core/identity-session/RefreshManager.js +132 -0
- package/lib/module/core/identity-session/RefreshManager.js.map +1 -0
- package/lib/module/core/identity-session/SessionManager.js +422 -0
- package/lib/module/core/identity-session/SessionManager.js.map +1 -0
- package/lib/module/core/identity-session/createIdentitySessionCore.js +21 -0
- package/lib/module/core/identity-session/createIdentitySessionCore.js.map +1 -0
- package/lib/module/core/identity-session/errors.js +170 -0
- package/lib/module/core/identity-session/errors.js.map +1 -0
- package/lib/module/core/identity-session/index.js +17 -0
- package/lib/module/core/identity-session/index.js.map +1 -0
- package/lib/module/core/identity-session/types.js +2 -0
- package/lib/module/core/identity-session/types.js.map +1 -0
- package/lib/module/core/index.js +2 -3
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/index.js +12 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +7 -0
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +436 -822
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +48 -0
- package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -0
- package/lib/module/ui/hooks/useIdentityTransfer.js +121 -0
- package/lib/module/ui/hooks/useIdentityTransfer.js.map +1 -0
- package/lib/module/ui/hooks/useTransferCodesPersistence.js +77 -0
- package/lib/module/ui/hooks/useTransferCodesPersistence.js.map +1 -0
- package/lib/module/ui/screens/AccountCenterScreen.js +7 -2
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +12 -5
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +2 -2
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +6 -6
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/utils/sessionHelpers.js +7 -1
- package/lib/module/ui/utils/sessionHelpers.js.map +1 -1
- package/lib/module/utils/index.js +2 -1
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/sessionUtils.js +8 -1
- package/lib/module/utils/sessionUtils.js.map +1 -1
- package/lib/typescript/adapters/expo/crypto.d.ts +17 -0
- package/lib/typescript/adapters/expo/crypto.d.ts.map +1 -0
- package/lib/typescript/adapters/expo/fetch.d.ts +16 -0
- package/lib/typescript/adapters/expo/fetch.d.ts.map +1 -0
- package/lib/typescript/adapters/expo/index.d.ts +23 -0
- package/lib/typescript/adapters/expo/index.d.ts.map +1 -0
- package/lib/typescript/adapters/expo/storage.d.ts +23 -0
- package/lib/typescript/adapters/expo/storage.d.ts.map +1 -0
- package/lib/typescript/adapters/index.d.ts +13 -0
- package/lib/typescript/adapters/index.d.ts.map +1 -0
- package/lib/typescript/adapters/node/crypto.d.ts +17 -0
- package/lib/typescript/adapters/node/crypto.d.ts.map +1 -0
- package/lib/typescript/adapters/node/fetch.d.ts +16 -0
- package/lib/typescript/adapters/node/fetch.d.ts.map +1 -0
- package/lib/typescript/adapters/node/index.d.ts +23 -0
- package/lib/typescript/adapters/node/index.d.ts.map +1 -0
- package/lib/typescript/adapters/node/storage.d.ts +23 -0
- package/lib/typescript/adapters/node/storage.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/DeviceManager.d.ts +64 -0
- package/lib/typescript/core/identity-session/DeviceManager.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/IdentityManager.d.ts +88 -0
- package/lib/typescript/core/identity-session/IdentityManager.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/IdentitySessionCore.d.ts +141 -0
- package/lib/typescript/core/identity-session/IdentitySessionCore.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/RefreshManager.d.ts +36 -0
- package/lib/typescript/core/identity-session/RefreshManager.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/SessionManager.d.ts +104 -0
- package/lib/typescript/core/identity-session/SessionManager.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/createIdentitySessionCore.d.ts +11 -0
- package/lib/typescript/core/identity-session/createIdentitySessionCore.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/errors.d.ts +63 -0
- package/lib/typescript/core/identity-session/errors.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/index.d.ts +14 -0
- package/lib/typescript/core/identity-session/index.d.ts.map +1 -0
- package/lib/typescript/core/identity-session/types.d.ts +196 -0
- package/lib/typescript/core/identity-session/types.d.ts.map +1 -0
- package/lib/typescript/core/index.d.ts +1 -3
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/lib/typescript/core/mixins/index.d.ts +2 -2
- package/lib/typescript/index.d.ts +3 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +5 -36
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +3 -16
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +2 -25
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +7 -8
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +1 -1
- package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +5 -5
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +18 -0
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useIdentityTransfer.d.ts +24 -0
- package/lib/typescript/ui/hooks/useIdentityTransfer.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useTransferCodesPersistence.d.ts +6 -0
- package/lib/typescript/ui/hooks/useTransferCodesPersistence.d.ts.map +1 -0
- package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/utils/sessionHelpers.d.ts +1 -0
- package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +0 -2
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/lib/typescript/utils/sessionUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/expo/crypto.ts +55 -0
- package/src/adapters/expo/fetch.ts +28 -0
- package/src/adapters/expo/index.ts +51 -0
- package/src/adapters/expo/storage.ts +228 -0
- package/src/adapters/index.ts +40 -0
- package/src/adapters/node/crypto.ts +39 -0
- package/src/adapters/node/fetch.ts +59 -0
- package/src/adapters/node/index.ts +37 -0
- package/src/adapters/node/storage.ts +170 -0
- package/src/core/identity-session/DeviceManager.ts +273 -0
- package/src/core/identity-session/INTEGRATION_GUIDE.md +287 -0
- package/src/core/identity-session/IdentityManager.ts +474 -0
- package/src/core/identity-session/IdentitySessionCore.ts +464 -0
- package/src/core/identity-session/RefreshManager.ts +189 -0
- package/src/core/identity-session/SessionManager.ts +500 -0
- package/src/core/identity-session/createIdentitySessionCore.ts +19 -0
- package/src/core/identity-session/errors.ts +197 -0
- package/src/core/identity-session/index.ts +15 -0
- package/src/core/identity-session/types.ts +188 -0
- package/src/core/index.ts +3 -4
- package/src/index.ts +28 -3
- package/src/models/interfaces.ts +12 -39
- package/src/models/session.ts +6 -16
- package/src/ui/context/OxyContext.tsx +442 -871
- package/src/ui/hooks/auth/index.ts +1 -0
- package/src/ui/hooks/useAvatarPicker.ts +62 -0
- package/src/ui/hooks/useIdentityTransfer.ts +135 -0
- package/src/ui/hooks/useTransferCodesPersistence.ts +80 -0
- package/src/ui/screens/AccountCenterScreen.tsx +7 -2
- package/src/ui/screens/AccountSettingsScreen.tsx +15 -8
- package/src/ui/screens/AccountSwitcherScreen.tsx +2 -2
- package/src/ui/screens/ProfileScreen.tsx +10 -10
- package/src/ui/utils/sessionHelpers.ts +7 -0
- package/src/utils/index.ts +1 -2
- package/src/utils/sessionUtils.ts +8 -0
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +0 -704
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +0 -1
- package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +0 -73
- package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +0 -1
- package/lib/commonjs/ui/hooks/useDeviceManagement.js +0 -73
- package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +0 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +0 -281
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +0 -1
- package/lib/commonjs/utils/deviceManager.js +0 -177
- package/lib/commonjs/utils/deviceManager.js.map +0 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +0 -698
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +0 -1
- package/lib/module/ui/context/hooks/useDeviceManagement.js +0 -68
- package/lib/module/ui/context/hooks/useDeviceManagement.js.map +0 -1
- package/lib/module/ui/hooks/useDeviceManagement.js +0 -68
- package/lib/module/ui/hooks/useDeviceManagement.js.map +0 -1
- package/lib/module/ui/hooks/useSessionManagement.js +0 -276
- package/lib/module/ui/hooks/useSessionManagement.js.map +0 -1
- package/lib/module/utils/deviceManager.js +0 -171
- package/lib/module/utils/deviceManager.js.map +0 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +0 -59
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +0 -1
- package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts +0 -27
- package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts.map +0 -1
- package/lib/typescript/ui/hooks/useDeviceManagement.d.ts +0 -27
- package/lib/typescript/ui/hooks/useDeviceManagement.d.ts.map +0 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts +0 -41
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +0 -1
- package/lib/typescript/utils/deviceManager.d.ts +0 -66
- package/lib/typescript/utils/deviceManager.d.ts.map +0 -1
- package/src/ui/context/hooks/useAuthOperations.ts +0 -773
- package/src/ui/context/hooks/useDeviceManagement.ts +0 -108
- package/src/ui/hooks/useDeviceManagement.ts +0 -108
- package/src/ui/hooks/useSessionManagement.ts +0 -401
- package/src/utils/deviceManager.ts +0 -198
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.DeviceManager = void 0;
|
|
7
|
-
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); }
|
|
8
|
-
/**
|
|
9
|
-
* Client-side device management utility
|
|
10
|
-
* Handles persistent device identification across app sessions
|
|
11
|
-
*/
|
|
12
|
-
class DeviceManager {
|
|
13
|
-
static DEVICE_KEY = 'oxy_device_info';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Check if we're in React Native environment
|
|
17
|
-
*/
|
|
18
|
-
static isReactNative() {
|
|
19
|
-
return typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Get appropriate storage for the platform
|
|
24
|
-
*/
|
|
25
|
-
static async getStorage() {
|
|
26
|
-
if (this.isReactNative()) {
|
|
27
|
-
try {
|
|
28
|
-
const asyncStorageModule = await Promise.resolve().then(() => _interopRequireWildcard(require('@react-native-async-storage/async-storage')));
|
|
29
|
-
const storage = asyncStorageModule.default;
|
|
30
|
-
return {
|
|
31
|
-
getItem: storage.getItem.bind(storage),
|
|
32
|
-
setItem: storage.setItem.bind(storage),
|
|
33
|
-
removeItem: storage.removeItem.bind(storage)
|
|
34
|
-
};
|
|
35
|
-
} catch (error) {
|
|
36
|
-
console.error('AsyncStorage not available in React Native:', error);
|
|
37
|
-
throw new Error('AsyncStorage is required in React Native environment');
|
|
38
|
-
}
|
|
39
|
-
} else {
|
|
40
|
-
// Use localStorage for web
|
|
41
|
-
return {
|
|
42
|
-
getItem: async key => localStorage.getItem(key),
|
|
43
|
-
setItem: async (key, value) => localStorage.setItem(key, value),
|
|
44
|
-
removeItem: async key => localStorage.removeItem(key)
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Get or create device fingerprint for current device
|
|
51
|
-
*/
|
|
52
|
-
static getDeviceFingerprint() {
|
|
53
|
-
const fingerprint = {
|
|
54
|
-
userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : 'unknown',
|
|
55
|
-
platform: typeof navigator !== 'undefined' ? navigator.platform : 'unknown',
|
|
56
|
-
language: typeof navigator !== 'undefined' ? navigator.language : undefined,
|
|
57
|
-
timezone: typeof Intl !== 'undefined' ? Intl.DateTimeFormat().resolvedOptions().timeZone : undefined
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
// Add screen info if available
|
|
61
|
-
if (typeof screen !== 'undefined') {
|
|
62
|
-
fingerprint.screen = {
|
|
63
|
-
width: screen.width,
|
|
64
|
-
height: screen.height,
|
|
65
|
-
colorDepth: screen.colorDepth
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
return fingerprint;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* Get stored device info or create new one
|
|
73
|
-
*/
|
|
74
|
-
static async getDeviceInfo() {
|
|
75
|
-
try {
|
|
76
|
-
const storage = await this.getStorage();
|
|
77
|
-
const stored = await storage.getItem(this.DEVICE_KEY);
|
|
78
|
-
if (stored) {
|
|
79
|
-
const deviceInfo = JSON.parse(stored);
|
|
80
|
-
|
|
81
|
-
// Update last used timestamp
|
|
82
|
-
deviceInfo.lastUsed = new Date().toISOString();
|
|
83
|
-
await this.saveDeviceInfo(deviceInfo);
|
|
84
|
-
return deviceInfo;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// Create new device info
|
|
88
|
-
return await this.createNewDeviceInfo();
|
|
89
|
-
} catch (error) {
|
|
90
|
-
console.error('Error getting device info:', error);
|
|
91
|
-
return await this.createNewDeviceInfo();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Create new device info and store it
|
|
97
|
-
*/
|
|
98
|
-
static async createNewDeviceInfo() {
|
|
99
|
-
const deviceInfo = {
|
|
100
|
-
deviceId: this.generateDeviceId(),
|
|
101
|
-
fingerprint: JSON.stringify(this.getDeviceFingerprint()),
|
|
102
|
-
createdAt: new Date().toISOString(),
|
|
103
|
-
lastUsed: new Date().toISOString()
|
|
104
|
-
};
|
|
105
|
-
await this.saveDeviceInfo(deviceInfo);
|
|
106
|
-
return deviceInfo;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Save device info to storage
|
|
111
|
-
*/
|
|
112
|
-
static async saveDeviceInfo(deviceInfo) {
|
|
113
|
-
try {
|
|
114
|
-
const storage = await this.getStorage();
|
|
115
|
-
await storage.setItem(this.DEVICE_KEY, JSON.stringify(deviceInfo));
|
|
116
|
-
} catch (error) {
|
|
117
|
-
console.error('Error saving device info:', error);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Update device name
|
|
123
|
-
*/
|
|
124
|
-
static async updateDeviceName(deviceName) {
|
|
125
|
-
try {
|
|
126
|
-
const deviceInfo = await this.getDeviceInfo();
|
|
127
|
-
deviceInfo.deviceName = deviceName;
|
|
128
|
-
await this.saveDeviceInfo(deviceInfo);
|
|
129
|
-
} catch (error) {
|
|
130
|
-
console.error('Error updating device name:', error);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Clear stored device info (useful for testing or reset)
|
|
136
|
-
*/
|
|
137
|
-
static async clearDeviceInfo() {
|
|
138
|
-
try {
|
|
139
|
-
const storage = await this.getStorage();
|
|
140
|
-
await storage.removeItem(this.DEVICE_KEY);
|
|
141
|
-
} catch (error) {
|
|
142
|
-
console.error('Error clearing device info:', error);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Generate a unique device ID
|
|
148
|
-
*/
|
|
149
|
-
static generateDeviceId() {
|
|
150
|
-
// Use crypto.getRandomValues if available, otherwise fallback to Math.random
|
|
151
|
-
if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
|
|
152
|
-
const array = new Uint8Array(32);
|
|
153
|
-
crypto.getRandomValues(array);
|
|
154
|
-
return Array.from(array, byte => byte.toString(16).padStart(2, '0')).join('');
|
|
155
|
-
} else {
|
|
156
|
-
// Fallback for environments without crypto.getRandomValues
|
|
157
|
-
return 'device_' + Date.now().toString(36) + Math.random().toString(36).substr(2);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Get a user-friendly device name based on platform
|
|
163
|
-
*/
|
|
164
|
-
static getDefaultDeviceName() {
|
|
165
|
-
const fingerprint = this.getDeviceFingerprint();
|
|
166
|
-
const platform = (fingerprint.platform || '').toLowerCase();
|
|
167
|
-
if (platform.includes('win')) return 'Windows Computer';
|
|
168
|
-
if (platform.includes('mac')) return 'Mac Computer';
|
|
169
|
-
if (platform.includes('linux')) return 'Linux Computer';
|
|
170
|
-
if (platform.includes('iphone')) return 'iPhone';
|
|
171
|
-
if (platform.includes('ipad')) return 'iPad';
|
|
172
|
-
if (platform.includes('android')) return 'Android Device';
|
|
173
|
-
return 'Unknown Device';
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
exports.DeviceManager = DeviceManager;
|
|
177
|
-
//# sourceMappingURL=deviceManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DeviceManager","DEVICE_KEY","isReactNative","navigator","product","getStorage","asyncStorageModule","Promise","resolve","then","_interopRequireWildcard","require","storage","default","getItem","bind","setItem","removeItem","error","console","Error","key","localStorage","value","getDeviceFingerprint","fingerprint","userAgent","platform","language","undefined","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","screen","width","height","colorDepth","getDeviceInfo","stored","deviceInfo","JSON","parse","lastUsed","Date","toISOString","saveDeviceInfo","createNewDeviceInfo","deviceId","generateDeviceId","stringify","createdAt","updateDeviceName","deviceName","clearDeviceInfo","crypto","getRandomValues","array","Uint8Array","Array","from","byte","toString","padStart","join","now","Math","random","substr","getDefaultDeviceName","toLowerCase","includes","exports"],"sourceRoot":"../../../src","sources":["utils/deviceManager.ts"],"mappings":"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","ignoreList":[]}
|