@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
116 lines (115 loc) • 5.31 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
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 __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
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 __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const dist_1 = require("tsoa/dist");
const interfaces_1 = require("../interfaces");
const export_pdf_1 = __importStar(require("../modules/capture/export-pdf")), exportPdf_1 = export_pdf_1;
const screenshot_2 = __importStar(require("../modules/capture/screenshot")), screenshot_1 = screenshot_2;
const MediaService_1 = __importDefault(require("../services/MediaService"));
const BaseController_1 = __importDefault(require("./BaseController"));
let UtilityController = class UtilityController extends BaseController_1.default {
/**
* Export a webpage to PDF
*/
async exportWebpagePDF(body, queryParams) {
if (!this.filter.url)
return (0, interfaces_1.respondFailure)(`Param "url" is required.`);
// process
try {
const result = await (0, export_pdf_1.default)(this.filter.url, { ...body });
if (!result)
return (0, interfaces_1.respondFailure)(`Something wrong...`);
// success -> write to db
delete result.buffer;
const mediaSvc = new MediaService_1.default(this.ownership);
const media = await mediaSvc.create(result);
return (0, interfaces_1.respondSuccess)({ data: media });
}
catch (e) {
return (0, interfaces_1.respondFailure)(`Internal server error: ${e}`);
}
}
/**
* Capture a webpage screenshot
*/
async captureScreenshot(body = {}, queryParams) {
if (!this.filter.url)
return (0, interfaces_1.respondFailure)(`Param "url" is required.`);
// process
try {
const result = await (0, screenshot_2.default)(this.filter.url, { ...body });
if (!result)
return (0, interfaces_1.respondFailure)(`Something wrong...`);
// success -> write to db
delete result.buffer;
const mediaSvc = new MediaService_1.default(this.ownership);
const media = await mediaSvc.create(result);
return (0, interfaces_1.respondSuccess)({ data: media });
}
catch (e) {
return (0, interfaces_1.respondFailure)(`Internal server error: ${e}`);
}
}
};
__decorate([
(0, dist_1.Security)("api_key"),
(0, dist_1.Security)("jwt"),
(0, dist_1.Post)("/export-pdf"),
__param(0, (0, dist_1.Body)()),
__param(1, (0, dist_1.Queries)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object, Object]),
__metadata("design:returntype", Promise)
], UtilityController.prototype, "exportWebpagePDF", null);
__decorate([
(0, dist_1.Security)("api_key"),
(0, dist_1.Security)("jwt"),
(0, dist_1.Post)("/capture-screenshot"),
__param(0, (0, dist_1.Body)()),
__param(1, (0, dist_1.Queries)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object, Object]),
__metadata("design:returntype", Promise)
], UtilityController.prototype, "captureScreenshot", null);
UtilityController = __decorate([
(0, dist_1.Tags)("Utility"),
(0, dist_1.Route)("utility")
], UtilityController);
exports.default = UtilityController;