mirror of
https://github.com/grafana/grafana.git
synced 2025-09-15 09:42:48 +08:00

Rules created in the new api makes the rule have no group in the database, but the rule is returned in the old group api with a sentinel group name formatted with the rule uid for compatiblity with the old api. This makes the UI continue to work with the rules without a group, and the ruler will continue to work with the rules without a group. Rules are not allowed to be created in the provisioning api with a NoGroup sentinel mask, but NoGroup rules can be manipulated through both the new and old apis. Co-authored-by: William Wernert <william.wernert@grafana.com>
107 lines
3.9 KiB
TypeScript
107 lines
3.9 KiB
TypeScript
// Generates Redux Toolkit API slices for certain APIs from the OpenAPI spec
|
|
import type { ConfigFile } from '@rtk-query/codegen-openapi';
|
|
|
|
const config: ConfigFile = {
|
|
schemaFile: '', // leave this empty, and instead populate the outputFiles object below
|
|
apiFile: '', // leave this empty, and instead populate the outputFiles object below
|
|
exportName: 'generatedAPI',
|
|
|
|
outputFiles: {
|
|
'../public/app/features/migrate-to-cloud/api/endpoints.gen.ts': {
|
|
schemaFile: '../public/openapi3.json',
|
|
apiFile: '../public/app/features/migrate-to-cloud/api/baseAPI.ts',
|
|
apiImport: 'baseAPI',
|
|
hooks: true,
|
|
filterEndpoints: [
|
|
'getSessionList',
|
|
'getSession',
|
|
'deleteSession',
|
|
'createSession',
|
|
|
|
'getShapshotList',
|
|
'getSnapshot',
|
|
'uploadSnapshot',
|
|
'createSnapshot',
|
|
'cancelSnapshot',
|
|
|
|
'createCloudMigrationToken',
|
|
'deleteCloudMigrationToken',
|
|
'getCloudMigrationToken',
|
|
|
|
'getDashboardByUid',
|
|
'getLibraryElementByUid',
|
|
|
|
'getResourceDependencies',
|
|
],
|
|
},
|
|
'../public/app/features/preferences/api/user/endpoints.gen.ts': {
|
|
schemaFile: '../public/openapi3.json',
|
|
hooks: true,
|
|
apiFile: '../public/app/features/preferences/api/user/baseAPI.ts',
|
|
apiImport: 'baseAPI',
|
|
filterEndpoints: ['getUserPreferences', 'updateUserPreferences', 'patchUserPreferences'],
|
|
},
|
|
'../public/app/api/clients/iam/v0alpha1/endpoints.gen.ts': {
|
|
schemaFile: '../data/openapi/iam.grafana.app-v0alpha1.json',
|
|
apiFile: '../public/app/api/clients/iam/v0alpha1/baseAPI.ts',
|
|
filterEndpoints: ['getDisplayMapping'],
|
|
tag: true,
|
|
},
|
|
'../public/app/api/clients/provisioning/v0alpha1/endpoints.gen.ts': {
|
|
apiFile: '../public/app/api/clients/provisioning/v0alpha1/baseAPI.ts',
|
|
schemaFile: '../data/openapi/provisioning.grafana.app-v0alpha1.json',
|
|
filterEndpoints,
|
|
tag: true,
|
|
hooks: true,
|
|
},
|
|
'../public/app/api/clients/folder/v1beta1/endpoints.gen.ts': {
|
|
apiFile: '../public/app/api/clients/folder/v1beta1/baseAPI.ts',
|
|
schemaFile: '../data/openapi/folder.grafana.app-v1beta1.json',
|
|
tag: true,
|
|
},
|
|
'../public/app/api/clients/advisor/v0alpha1/endpoints.gen.ts': {
|
|
apiFile: '../public/app/api/clients/advisor/v0alpha1/baseAPI.ts',
|
|
schemaFile: '../data/openapi/advisor.grafana.app-v0alpha1.json',
|
|
filterEndpoints: [
|
|
'createCheck',
|
|
'getCheck',
|
|
'listCheck',
|
|
'deleteCheck',
|
|
'updateCheck',
|
|
'listCheckType',
|
|
'updateCheckType',
|
|
],
|
|
tag: true,
|
|
},
|
|
'../public/app/api/clients/playlist/v0alpha1/endpoints.gen.ts': {
|
|
apiFile: '../public/app/api/clients/playlist/v0alpha1/baseAPI.ts',
|
|
schemaFile: '../data/openapi/playlist.grafana.app-v0alpha1.json',
|
|
filterEndpoints: ['listPlaylist', 'getPlaylist', 'createPlaylist', 'deletePlaylist', 'replacePlaylist'],
|
|
tag: true,
|
|
},
|
|
'../public/app/api/clients/dashboard/v0alpha1/endpoints.gen.ts': {
|
|
apiFile: '../public/app/api/clients/dashboard/v0alpha1/baseAPI.ts',
|
|
schemaFile: '../data/openapi/dashboard.grafana.app-v0alpha1.json',
|
|
filterEndpoints: [
|
|
// Do not use any other endpoints from this version
|
|
// If other endpoints are required, they must be used from a newer version of the dashboard API
|
|
'getSearch',
|
|
],
|
|
tag: true,
|
|
},
|
|
|
|
'../public/app/api/clients/rules/v0alpha1/endpoints.gen.ts': {
|
|
apiFile: '../public/app/api/clients/rules/v0alpha1/baseAPI.ts',
|
|
schemaFile: '../data/openapi/rules.alerting.grafana.app-v0alpha1.json',
|
|
tag: true,
|
|
},
|
|
// PLOP_INJECT_API_CLIENT - Used by the API client generator
|
|
},
|
|
};
|
|
|
|
function filterEndpoints(name: string) {
|
|
return !name.toLowerCase().includes('getapiresources') && !name.toLowerCase().includes('update');
|
|
}
|
|
|
|
export default config;
|