[Fleet] Do not ignore coreMigrationVersion and typeMigrationVersion when importing saved object (#161969)

This commit is contained in:
Nicolas Chaulet 2023-07-14 11:17:12 -04:00 committed by GitHub
parent 235eac899b
commit 2d7311a5c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -45,7 +45,12 @@ type SavedObjectToBe = Required<Pick<SavedObjectsBulkCreateObject, keyof Archive
};
export type ArchiveAsset = Pick<
SavedObject,
'id' | 'attributes' | 'migrationVersion' | 'references'
| 'id'
| 'attributes'
| 'migrationVersion'
| 'references'
| 'coreMigrationVersion'
| 'typeMigrationVersion'
> & {
type: KibanaSavedObjectType;
};
@ -81,13 +86,24 @@ export async function getKibanaAsset(key: string): Promise<ArchiveAsset> {
export function createSavedObjectKibanaAsset(asset: ArchiveAsset): SavedObjectToBe {
// convert that to an object
return {
const so: Partial<SavedObjectToBe> = {
type: asset.type,
id: asset.id,
attributes: asset.attributes,
references: asset.references || [],
migrationVersion: asset.migrationVersion || {},
};
if (asset.migrationVersion) {
so.migrationVersion = asset.migrationVersion;
} else {
if (asset.coreMigrationVersion) {
so.coreMigrationVersion = asset.coreMigrationVersion;
}
if (asset.typeMigrationVersion) {
so.typeMigrationVersion = asset.typeMigrationVersion;
}
}
return so as SavedObjectToBe;
}
export async function installKibanaAssets(options: {