UNPKG

@twg-group/container-manager

Version:

Container management for Docker, Swarm, Kubernetes

33 lines 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseStrategy = void 0; const common_1 = require("@nestjs/common"); class BaseStrategy { logger; constructor(logger) { this.logger = logger; } validateConfig(config) { if (config.ports) { this.validatePortUniqueness(config.ports); } } validatePortUniqueness(ports) { const hostPorts = ports.map((p) => p.hostPort); if (new Set(hostPorts).size !== hostPorts.length) { throw new Error('Duplicate host ports detected'); } } generateName(prefix = 'container') { return `${prefix}-${Math.random().toString(36).slice(2, 8)}`; } handleError(error, context = '') { const err = error; const message = err.message || 'Unknown error occurred'; const statusCode = err.statusCode ?? 500; this.logger.error(error); throw new common_1.HttpException({ message, context: context || undefined, statusCode }, statusCode); } } exports.BaseStrategy = BaseStrategy; //# sourceMappingURL=base.strategy.js.map