@yieldbits/probot
Version:
a probot integration library for nestjs projects
54 lines • 2.15 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createOctokit = exports.createSmee = exports.createProbot = exports.parseConfig = void 0;
const get_private_key_1 = require("@probot/get-private-key");
const probot_1 = require("probot");
const smee_client_1 = __importDefault(require("smee-client"));
const rest_1 = require("@octokit/rest");
const auth_app_1 = require("@octokit/auth-app");
const parseConfig = (config) => {
return {
appId: config.appId,
privateKey: (0, get_private_key_1.getPrivateKey)({
env: { PRIVATE_KEY: config.privateKey },
}),
webhookSecret: config.webhookSecret,
ghUrl: config.ghUrl || 'https://api.github.com',
webhookProxy: config.webhookProxy,
webhookPath: config.webhookPath,
clientId: config.clientId,
clientSecret: config.clientSecret,
};
};
exports.parseConfig = parseConfig;
const createProbot = (config) => {
const parsedConfig = (0, exports.parseConfig)(config);
return new probot_1.Probot({
appId: parsedConfig.appId,
privateKey: parsedConfig.privateKey,
secret: parsedConfig.webhookSecret,
baseUrl: parsedConfig.ghUrl,
});
};
exports.createProbot = createProbot;
const createSmee = (config) => {
const parsedConfig = (0, exports.parseConfig)(config);
return new smee_client_1.default({
source: parsedConfig.webhookProxy,
target: parsedConfig.webhookPath,
logger: console,
});
};
exports.createSmee = createSmee;
const createOctokit = (config) => {
return new rest_1.Octokit({
authStrategy: auth_app_1.createAppAuth,
baseUrl: config.probot.ghUrl,
auth: Object.assign(Object.assign({}, config.auth), { appId: config.probot.appId, privateKey: config.probot.privateKey, clientId: config.probot.clientId, clientSecret: config.probot.clientSecret }),
});
};
exports.createOctokit = createOctokit;
//# sourceMappingURL=probot.helpers.js.map