tickethead-sdk
Version:
SDK for the Tickethead API
37 lines • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserType = void 0;
exports.extractOrganizersFromJwt = extractOrganizersFromJwt;
exports.getParsedJwt = getParsedJwt;
var UserType;
(function (UserType) {
UserType["Registered"] = "registered";
UserType["Anonymous"] = "anon";
UserType["Guest"] = "guest";
})(UserType || (exports.UserType = UserType = {}));
function extractOrganizersFromJwt(jwt) {
const payload = getParsedJwt(jwt.token);
if ((payload === null || payload === void 0 ? void 0 : payload.permissions) != null) {
return Object.keys(payload === null || payload === void 0 ? void 0 : payload.permissions);
}
return [];
}
/**
* Returns a JS object representation of a Javascript Web Token from its common encoded
* string form.
*
* @template T the expected shape of the parsed token
* @param {string} token a Javascript Web Token in base64 encoded, `.` separated form
* @returns {(T | undefined)} an object-representation of the token
* or undefined if parsing failed
*/
function getParsedJwt(token) {
try {
// TODO: Don't use atob if the code is running on node
return JSON.parse(atob(token.split('.')[1]));
}
catch (_a) {
return undefined;
}
}
//# sourceMappingURL=jwt.js.map