このコミットが含まれているのは:
2026-07-16 20:54:42 +09:00
コミット cde0a2deae
15個のファイルの変更490行の追加27行の削除
+18 -14
ファイルの表示
@@ -38,6 +38,12 @@ import type { User } from '@/types'
type Props = { user: User | null }
const isRepairRow = (row: PostImportRow): boolean =>
row.recoverable === true
&& (row.importStatus === 'failed'
|| (row.importStatus === 'pending'
&& Object.keys (row.validationErrors).length > 0))
const PostImportReviewPage: FC<Props> = ({ user }) => {
const editable = canEditContent (user)
@@ -85,9 +91,9 @@ const PostImportReviewPage: FC<Props> = ({ user }) => {
session?.repairMode === 'failed'
? (
[...rows].sort ((a, b) => {
const aFailed = a.importStatus === 'failed' ? 0 : 1
const bFailed = b.importStatus === 'failed' ? 0 : 1
return aFailed - bFailed || a.sourceRow - b.sourceRow
const aRepair = isRepairRow (a) ? 0 : 1
const bRepair = isRepairRow (b) ? 0 : 1
return aRepair - bRepair || a.sourceRow - b.sourceRow
}))
: rows
@@ -228,21 +234,19 @@ const PostImportReviewPage: FC<Props> = ({ user }) => {
setLoading (true)
try
{
const validatableRows =
currentSession.rows.filter (row => row.importStatus !== 'created')
const validated = await apiPost<{ rows: PostImportRow[] }> ('/posts/import/validate', {
rows:
currentSession.rows
.filter (row => row.importStatus !== 'created')
.map (row => ({ sourceRow: row.sourceRow,
url: row.url,
attributes: row.attributes,
provenance: row.provenance,
tagSources: row.tagSources,
metadataUrl: row.metadataUrl })),
validatableRows.map (row => ({ sourceRow: row.sourceRow,
url: row.url,
attributes: row.attributes,
provenance: row.provenance,
tagSources: row.tagSources,
metadataUrl: row.metadataUrl })),
changed_row: -1 })
const validatedRows = initialisePreviewRows (validated.rows)
const expectedSourceRows = currentSession.rows
.filter (row => row.importStatus !== 'created')
.map (row => row.sourceRow)
const expectedSourceRows = validatableRows.map (row => row.sourceRow)
if (!(hasExactSourceRows (expectedSourceRows, validatedRows)))
{
toast ({ title: '再検証結果が不完全でした' })