@localzet/xtls-sdk
Version:
TypeScript SDK for XRAY/AURA Core
37 lines • 1.32 kB
TypeScript
import { User } from '../../../xray-protos/common/protocol/user';
import { DecodedUser } from './types';
/**
* Decodes a User object into a DecodedUser with credentials and metadata.
* The function extracts account credentials based on the account type and protocol.
*
* @param user - The User object to decode, containing account information including:
* - email: User's email address used as username
* - level: User's permission level
* - account: Object containing account type and encoded credentials
* @returns DecodedUser object containing:
* - Protocol-specific credentials decoded from the account value
* - Protocol identifier
* - Username (from email)
* - Permission level
* @throws Error if user object is missing account information
* @throws Error if account type is not recognized
*
* @example
* const user = {
* email: "user@example.com",
* level: 1,
* account: {
* type: "standard",
* value: Buffer.from("...") // Encoded credentials
* }
* };
* const decoded = decodeUser(user);
* // Returns: {
* // standard: { ... decoded credentials ... },
* // protocol: "standard",
* // username: "user@example.com",
* // level: 1
* // }
*/
export declare const decodeUser: (user: User) => DecodedUser;
//# sourceMappingURL=decode-user.d.ts.map