unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
58 lines • 2.54 kB
JavaScript
;
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 permissions_1 = require("../../../types/permissions");
const create_request_schema_1 = require("../../../openapi/util/create-request-schema");
const standard_responses_1 = require("../../../openapi/util/standard-responses");
const PREFIX = '/:projectId/environments';
class EnvironmentsController extends controller_1.default {
constructor(config, { environmentService, openApiService, }) {
super(config);
this.logger = config.getLogger('admin-api/project/environments.ts');
this.environmentService = environmentService;
this.route({
method: 'post',
path: PREFIX,
handler: this.addEnvironmentToProject,
permission: permissions_1.UPDATE_PROJECT,
middleware: [
openApiService.validPath({
tags: ['Projects'],
operationId: 'addEnvironmentToProject',
requestBody: (0, create_request_schema_1.createRequestSchema)('projectEnvironmentSchema'),
responses: { 200: standard_responses_1.emptyResponse },
}),
],
});
this.route({
method: 'delete',
path: `${PREFIX}/:environment`,
acceptAnyContentType: true,
handler: this.removeEnvironmentFromProject,
permission: permissions_1.UPDATE_PROJECT,
middleware: [
openApiService.validPath({
tags: ['Projects'],
operationId: 'removeEnvironmentFromProject',
responses: { 200: standard_responses_1.emptyResponse },
}),
],
});
}
async addEnvironmentToProject(req, res) {
const { projectId } = req.params;
const { environment } = req.body;
await this.environmentService.addEnvironmentToProject(environment, projectId);
res.status(200).end();
}
async removeEnvironmentFromProject(req, res) {
const { projectId, environment } = req.params;
await this.environmentService.removeEnvironmentFromProject(environment, projectId);
res.status(200).end();
}
}
exports.default = EnvironmentsController;
//# sourceMappingURL=environments.js.map