Ensure stored client metadata values respect constraints
This commit is contained in:
@@ -22,6 +22,7 @@ import { doesMetadataKeyExistIn, getMetadataKey } from '@/modules/metadata/Metad
|
||||
import { applyMetadataMigrations } from '@/modules/metadata/services/MetadataMigrations.ts';
|
||||
import { SourceIdInfo } from '@/modules/source/Source.types.ts';
|
||||
import { ChapterIdInfo } from '@/modules/chapter/Chapter.types.ts';
|
||||
import { APP_METADATA } from '@/modules/metadata/Metadata.constants.ts';
|
||||
|
||||
const getMetadataValueFrom = <Key extends AppMetadataKeys, Value extends AllowedMetadataValueTypes>(
|
||||
metadata: Metadata | undefined,
|
||||
@@ -37,7 +38,9 @@ const getMetadataValueFrom = <Key extends AppMetadataKeys, Value extends Allowed
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return convertValueFromMetadata(key, metadata[getMetadataKey(key, prefixes)]);
|
||||
const convertedValue = convertValueFromMetadata(key, metadata[getMetadataKey(key, prefixes)]);
|
||||
|
||||
return APP_METADATA[key].toValidValue?.(convertedValue) ?? convertedValue;
|
||||
};
|
||||
|
||||
export function getMetadataFrom<METADATA extends Partial<Metadata<AppMetadataKeys, AllowedMetadataValueTypes>>>(
|
||||
|
||||
Reference in New Issue
Block a user