Fix constraining logic of stored client metadata
By the time the constraining function was called, the stored values were still of type string and were not converted to the correct type yet.
This commit is contained in:
@@ -12,7 +12,6 @@ import { getMetadataFrom } from '@/modules/metadata/services/MetadataReader.ts';
|
||||
import { MangaIdInfo, MangaMetadata, MangaMetadataKeys } from '@/modules/manga/Manga.types.ts';
|
||||
import {
|
||||
AllowedMetadataValueTypes,
|
||||
AppMetadataKeys,
|
||||
GqlMetaHolder,
|
||||
Metadata,
|
||||
MetadataHolder,
|
||||
@@ -20,7 +19,6 @@ import {
|
||||
import { convertFromGqlMeta } from '@/modules/metadata/services/MetadataConverter.ts';
|
||||
import { requestUpdateMangaMetadata } from '@/modules/metadata/services/MetadataUpdater.ts';
|
||||
import { defaultPromiseErrorHandler } from '@/lib/DefaultPromiseErrorHandler.ts';
|
||||
import { jsonSaveParse } from '@/lib/HelperFunctions.ts';
|
||||
|
||||
const DEFAULT_MANGA_METADATA: MangaMetadata = {
|
||||
...DEFAULT_CHAPTER_OPTIONS,
|
||||
@@ -33,21 +31,11 @@ const convertAppMetadataToGqlMetadata = (
|
||||
excludedScanlators: JSON.stringify(metadata.excludedScanlators),
|
||||
});
|
||||
|
||||
const convertGqlMetadataToAppMetadata = (
|
||||
metadata: Partial<Metadata<AppMetadataKeys, AllowedMetadataValueTypes>>,
|
||||
): MangaMetadata => ({
|
||||
...(metadata as unknown as MangaMetadata),
|
||||
excludedScanlators: jsonSaveParse<MangaMetadata['excludedScanlators']>(metadata.excludedScanlators as string) ?? [],
|
||||
});
|
||||
|
||||
const getMangaMetadataWithDefaultValueFallback = (
|
||||
meta: MangaIdInfo & MetadataHolder,
|
||||
defaultMetadata: MangaMetadata = DEFAULT_MANGA_METADATA,
|
||||
useEffectFn?: typeof useEffect,
|
||||
): MangaMetadata =>
|
||||
convertGqlMetadataToAppMetadata(
|
||||
getMetadataFrom('manga', meta, convertAppMetadataToGqlMetadata(defaultMetadata), undefined, useEffectFn),
|
||||
);
|
||||
): MangaMetadata => getMetadataFrom('manga', meta, defaultMetadata, undefined, useEffectFn);
|
||||
|
||||
const getMetadata = (
|
||||
metaHolder: MangaIdInfo & GqlMetaHolder,
|
||||
|
||||
Reference in New Issue
Block a user