UNPKG

envilder

Version:

A CLI that securely centralizes your environment variables from AWS SSM as a single source of truth

90 lines 4.74 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { inject, injectable } from 'inversify'; import { InvalidArgumentError } from '../../domain/errors/DomainErrors.js'; import { OperationMode } from '../../domain/OperationMode.js'; import { TYPES } from '../../types.js'; import { PullSsmToEnvCommand } from '../pullSsmToEnv/PullSsmToEnvCommand.js'; import { PushEnvToSsmCommand } from '../pushEnvToSsm/PushEnvToSsmCommand.js'; import { PushSingleCommand } from '../pushSingle/PushSingleCommand.js'; let DispatchActionCommandHandler = class DispatchActionCommandHandler { constructor(pullHandler, pushHandler, pushSingleHandler) { this.pullHandler = pullHandler; this.pushHandler = pushHandler; this.pushSingleHandler = pushSingleHandler; } handleCommand(command) { return __awaiter(this, void 0, void 0, function* () { switch (command.mode) { case OperationMode.PUSH_SINGLE: yield this.handlePushSingle(command); break; case OperationMode.PUSH_ENV_TO_SSM: yield this.handlePush(command); break; case OperationMode.PULL_SSM_TO_ENV: yield this.handlePull(command); break; default: yield this.handlePull(command); break; } }); } handlePushSingle(command) { return __awaiter(this, void 0, void 0, function* () { if (!command.key || !command.value || !command.ssmPath) { throw new InvalidArgumentError('Missing required arguments: --key, --value, and --ssm-path'); } const pushSingleCommand = PushSingleCommand.create(command.key, command.value, command.ssmPath); yield this.pushSingleHandler.handle(pushSingleCommand); }); } handlePush(command) { return __awaiter(this, void 0, void 0, function* () { this.validateMapAndEnvFileOptions(command); const pushEnvToSsmCommand = PushEnvToSsmCommand.create(command.map, command.envfile); yield this.pushHandler.handle(pushEnvToSsmCommand); }); } handlePull(command) { return __awaiter(this, void 0, void 0, function* () { this.validateMapAndEnvFileOptions(command); const pullSsmToEnvCommand = PullSsmToEnvCommand.create(command.map, command.envfile); yield this.pullHandler.handle(pullSsmToEnvCommand); }); } validateMapAndEnvFileOptions(command) { if (!command.map || !command.envfile) { throw new InvalidArgumentError('Missing required arguments: --map and --envfile'); } } }; DispatchActionCommandHandler = __decorate([ injectable(), __param(0, inject(TYPES.PullSsmToEnvCommandHandler)), __param(1, inject(TYPES.PushEnvToSsmCommandHandler)), __param(2, inject(TYPES.PushSingleCommandHandler)), __metadata("design:paramtypes", [Function, Function, Function]) ], DispatchActionCommandHandler); export { DispatchActionCommandHandler }; //# sourceMappingURL=DispatchActionCommandHandler.js.map