UNPKG

ton-logger

Version:

Logger set and configurations for datadog

46 lines (45 loc) 1.59 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUserPayload = void 0; const remove_empty_keys_1 = __importDefault(require("./remove-empty-keys")); const getUserPayload = (event) => { const { headers } = event; if (!headers) { return undefined; } const authorization = headers.Authorization || headers.authorization; if (!authorization) { return undefined; } const payload = authorization.split('.')[1]; if (!payload) { return undefined; } try { return JSON.parse(Buffer.from(payload, 'base64').toString('utf-8')); } catch (error) { return undefined; } }; exports.getUserPayload = getUserPayload; exports.default = (event) => { var _a; const context = (_a = event.requestContext) === null || _a === void 0 ? void 0 : _a.authorizer; const payload = (0, exports.getUserPayload)(event); if (!payload) { return undefined; } return (0, remove_empty_keys_1.default)({ id: payload.sub, status: context === null || context === void 0 ? void 0 : context.status, groups: payload.groups || payload['cognito:groups'], email: payload.email, type: (context === null || context === void 0 ? void 0 : context.type) || payload.type, companyId: context === null || context === void 0 ? void 0 : context.companyId, scope: payload.scope, }); };