add fromConfig to stack overflow api
Signed-off-by: Brian Fletcher <brian@roadie.io>
This commit is contained in:
@@ -21,6 +21,7 @@ import {
|
||||
StackOverflowQuestion,
|
||||
StackOverflowQuestionsRequestParams,
|
||||
} from '../types';
|
||||
import { Config } from '@backstage/config';
|
||||
|
||||
export class StackOverflowClient implements StackOverflowApi {
|
||||
private baseUrl: string;
|
||||
@@ -29,6 +30,14 @@ export class StackOverflowClient implements StackOverflowApi {
|
||||
this.baseUrl = baseUrl;
|
||||
}
|
||||
|
||||
static fromConfig(config: Config) {
|
||||
return new StackOverflowClient({
|
||||
baseUrl:
|
||||
config.getOptionalString('stackoverflow.baseUrl') ||
|
||||
'https://api.stackexchange.com/2.2',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* List Questions in the StackOverflow instance
|
||||
*
|
||||
|
||||
@@ -35,12 +35,7 @@ export const stackOverflowPlugin = createPlugin({
|
||||
createApiFactory({
|
||||
api: stackOverflowApiRef,
|
||||
deps: { configApi: configApiRef },
|
||||
factory: ({ configApi }) =>
|
||||
new StackOverflowClient({
|
||||
baseUrl:
|
||||
configApi.getOptionalString('stackoverflow.baseUrl') ||
|
||||
'https://api.stackexchange.com/2.2',
|
||||
}),
|
||||
factory: ({ configApi }) => StackOverflowClient.fromConfig(configApi),
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user