From 7dc3a7d32a1d5dd1a0db05a30bc135f3de2579b4 Mon Sep 17 00:00:00 2001 From: Karan Shah Date: Tue, 8 Feb 2022 11:23:10 +0000 Subject: [PATCH] Address comments and suggestions - Added documentation for api-report.md - Reverted the change to ADOPTERS.md Signed-off-by: Karan Shah --- app-config.yaml | 5 ++-- plugins/airbrake-backend/api-report.md | 29 +++++++------------ .../src/config/ExtractAirbrakeConfig.ts | 17 ++++++++++- plugins/airbrake-backend/src/index.ts | 7 +++++ .../airbrake-backend/src/service/router.ts | 26 +++++++++++++++++ 5 files changed, 62 insertions(+), 22 deletions(-) diff --git a/app-config.yaml b/app-config.yaml index 1f03105cde..e49e29c45a 100644 --- a/app-config.yaml +++ b/app-config.yaml @@ -193,8 +193,6 @@ integrations: - host: amazonaws.com accessKeyId: ${AWS_ACCESS_KEY_ID} secretAccessKey: ${AWS_SECRET_ACCESS_KEY} - airbrake: - apiKey: ${AIRBRAKE_API_KEY} catalog: import: @@ -466,3 +464,6 @@ apacheAirflow: gocd: baseUrl: https://your.gocd.instance.com + +airbrake: + apiKey: ${AIRBRAKE_API_KEY} diff --git a/plugins/airbrake-backend/api-report.md b/plugins/airbrake-backend/api-report.md index cd56b87f86..c888d55e5b 100644 --- a/plugins/airbrake-backend/api-report.md +++ b/plugins/airbrake-backend/api-report.md @@ -3,33 +3,24 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts +import { Config } from '@backstage/config'; import express from 'express'; import { Logger as Logger_2 } from 'winston'; -import { Options } from 'http-proxy-middleware/dist/types'; -// Warning: (ae-missing-release-tag) "createRouter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) +// @public +export type AirbrakeConfig = { + apiKey: string; +}; + +// @public export function createRouter(options: RouterOptions): Promise; -// Warning: (ae-missing-release-tag) "generateAirbrakePathRewrite" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const generateAirbrakePathRewrite: ( - options: RouterOptions, -) => Options['pathRewrite']; +// @public +export function extractAirbrakeConfig(config: Config): AirbrakeConfig; -// Warning: (ae-missing-release-tag) "RouterOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) +// @public export interface RouterOptions { - // Warning: (ae-forgotten-export) The symbol "AirbrakeConfig" needs to be exported by the entry point index.d.ts - // - // (undocumented) airbrakeConfig: AirbrakeConfig; - // (undocumented) logger: Logger_2; } - -// (No @packageDocumentation comment for this package) ``` diff --git a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts b/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts index 06f5e46e85..6d6c814345 100644 --- a/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts +++ b/plugins/airbrake-backend/src/config/ExtractAirbrakeConfig.ts @@ -15,12 +15,27 @@ */ import { Config } from '@backstage/config'; +/** + * The Airbrake config object + * + * @public + */ export type AirbrakeConfig = { + /** + * The API Key + */ apiKey: string; }; +/** + * Extract the Airbrake config from a config object + * + * @public + * + * @param config - The config object to extract from + */ export function extractAirbrakeConfig(config: Config): AirbrakeConfig { return { - apiKey: config.getString('integrations.airbrake.apiKey'), + apiKey: config.getString('airbrake.apiKey'), }; } diff --git a/plugins/airbrake-backend/src/index.ts b/plugins/airbrake-backend/src/index.ts index ca73cb27ba..f4ec6008c2 100644 --- a/plugins/airbrake-backend/src/index.ts +++ b/plugins/airbrake-backend/src/index.ts @@ -14,4 +14,11 @@ * limitations under the License. */ +/** + * The Airbrake Backend plugin used by \@backstage/plugin-airbrake + * + * @packageDocumentation + */ + export * from './service/router'; +export * from './config'; diff --git a/plugins/airbrake-backend/src/service/router.ts b/plugins/airbrake-backend/src/service/router.ts index 9dc80ab7e1..b870eb5c13 100644 --- a/plugins/airbrake-backend/src/service/router.ts +++ b/plugins/airbrake-backend/src/service/router.ts @@ -22,11 +22,30 @@ import { createProxyMiddleware } from 'http-proxy-middleware'; import { AirbrakeConfig } from '../config'; import { Options } from 'http-proxy-middleware/dist/types'; +/** + * The router options that are needed when creating a router. + * + * @public + */ export interface RouterOptions { + /** + * A logger object + */ logger: Logger; + + /** + * The Airbrake config obtained from {@link extractAirbrakeConfig} + */ airbrakeConfig: AirbrakeConfig; } +/** + * Mainly used internally to generate the path. + * + * @internal + * + * @param options - Router options + */ export const generateAirbrakePathRewrite = ( options: RouterOptions, ): Options['pathRewrite'] => { @@ -43,6 +62,13 @@ export const generateAirbrakePathRewrite = ( }; }; +/** + * Create the Airbrake Router, used for making API calls to the Airbrake API. + * + * @public + * + * @param options - Router options + */ export async function createRouter( options: RouterOptions, ): Promise {