@upv/ushi-shared
Version:
Shared DTOs, types, and utilities for the USHI platform (LMS, Trials, Social, Wallet).
29 lines (28 loc) • 835 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const decode = require('jwt-decode'); // ✅ Force CommonJS interop
class Token {
constructor(event) {
this._token = this.decode(event);
}
decode(event) {
const token = event.headers.Authorization;
if (!token)
return null;
return decode(token);
}
get userId() {
if (!this._token?.sub)
return '';
return this._token.sub;
}
get phoneNumber() {
// if (!this._token?.phone_number) throw new Error('Token error (phone_number)');
return this._token?.phone_number || null;
}
get email() {
// if (!this._token?.email) throw new Error('Token error (email)');
return this._token?.email || null;
}
}
exports.default = Token;