UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

116 lines (115 loc) 5.31 kB
"use strict"; 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;