diff --git a/public/app/features/apiserver/types.ts b/public/app/features/apiserver/types.ts index 91eac3c1d43..36730c2ba7a 100644 --- a/public/app/features/apiserver/types.ts +++ b/public/app/features/apiserver/types.ts @@ -97,7 +97,7 @@ type GrafanaClientAnnotations = { [AnnoKeyFolderTitle]?: string; [AnnoKeyFolderUrl]?: string; [AnnoKeySavedFromUI]?: string; - [AnnoKeyDashboardIsSnapshot]?: boolean; + [AnnoKeyDashboardIsSnapshot]?: string; [AnnoKeyDashboardSnapshotOriginalUrl]?: string; [AnnoKeyGrantPermissions]?: string; // TODO: This should be provided by the API diff --git a/public/app/features/dashboard-scene/serialization/transformSaveModelSchemaV2ToScene.test.ts b/public/app/features/dashboard-scene/serialization/transformSaveModelSchemaV2ToScene.test.ts index f356bbad15a..9565f828be5 100644 --- a/public/app/features/dashboard-scene/serialization/transformSaveModelSchemaV2ToScene.test.ts +++ b/public/app/features/dashboard-scene/serialization/transformSaveModelSchemaV2ToScene.test.ts @@ -30,6 +30,7 @@ import { QueryVariableKind, TextVariableKind, } from '@grafana/schema/dist/esm/schema/dashboard/v2alpha1/types.spec.gen'; +import { AnnoKeyDashboardIsSnapshot } from 'app/features/apiserver/types'; import { DashboardWithAccessInfo } from 'app/features/dashboard/api/types'; import { MIXED_DATASOURCE_NAME } from 'app/plugins/datasource/mixed/MixedDataSource'; @@ -367,7 +368,7 @@ describe('transformSaveModelSchemaV2ToScene', () => { ...defaultDashboard.metadata, annotations: { ...defaultDashboard.metadata.annotations, - 'grafana.app/dashboard-is-snapshot': true, + [AnnoKeyDashboardIsSnapshot]: 'true', }, }, }; diff --git a/public/app/features/dashboard/api/ResponseTransformers.ts b/public/app/features/dashboard/api/ResponseTransformers.ts index 4013e5637aa..8164206d708 100644 --- a/public/app/features/dashboard/api/ResponseTransformers.ts +++ b/public/app/features/dashboard/api/ResponseTransformers.ts @@ -131,9 +131,15 @@ export function ensureV2Response( [AnnoKeyUpdatedTimestamp]: dto.meta.updated, [AnnoKeyFolder]: dto.meta.folderUid, [AnnoKeySlug]: dto.meta.slug, - [AnnoKeyDashboardGnetId]: dashboard.gnetId ?? undefined, - [AnnoKeyDashboardIsSnapshot]: dto.meta.isSnapshot, }; + if (dashboard.gnetId) { + annotationsMeta[AnnoKeyDashboardGnetId] = dashboard.gnetId; + } + if (dto.meta.isSnapshot) { + // FIXME -- lets not put non-annotation data in annotations! + annotationsMeta[AnnoKeyDashboardIsSnapshot] = 'true'; + } + creationTimestamp = dto.meta.created; labelsMeta = { [DeprecatedInternalId]: dashboard.id?.toString() ?? undefined,