UNPKG

@ycmd/creds

Version:

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

17 lines (12 loc) 3.07 kB
'use strict'; var chunkCSGQ5YH5_js = require('./chunk-CSGQ5YH5.js'); var err = require('@lsk4/err'); var log = require('@lsk4/log'); var u = require('axios'); var fishbird = require('fishbird'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var u__default = /*#__PURE__*/_interopDefault(u); var d=class{static{chunkCSGQ5YH5_js.a(this,"Service");}projectId;projectName;projectPath;projectCredsUrl;token;server;force;client;log=log.createLogger(this.constructor.name);constructor(t){Object.assign(this,t),this.checkConfig(),this.client=this.createClient(t);}createClient(t){return u__default.default.create(t)}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")}async uploadSecret(t,s){throw new err.Err("NOT_IMPLEMENTED")}async uploadVariable(t,s){throw new err.Err("NOT_IMPLEMENTED")}async removeOldHooks(){}async uploadHook(t){}async uploadHooks(t){if(!t)throw new err.Err("!env");let{hooks:s=[]}=t;try{await this.removeOldHooks();}catch(i){this.log.error("[ERR] Old hooks removing failed:",err.Err.getMessage(i));}await fishbird.map(s,async(i,n)=>{try{await this.uploadHook(i),this.log.info(`[OK] Hook ${n} uploaded`);}catch(r){this.log.error(`[ERR] Hook ${n} not uploaded:`,err.Err.getMessage(r));}});}async uploadAll(t){if(!t)throw new err.Err("!env");let{secrets:s={},variables:i={},files:n=[]}=t;await this.uploadHooks(t),await fishbird.map(Object.entries(s),async([r,o])=>{try{await this.uploadSecret(r,o),this.log.info(`[OK] Secret ${r} uploaded`);}catch(a){this.log.error(`[ERR] Secret ${r} not uploaded, because`,err.Err.getMessage(a)),this.log.error(a);}}),await fishbird.map(Object.entries(i),async([r,o])=>{try{await this.uploadVariable(r,o),this.log.info(`[OK] Variable ${r} uploaded`);}catch(a){this.log.error(`[ERR] Variable ${r} not uploaded, because`,err.Err.getMessage(a));}}),await fishbird.map(n,async({name:r,credType:o,content:a})=>{let c=r,h=a;try{if(o==="variable")await this.uploadVariable(c,h);else if(o==="secret")await this.uploadSecret(c,h);else if(o==="skip"){this.log.debug(`[SKIP] File ${c} uploaded as ${o}`);return}else throw new err.Err("unknown credType",{credType:o});this.log.info(`[OK] File ${c} uploaded as ${o}`);}catch(g){this.log.error(`[ERR] File ${c} not uploaded as ${o}, because`,err.Err.getMessage(g));}});}}; exports.a = d; //# sourceMappingURL=out.js.map //# sourceMappingURL=chunk-6BQHMOYI.js.map