Alerting: Add (manual) script to generate alerting RTKQ APIs from OpenAPI spec (#89482)

This commit is contained in:
Tom Ratcliffe
2024-07-02 18:31:37 +01:00
committed by GitHub
parent 52ea6236d4
commit b18b1efec4
4 changed files with 275 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
/**
* To generate alerting k8s APIs, run:
* `npx rtk-query-codegen-openapi ./scripts/generate-alerting-rtk-apis.ts`
*/
import { ConfigFile } from '@rtk-query/codegen-openapi';
import { accessSync } from 'fs';
const schemaFile = '../data/alerting/openapi.json';
try {
// Check we have the OpenAPI before generating alerting RTK APIs,
// as this is currently a manual process
accessSync(schemaFile);
} catch (e) {
console.error('\nCould not find OpenAPI definition.\n');
console.error(
'Please visit /openapi/v3/apis/notifications.alerting.grafana.app/v0alpha1 and save the OpenAPI definition to data/alerting/openapi.json\n'
);
throw e;
}
const config: ConfigFile = {
schemaFile,
apiFile: '',
tag: true,
outputFiles: {
'../public/app/features/alerting/unified/openapi/timeIntervalsApi.gen.ts': {
apiFile: '../public/app/features/alerting/unified/api/alertingApi.ts',
apiImport: 'alertingApi',
filterEndpoints: ['listTimeIntervalForAllNamespaces'],
exportName: 'generatedTimeIntervalsApi',
flattenArg: false,
},
},
};
export default config;