このコミットが含まれているのは:
2026-07-15 20:51:24 +09:00
コミット 025f49cbcb
11個のファイルの変更157行の追加33行の削除
+4 -2
ファイルの表示
@@ -14,6 +14,9 @@ const buildResetSnapshot = (row: PostImportRow) => ({
tagSources: {
automatic: row.tagSources?.automatic ?? '',
manual: row.tagSources?.manual ?? '' },
fieldWarnings: Object.fromEntries (
Object.entries (row.fieldWarnings).map (([key, values]) => [key, [...values]])),
baseWarnings: [...row.baseWarnings],
metadataUrl: row.metadataUrl })
@@ -73,8 +76,7 @@ export const mergeValidatedImportRows = (
if (
previous.importStatus === 'created'
|| previous.importStatus === 'skipped'
|| previous.importStatus === 'failed'
)
|| previous.importStatus === 'failed')
return previous
const row = validatedMap.get (previous.sourceRow)
+11
ファイルの表示
@@ -21,6 +21,7 @@ const ATTRIBUTE_KEYS = [
'parentPostIds'] as const
const PROVENANCE_KEYS = [...ATTRIBUTE_KEYS, 'url'] as const
const TAG_SOURCE_KEYS = ['automatic', 'manual'] as const
const WARNING_KEYS = [...ATTRIBUTE_KEYS, 'url'] as const
const isPlainObject = (value: unknown): value is Record<string, unknown> =>
@@ -162,6 +163,14 @@ const sanitiseResetSnapshot = (value: unknown): PostImportResetSnapshot | null =
return null
if (!(Object.values (value.tagSources).every (_1 => typeof _1 === 'string')))
return null
const fieldWarnings = ensureStringListRecord (value.fieldWarnings)
if (fieldWarnings == null)
return null
if (!(hasOnlyKeys (fieldWarnings, WARNING_KEYS)))
return null
if (!(Array.isArray (value.baseWarnings))
|| !(value.baseWarnings.every (_1 => typeof _1 === 'string')))
return null
if (value.metadataUrl != null && typeof value.metadataUrl !== 'string')
return null
@@ -170,6 +179,8 @@ const sanitiseResetSnapshot = (value: unknown): PostImportResetSnapshot | null =
attributes: value.attributes as Record<string, string | number>,
provenance: value.provenance as Record<string, PostImportOrigin>,
tagSources: value.tagSources as Record<PostImportOrigin, string>,
fieldWarnings,
baseWarnings: value.baseWarnings,
metadataUrl: value.metadataUrl as string | undefined }
}
+4 -1
ファイルの表示
@@ -14,6 +14,8 @@ export type PostImportResetSnapshot = {
attributes: Record<string, PostImportAttributeValue>
provenance: Record<string, PostImportOrigin>
tagSources: Record<PostImportOrigin, string>
fieldWarnings: Record<string, string[]>
baseWarnings: string[]
metadataUrl?: string }
export type PostImportRow = {
@@ -48,7 +50,8 @@ export type PostImportResultRow =
| {
sourceRow: number
status: 'failed'
errors?: Record<string, string[]> }
errors?: Record<string, string[]>
recoverable?: boolean }
export type PostImportSession = {
version: number