import {Injectable, Logger} from '@nestjs/common'; import {SharedService} from "../shared/shared.service"; export interface IFeatureFlagStatus { name: string; state: boolean; } @Injectable() export class FeatureflagService { private logger = new Logger(FeatureflagService.name); constructor(private sharedService: SharedService ) { } async getFeatureFlag(id: string): Promise { this.logger.verbose(`Getting feature flag status for ${id}`); const state = await this.sharedService.getConfig(`featureflag/${id}`); return { name: id, state: state.value !== 'false', } } async setFeatureFlag(id: string, status: boolean) : Promise { this.logger.verbose(`Setting feature flag status for ${id} to ${status} `); const result = await this.sharedService.setConfig(`featureflag/${id}`, status.toString()); return { name: id, state: result.value !== 'false', } } }