@twg-group/container-manager
Version:
Container management for Docker, Swarm, Kubernetes
111 lines • 4.69 kB
JavaScript
;
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); }
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContainerController = void 0;
const common_1 = require("@nestjs/common");
const container_service_1 = require("./container.service");
const _dto_1 = require("./dto/index");
const list_filter_dto_1 = require("./dto/list-filter.dto");
let ContainerController = class ContainerController {
containerService;
constructor(containerService) {
this.containerService = containerService;
}
async start(id) {
await this.containerService.start(id);
return { status: 'started' };
}
async stop(id, timeout) {
await this.containerService.stop(id, timeout);
return { status: 'stopped' };
}
async deploy(config) {
const id = await this.containerService.deploy(config);
return { id };
}
async list(filter) {
const containers = await this.containerService.list(filter);
return { containers };
}
async byId(id) {
return this.containerService.getById(id);
}
async logs(id, since, tail) {
const logs = await this.containerService.logs(id, since, tail);
return { logs };
}
async remove(id) {
await this.containerService.remove(id);
}
};
exports.ContainerController = ContainerController;
__decorate([
(0, common_1.Post)(':id/start'),
__param(0, (0, common_1.Param)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "start", null);
__decorate([
(0, common_1.Post)(':id/stop'),
__param(0, (0, common_1.Param)('id')),
__param(1, (0, common_1.Query)('timeout')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, Number]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "stop", null);
__decorate([
(0, common_1.Post)(),
(0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [_dto_1.DeployConfigDto]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "deploy", null);
__decorate([
(0, common_1.Get)(),
__param(0, (0, common_1.Query)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [list_filter_dto_1.ListFilterDto]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "list", null);
__decorate([
(0, common_1.Get)(':id'),
__param(0, (0, common_1.Param)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "byId", null);
__decorate([
(0, common_1.Get)(':id/logs'),
__param(0, (0, common_1.Param)('id')),
__param(1, (0, common_1.Query)('since')),
__param(2, (0, common_1.Query)('tail')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String, String, Number]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "logs", null);
__decorate([
(0, common_1.Delete)(':id'),
(0, common_1.HttpCode)(common_1.HttpStatus.NO_CONTENT),
__param(0, (0, common_1.Param)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
__metadata("design:returntype", Promise)
], ContainerController.prototype, "remove", null);
exports.ContainerController = ContainerController = __decorate([
(0, common_1.Controller)('containers'),
__metadata("design:paramtypes", [container_service_1.ContainerService])
], ContainerController);
//# sourceMappingURL=container.controller.js.map