Features/15 add azure app configuration (#16)

* Adding app config module

* adding app context

* adding app context and feature flag hooks

---------

Co-authored-by: Noah Spannbauer <nspannbauer@sensonix.com>
This commit was merged in pull request #16.
This commit is contained in:
2024-05-28 12:35:34 -05:00
committed by GitHub
parent 294ac4e061
commit 6782c1906d
21 changed files with 341 additions and 54 deletions

View File

@@ -1,12 +1,34 @@
import { Controller, Get } from '@nestjs/common';
import { Controller, Get, Query } from '@nestjs/common';
import { AppService } from './app.service';
import { AppConfigService, AuthService } from '@noahspan/noahspan-modules';
import { FeatureFlagValue } from '@azure/app-configuration';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
constructor(
private readonly appConfigService: AppConfigService,
private readonly authService: AuthService
) {}
@Get()
getHello(): string {
return this.appService.getHello();
@Get('featureFlags')
async getFeatureFlags(@Query() query: any): Promise<FeatureFlagValue[]> {
try {
const token: string = await this.authService.getToken(
'client_credentials',
process.env.CLIENT_ID,
process.env.CLIENT_SECRET,
'https://azconfig.io'
);
const featureFlags: FeatureFlagValue[] =
await this.appConfigService.getFeatureFlags(
token,
`${query.key}`,
query.label
);
return featureFlags;
} catch (error) {
console.log(error);
}
}
}