站点同步

This commit is contained in:
tianmo committed 2026-10-17 14:41:32 +08:00
1 parent a64be50b73
commit 9cb8552a99
28 files changed
+1683 -18

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
import type { ImageIndexRow } from '../image-index'
import { getTagsForImageKeys } from '../tags'
import type {
SiteSyncMediaTransfer,
SiteSyncTag
} from './protocol'
export function toSiteSyncMediaTransfer(
row: ImageIndexRow,
ownerUsername: string | null,
tags: SiteSyncTag[]
): SiteSyncMediaTransfer {
return {
key: row.key,
ownerUsername,
originalName: row.original_name,
contentType: row.content_type,
size: row.size,
uploadedAt: row.uploaded_at,
mediaType: row.media_type,
thumbKey: row.thumb_key,
hlsKey: row.hls_key,
transcodeStatus: row.transcode_status as SiteSyncMediaTransfer['transcodeStatus'],
transcodeProgress: Number(row.transcode_progress ?? 0),
transcodePreset: row.transcode_preset,
transcodeError: row.transcode_error,
sourceDeleted: Number(row.source_deleted ?? 0) === 1,
tags
}
}
export function toSiteSyncMediaTransferWithTags(
row: ImageIndexRow,
ownerUsername: string | null
): SiteSyncMediaTransfer {
const tags = getTagsForImageKeys([row.key]).get(row.key) ?? []
return toSiteSyncMediaTransfer(row, ownerUsername, tags)
}