UNPKG

@ycmd/creds

Version:

LSK.js CLI Creds is the easiest way to manage GitHub / Gitlab secrets and credentials

154 lines (149 loc) 4.46 kB
'use strict'; var chunkPOLJ2ZZ2_js = require('./chunk-POLJ2ZZ2.js'); var err = require('@lsk4/err'); var log = require('@lsk4/log'); var axios = require('axios'); var fishbird = require('fishbird'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var axios__default = /*#__PURE__*/_interopDefault(axios); var Service = class { static { chunkPOLJ2ZZ2_js.__name(this, "Service"); } projectId; projectName; projectPath; projectCredsUrl; token; server; force; client; log = log.createLogger(this.constructor.name); constructor(options) { Object.assign(this, options); this.checkConfig(); this.client = this.createClient(options); } createClient(clientOptions) { return axios__default.default.create(clientOptions); } checkConfig() { if (!this.projectId) throw new err.Err("!projectId"); if (!this.projectName) throw new err.Err("!projectName"); if (!this.projectPath) throw new err.Err("!projectPath"); if (!this.projectCredsUrl) throw new err.Err("!projectCredsUrl"); if (!this.server) throw new err.Err("!server"); if (!this.token) throw new err.Err("!token"); } getBaseUrl() { throw new err.Err("NOT_IMPLEMENTED"); } getHeaders() { return {}; } getServiceLink() { throw new err.Err("NOT_IMPLEMENTED"); } getProjectName() { return this.projectName; } getProjectId() { return this.projectId; } getProjectPath() { return this.projectPath; } getProjectUrl() { throw new err.Err("NOT_IMPLEMENTED"); } getProjectCredsUrl() { return this.projectCredsUrl; } getProjectCICDSettingURL() { throw new err.Err("NOT_IMPLEMENTED"); } // eslint-disable-next-line @typescript-eslint/no-unused-vars async uploadSecret(key, content) { throw new err.Err("NOT_IMPLEMENTED"); } // eslint-disable-next-line @typescript-eslint/no-unused-vars async uploadVariable(key, content) { throw new err.Err("NOT_IMPLEMENTED"); } async removeOldHooks() { } // eslint-disable-next-line @typescript-eslint/no-unused-vars async uploadHook(dataHook) { } async uploadHooks(env) { if (!env) throw new err.Err("!env"); const { hooks = [] } = env; try { await this.removeOldHooks(); } catch (err$1) { this.log.error(`[ERR] Old hooks removing failed:`, err.Err.getMessage(err$1)); } await fishbird.map(hooks, async (dataHook, index) => { try { await this.uploadHook(dataHook); this.log.info(`[OK] Hook ${index} uploaded`); } catch (err$1) { this.log.error(`[ERR] Hook ${index} not uploaded:`, err.Err.getMessage(err$1)); } }); } async uploadAll(env) { if (!env) throw new err.Err("!env"); const { secrets = {}, variables = {}, files = [] } = env; await this.uploadHooks(env); await fishbird.map(Object.entries(secrets), async ([key, value]) => { try { await this.uploadSecret(key, value); this.log.info(`[OK] Secret ${key} uploaded`); } catch (err$1) { this.log.error(`[ERR] Secret ${key} not uploaded, because`, err.Err.getMessage(err$1)); this.log.error(err$1); } }); await fishbird.map(Object.entries(variables), async ([key, value]) => { try { await this.uploadVariable(key, value); this.log.info(`[OK] Variable ${key} uploaded`); } catch (err$1) { this.log.error(`[ERR] Variable ${key} not uploaded, because`, err.Err.getMessage(err$1)); } }); await fishbird.map(files, async ({ name, credType, content }) => { const key = name; const value = content; try { if (credType === "variable") { await this.uploadVariable(key, value); } else if (credType === "secret") { await this.uploadSecret(key, value); } else if (credType === "skip") { this.log.debug(`[SKIP] File ${key} uploaded as ${credType}`); return; } else { throw new err.Err("unknown credType", { credType }); } this.log.info(`[OK] File ${key} uploaded as ${credType}`); } catch (err$1) { this.log.error(`[ERR] File ${key} not uploaded as ${credType}, because`, err.Err.getMessage(err$1)); } }); } }; exports.Service = Service; //# sourceMappingURL=out.js.map //# sourceMappingURL=chunk-SDMJ4Z2K.js.map