All files / src/lib/routes/admin-api feature-type.ts

100% Statements 10/10
100% Branches 0/0
100% Functions 2/2
100% Lines 10/10

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            59x   59x   59x                 141x 141x 141x   141x       1x 1x       59x  
import { Request, Response } from 'express';
import { IUnleashServices } from '../../types/services';
import FeatureTypeService from '../../services/feature-type-service';
import { Logger } from '../../logger';
import { IUnleashConfig } from '../../types/option';
 
const Controller = require('../controller');
 
const version = 1;
 
export default class FeatureTypeController extends Controller {
    private featureTypeService: FeatureTypeService;
 
    private logger: Logger;
 
    constructor(
        config: IUnleashConfig,
        { featureTypeService }: Pick<IUnleashServices, 'featureTypeService'>,
    ) {
        super(config);
        this.featureTypeService = featureTypeService;
        this.logger = config.getLogger('/admin-api/feature-type.js');
 
        this.get('/', this.getAllFeatureTypes);
    }
 
    async getAllFeatureTypes(req: Request, res: Response): Promise<void> {
        const types = await this.featureTypeService.getAll();
        res.json({ version, types });
    }
}
 
module.exports = FeatureTypeController;