UNPKG

unleash-server

Version:

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

49 lines 2.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const controller_1 = __importDefault(require("../../controller")); const features_1 = __importDefault(require("./features")); const environments_1 = __importDefault(require("./environments")); const health_report_1 = __importDefault(require("./health-report")); const variants_1 = __importDefault(require("./variants")); const permissions_1 = require("../../../types/permissions"); const projects_schema_1 = require("../../../openapi/spec/projects-schema"); const serialize_dates_1 = require("../../../types/serialize-dates"); const create_response_schema_1 = require("../../../openapi/util/create-response-schema"); class ProjectApi extends controller_1.default { constructor(config, services) { super(config); this.projectService = services.projectService; this.openApiService = services.openApiService; this.route({ path: '', method: 'get', handler: this.getProjects, permission: permissions_1.NONE, middleware: [ services.openApiService.validPath({ tags: ['Projects'], operationId: 'getProjects', responses: { 200: (0, create_response_schema_1.createResponseSchema)('projectsSchema'), }, }), ], }); this.use('/', new features_1.default(config, services).router); this.use('/', new environments_1.default(config, services).router); this.use('/', new health_report_1.default(config, services).router); this.use('/', new variants_1.default(config, services).router); } async getProjects(req, res) { const { user } = req; const projects = await this.projectService.getProjects({ id: 'default', }, user.id); this.openApiService.respondWithValidation(200, res, projects_schema_1.projectsSchema.$id, { version: 1, projects: (0, serialize_dates_1.serializeDates)(projects) }); } } exports.default = ProjectApi; //# sourceMappingURL=index.js.map