Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | 59x 59x 59x 142x 142x 142x 142x 142x 142x 142x 142x 2x 2x 2x 1x 2x 2x 1x 2x 2x 1x 2x 2x 1x | import { Request, Response } from 'express'; import Controller from '../controller'; import { IUnleashServices } from '../../types/services'; import { IUnleashConfig } from '../../types/option'; import { ISortOrder } from '../../types/model'; import EnvironmentService from '../../services/environment-service'; import { Logger } from '../../logger'; import { ADMIN } from '../../types/permissions'; interface EnvironmentParam { name: string; } export class EnvironmentsController extends Controller { private logger: Logger; private service: EnvironmentService; constructor( config: IUnleashConfig, { environmentService }: Pick<IUnleashServices, 'environmentService'>, ) { super(config); this.logger = config.getLogger('admin-api/environments-controller.ts'); this.service = environmentService; this.get('/', this.getAll); this.put('/sort-order', this.updateSortOrder, ADMIN); this.get('/:name', this.getEnv); this.post('/:name/on', this.toggleEnvironmentOn, ADMIN); this.post('/:name/off', this.toggleEnvironmentOff, ADMIN); } async getAll(req: Request, res: Response): Promise<void> { const environments = await this.service.getAll(); res.status(200).json({ version: 1, environments }); } async updateSortOrder( req: Request<any, any, ISortOrder, any>, res: Response, ): Promise<void> { await this.service.updateSortOrder(req.body); res.status(200).end(); } async toggleEnvironmentOn( req: Request<EnvironmentParam, any, any, any>, res: Response, ): Promise<void> { const { name } = req.params; await this.service.toggleEnvironment(name, true); res.status(204).end(); } async toggleEnvironmentOff( req: Request<EnvironmentParam, any, any, any>, res: Response, ): Promise<void> { const { name } = req.params; await this.service.toggleEnvironment(name, false); res.status(204).end(); } async getEnv( req: Request<EnvironmentParam, any, any, any>, res: Response, ): Promise<void> { const { name } = req.params; const env = await this.service.get(name); res.status(200).json(env); } } |