MCPcopy Create free account
hub / github.com/codedogQBY/ReadAny / buildUploadCoverTask

Function buildUploadCoverTask

packages/core/src/sync/sync-files.ts:1021–1044  ·  view source on GitHub ↗
(backend: ISyncBackend, info: BookInfo)

Source from the content-addressed store, hash-verified

1019}
1020
1021function buildUploadCoverTask(backend: ISyncBackend, info: BookInfo): FileTask {
1022 const bookTitle = info.book.title || "未知书籍";
1023 return {
1024 label: `${bookTitle} cover`,
1025 run: async (onProgress) => {
1026 const taskStart = Date.now();
1027 try {
1028 console.log(`[Sync] 📤 Uploading cover: ${bookTitle} → ${info.remoteCoverPath}`);
1029 const bytes = await uploadFileToRemote(
1030 backend,
1031 info.remoteCoverPath,
1032 info.localCoverPath,
1033 onProgress,
1034 );
1035 const size = bytes === null ? "" : ` (${(bytes / 1024).toFixed(2)} KB)`;
1036 console.log(`[Sync] ✓ Uploaded cover "${bookTitle}"${size} in ${Date.now() - taskStart}ms`);
1037 return true;
1038 } catch (e) {
1039 console.log(`[Sync] ✗ Failed to upload cover "${bookTitle}": ${e}`);
1040 return false;
1041 }
1042 },
1043 };
1044}
1045
1046function buildDownloadCoverTask(backend: ISyncBackend, info: BookInfo): FileTask {
1047 const bookTitle = info.book.title || "未知书籍";

Callers 1

syncFilesFunction · 0.85

Calls 1

uploadFileToRemoteFunction · 0.85

Tested by

no test coverage detected