@ycmd/creds
Version:
LSK.js CLI Creds is the easiest way to manage GitHub / Gitlab secrets and credentials
11 lines (9 loc) • 2.77 kB
JavaScript
import { a } from './chunk-CSGQ5YH5.js';
import { Err } from '@lsk4/err';
import { createLogger } from '@lsk4/log';
import u from 'axios';
import { map } from 'fishbird';
var d=class{static{a(this,"Service");}projectId;projectName;projectPath;projectCredsUrl;token;server;force;client;log=createLogger(this.constructor.name);constructor(t){Object.assign(this,t),this.checkConfig(),this.client=this.createClient(t);}createClient(t){return u.create(t)}checkConfig(){if(!this.projectId)throw new Err("!projectId");if(!this.projectName)throw new Err("!projectName");if(!this.projectPath)throw new Err("!projectPath");if(!this.projectCredsUrl)throw new Err("!projectCredsUrl");if(!this.server)throw new Err("!server");if(!this.token)throw new Err("!token")}getBaseUrl(){throw new Err("NOT_IMPLEMENTED")}getHeaders(){return {}}getServiceLink(){throw new Err("NOT_IMPLEMENTED")}getProjectName(){return this.projectName}getProjectId(){return this.projectId}getProjectPath(){return this.projectPath}getProjectUrl(){throw new Err("NOT_IMPLEMENTED")}getProjectCredsUrl(){return this.projectCredsUrl}getProjectCICDSettingURL(){throw new Err("NOT_IMPLEMENTED")}async uploadSecret(t,s){throw new Err("NOT_IMPLEMENTED")}async uploadVariable(t,s){throw new Err("NOT_IMPLEMENTED")}async removeOldHooks(){}async uploadHook(t){}async uploadHooks(t){if(!t)throw new Err("!env");let{hooks:s=[]}=t;try{await this.removeOldHooks();}catch(i){this.log.error("[ERR] Old hooks removing failed:",Err.getMessage(i));}await 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.getMessage(r));}});}async uploadAll(t){if(!t)throw new Err("!env");let{secrets:s={},variables:i={},files:n=[]}=t;await this.uploadHooks(t),await 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.getMessage(a)),this.log.error(a);}}),await 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.getMessage(a));}}),await 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("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.getMessage(g));}});}};
export { d as a };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=chunk-B4XXL2LI.js.map