deal with empty remote
This commit is contained in:
parent
f58a71c1c4
commit
d9ccd2c7eb
66
src/sync.ts
66
src/sync.ts
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user