@oxyhq/services
Version:
Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀
66 lines • 1.73 kB
TypeScript
export interface DeviceFingerprint {
userAgent: string;
platform: string;
language?: string;
timezone?: string;
screen?: {
width: number;
height: number;
colorDepth: number;
};
}
export interface StoredDeviceInfo {
deviceId: string;
deviceName?: string;
fingerprint?: string;
createdAt: string;
lastUsed: string;
}
/**
* Client-side device management utility
* Handles persistent device identification across app sessions
*/
export declare class DeviceManager {
private static DEVICE_KEY;
/**
* Check if we're in React Native environment
*/
private static isReactNative;
/**
* Get appropriate storage for the platform
*/
private static getStorage;
/**
* Get or create device fingerprint for current device
*/
static getDeviceFingerprint(): DeviceFingerprint;
/**
* Get stored device info or create new one
*/
static getDeviceInfo(): Promise<StoredDeviceInfo>;
/**
* Create new device info and store it
*/
static createNewDeviceInfo(): Promise<StoredDeviceInfo>;
/**
* Save device info to storage
*/
static saveDeviceInfo(deviceInfo: StoredDeviceInfo): Promise<void>;
/**
* Update device name
*/
static updateDeviceName(deviceName: string): Promise<void>;
/**
* Clear stored device info (useful for testing or reset)
*/
static clearDeviceInfo(): Promise<void>;
/**
* Generate a unique device ID
*/
private static generateDeviceId;
/**
* Get a user-friendly device name based on platform
*/
static getDefaultDeviceName(): string;
}
//# sourceMappingURL=deviceManager.d.ts.map