UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

53 lines 2.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const json2csv_1 = require("json2csv"); const controller_1 = __importDefault(require("../controller")); const permissions_1 = require("../../types/permissions"); const create_response_schema_1 = require("../../openapi/util/create-response-schema"); class InstanceAdminController extends controller_1.default { constructor(config, { instanceStatsService, openApiService, }) { super(config); this.openApiService = openApiService; this.instanceStatsService = instanceStatsService; this.route({ method: 'get', path: '/statistics/csv', handler: this.getStatisticsCSV, permission: permissions_1.NONE, }); this.route({ method: 'get', path: '/statistics', handler: this.getStatistics, permission: permissions_1.NONE, middleware: [ openApiService.validPath({ tags: ['Instance Admin'], operationId: 'getInstanceAdminStats', responses: { 200: (0, create_response_schema_1.createResponseSchema)('instanceAdminStatsSchema'), }, deprecated: true, }), ], }); } async getStatistics(req, res) { const instanceStats = await this.instanceStatsService.getSignedStats(); res.json(instanceStats); } async getStatisticsCSV(req, res) { const instanceStats = await this.instanceStatsService.getSignedStats(); const fileName = `unleash-${instanceStats.instanceId}-${Date.now()}.csv`; const json2csvParser = new json2csv_1.Parser(); const csv = json2csvParser.parse(instanceStats); res.contentType('csv'); res.attachment(fileName); res.send(csv); } } exports.default = InstanceAdminController; //# sourceMappingURL=instance-admin.js.map