deal with empty remote

This commit is contained in:
fyears 2021-10-25 01:01:04 +08:00
parent f58a71c1c4
commit d9ccd2c7eb

View File

@ -54,39 +54,41 @@ export const ensembleMixedStates = async (
) => { ) => {
const results = {} as Record<string, FileOrFolderMixedState>; const results = {} as Record<string, FileOrFolderMixedState>;
for (const entry of remote) { if (remote !== undefined) {
const backwardMapping = await getSyncMetaMappingByRemoteKeyS3( for (const entry of remote) {
db, const backwardMapping = await getSyncMetaMappingByRemoteKeyS3(
entry.Key, db,
entry.LastModified.valueOf(), entry.Key,
entry.ETag entry.LastModified.valueOf(),
); entry.ETag
);
let key = entry.Key; let key = entry.Key;
let r = {} as FileOrFolderMixedState; let r = {} as FileOrFolderMixedState;
if (backwardMapping !== undefined) { if (backwardMapping !== undefined) {
key = backwardMapping.local_key; key = backwardMapping.local_key;
r = { r = {
key: key, key: key,
exist_remote: true, exist_remote: true,
mtime_remote: backwardMapping.local_mtime, mtime_remote: backwardMapping.local_mtime,
size_remote: backwardMapping.local_size, size_remote: backwardMapping.local_size,
}; };
} else { } else {
r = { r = {
key: key, key: key,
exist_remote: true, exist_remote: true,
mtime_remote: entry.LastModified.valueOf(), mtime_remote: entry.LastModified.valueOf(),
size_remote: entry.Size, size_remote: entry.Size,
}; };
} }
if (results.hasOwnProperty(key)) { if (results.hasOwnProperty(key)) {
results[key].key = r.key; results[key].key = r.key;
results[key].exist_remote = r.exist_remote; results[key].exist_remote = r.exist_remote;
results[key].mtime_remote = r.mtime_remote; results[key].mtime_remote = r.mtime_remote;
results[key].size_remote = r.size_remote; results[key].size_remote = r.size_remote;
} else { } else {
results[key] = r; results[key] = r;
}
} }
} }