From 040584989e6604b13e596df8d8638d665e06c2ec Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 4 Jan 2025 21:42:41 +0100 Subject: [PATCH] Migrate metadata once instead of when reading a value --- src/modules/metadata/services/MetadataReader.ts | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/modules/metadata/services/MetadataReader.ts b/src/modules/metadata/services/MetadataReader.ts index 3e22fe6b..3ea054e5 100644 --- a/src/modules/metadata/services/MetadataReader.ts +++ b/src/modules/metadata/services/MetadataReader.ts @@ -8,7 +8,6 @@ import { useEffect } from 'react'; import { METADATA_MIGRATIONS, VALID_APP_METADATA_KEYS } from '@/modules/metadata/Metadata.constants.ts'; -import { applyMetadataMigrations } from '@/modules/metadata/services/MetadataMigrations.ts'; import { convertToGqlMeta, convertValueFromMetadata } from '@/modules/metadata/services/MetadataConverter.ts'; import { AllowedMetadataValueTypes, @@ -36,16 +35,14 @@ import { ChapterIdInfo } from '@/modules/chapter/services/Chapters.ts'; import { CategoryIdInfo } from '@/modules/category/Category.types.ts'; import { SourceType } from '@/lib/graphql/generated/graphql.ts'; import { doesMetadataKeyExistIn, extractOriginalKey, getMetadataKey } from '@/modules/metadata/Metadata.utils.ts'; +import { applyMetadataMigrations } from '@/modules/metadata/services/MetadataMigrations.ts'; const getMetadataValueFrom = ( - { meta }: MetadataHolder, + metadata: Metadata | undefined, key: Key, defaultValue?: Value, prefixes?: string[], ): Value | undefined => { - const requiresMigration = Number(meta?.migration) !== METADATA_MIGRATIONS.length; - const metadata = requiresMigration ? applyMetadataMigrations(meta) : meta; - if ( metadata === undefined || !doesMetadataKeyExistIn(metadata, key, prefixes) || @@ -199,12 +196,14 @@ export function getMetadataFrom { appMetadata[key as AppMetadataKeys] = getMetadataValueFrom( - metadataHolder, + migratedMetadata, key as AppMetadataKeys, defaultValue, prefixes,