Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const jsonwebtoken_1 = require("jsonwebtoken");
const log_1 = require("../../../log");
const endpoints_1 = require("../endpoints");
exports.default = {
    Query: {
        getKeyToken: async (obj, args, context, info) => {
            const { alias, requestor } = args;
            const params = {
                alias,
                requestor,
            };
            const response = await context.microservices.getKeyToken(params, undefined);
            // @todo @Anto based on Params we need to get secretKey or service token in a single query
            if (true) {
                const secretKey = generateToken(response);
                const additionalProps = {
                    secretKey,
                };
                const serviceToken = await generateServiceToken(obj, args, context, info, additionalProps);
                return serviceToken;
            }
            else {
                return response;
            }
        },
        getServiceToken: async (obj, args, context, info) => {
            const response = generateServiceToken(obj, args, context, info);
            return response;
        },
    },
};
function generateServiceToken(obj, args, context, info, additionalProps = { secretKey: '' }) {
    const { requestor } = args;
    const { secretKey } = additionalProps;
    const params = {
        requestor,
        secretKey,
    };
    const serviceTokenParams = getServiceTokenParams(params);
    const serviceToken = context.microservices.getServiceToken(serviceTokenParams, undefined);
    return serviceToken;
}
function getServiceTokenParams(params) {
    // return toServiceTokenParams(formatServiceTokenParams(secretKey))
    return endpoints_1.toServiceTokenParams(params);
}
function toTimes() {
    // should move this to it's own function
    let timeNow = new Date().getTime();
    timeNow = Math.floor(timeNow / 1000);
    const timeThen = 60 * 60 + timeNow;
    return { then: timeThen, now: timeNow };
}
function toParams(times) {
    // remember to use eslint
    const claims = {
        requestedServices: ['pim'],
        aud: 'promotionadmin',
        exp: times.then,
        iat: times.now,
        iss: 'SkavaAPIAdmin',
    };
    return claims;
}
function generateToken(secretKeyObj) {
    // const signingKey = '4tmLIS0LtAiEI062y/wdBw=='
    const signingKey = secretKeyObj.key || '';
    if (!signingKey) {
        log_1.logger.log('generateToken sign-in key is missing', signingKey);
    }
    const times = toTimes();
    const claims = toParams(times);
    const bufferSigner = new Buffer(signingKey, 'base64');
    const token = jsonwebtoken_1.sign(claims, bufferSigner, { algorithm: 'HS512' });
    return token;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGhxbC1tb2R1bGVzL21pY3Jvc2VydmljZXMvcmVzb2x2ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwrQ0FBbUM7QUFDbkMsc0NBQXFDO0FBQ3JDLDRDQUFtRDtBQUVuRCxrQkFBZTtJQUNiLEtBQUssRUFBRTtRQUNMLFdBQVcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUE7WUFDakMsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsS0FBSztnQkFDTCxTQUFTO2FBQ1YsQ0FBQTtZQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sT0FBTyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQ3RELE1BQU0sRUFDTixTQUFTLENBQ1YsQ0FBQTtZQUVELDBGQUEwRjtZQUMxRixJQUFJLElBQUksRUFBRTtnQkFDUixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3pDLE1BQU0sZUFBZSxHQUFHO29CQUN0QixTQUFTO2lCQUNWLENBQUE7Z0JBQ0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxvQkFBb0IsQ0FDN0MsR0FBRyxFQUNILElBQUksRUFDSixPQUFPLEVBQ1AsSUFBSSxFQUNKLGVBQWUsQ0FDaEIsQ0FBQTtnQkFDRCxPQUFPLFlBQVksQ0FBQTthQUNwQjtpQkFBTTtnQkFDTCxPQUFPLFFBQVEsQ0FBQTthQUNoQjtRQUNILENBQUM7UUFDRCxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2xELE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQy9ELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7S0FDRjtDQUNGLENBQUE7QUFFRCxTQUFTLG9CQUFvQixDQUMzQixHQUFHLEVBQ0gsSUFBSSxFQUNKLE9BQU8sRUFDUCxJQUFJLEVBQ0osZUFBZSxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUVuQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFBO0lBQzFCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUE7SUFDckMsTUFBTSxNQUFNLEdBQUc7UUFDYixTQUFTO1FBQ1QsU0FBUztLQUNWLENBQUE7SUFDRCxNQUFNLGtCQUFrQixHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUN4RCxrQkFBa0IsRUFDbEIsU0FBUyxDQUNWLENBQUE7SUFDRCxPQUFPLFlBQVksQ0FBQTtBQUNyQixDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxNQUFNO0lBQ25DLG1FQUFtRTtJQUNuRSxPQUFPLGdDQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ3JDLENBQUM7QUFFRCxTQUFTLE9BQU87SUFDZCx3Q0FBd0M7SUFDeEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUE7SUFDcEMsTUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUE7SUFFbEMsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFBO0FBQ3pDLENBQUM7QUFDRCxTQUFTLFFBQVEsQ0FBQyxLQUFLO0lBQ3JCLHlCQUF5QjtJQUN6QixNQUFNLE1BQU0sR0FBRztRQUNiLGlCQUFpQixFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzFCLEdBQUcsRUFBRSxnQkFBZ0I7UUFDckIsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2YsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1FBQ2QsR0FBRyxFQUFFLGVBQWU7S0FDckIsQ0FBQTtJQUVELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELFNBQVMsYUFBYSxDQUFDLFlBQVk7SUFDakMsZ0RBQWdEO0lBQ2hELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFBO0lBRXpDLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixZQUFNLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0tBQy9EO0lBRUQsTUFBTSxLQUFLLEdBQUcsT0FBTyxFQUFFLENBQUE7SUFDdkIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNyRCxNQUFNLEtBQUssR0FBRyxtQkFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUVoRSxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUMifQ==