UNPKG

@becomes/cms

Version:

Simple CMS for building APIs.

54 lines 2.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GitUtil = void 0; var util = require("util"); var childProcess = require("child_process"); var path = require("path"); var purple_cheetah_1 = require("purple-cheetah"); var GitUtil = (function () { function GitUtil() { } GitUtil.init = function () { GitUtil.timer = setInterval(GitUtil.checkBuffer, 60000); }; GitUtil.checkBuffer = function () { if (GitUtil.mediaBuffer.length > 0) { var commitMessageParts = GitUtil.mediaBuffer.map(function (e) { return e.name; }); if (process.env.GIT_USERNAME && process.env.GIT_USERNAME !== 'github-username' && process.env.GIT_PASSWORD && process.env.GIT_PASSWORD !== 'github-password' && process.env.GIT_REPO && process.env.GIT_REPO_OWNER && process.env.GIT_HOST) { util .promisify(childProcess.exec)("git add " + path.join(process.env.PROJECT_ROOT, 'uploads') + "/. && " + ("git commit -m \"CMS Media, changes to: " + commitMessageParts.join(', ') + "\" && ") + ("git push \"https://" + process.env.GIT_USERNAME + ":" + process.env.GIT_PASSWORD + "@") + (process.env.GIT_HOST + "/" + process.env.GIT_REPO_OWNER + "/" + process.env.GIT_REPO + "\"")) .then(function (output) { GitUtil.logger.info('git-push', "Media pushed to Git repository."); GitUtil.mediaBuffer = []; }) .catch(function (e) { GitUtil.logger.error('git-push', e); GitUtil.mediaBuffer = []; }); } else { GitUtil.logger.info('checkBuffer', "Github not setup."); GitUtil.mediaBuffer = []; } } }; GitUtil.push = function (media) { GitUtil.mediaBuffer.push(media); }; GitUtil.logger = new purple_cheetah_1.Logger('GitUtil'); GitUtil.mediaBuffer = []; return GitUtil; }()); exports.GitUtil = GitUtil; //# sourceMappingURL=git-util.js.map