skip non user owned collection files during export
This commit is contained in:
parent
740d5e8ef2
commit
f6d3a99520
|
@ -234,7 +234,18 @@ class ExportService {
|
|||
try {
|
||||
const user: User = getData(LS_KEYS.USER);
|
||||
const files = await getAllLocalFiles();
|
||||
const userPersonalFiles = getPersonalFiles(files, user);
|
||||
const collections = await getAllLocalCollections();
|
||||
const collectionIdToOwnerIDMap = new Map<number, number>(
|
||||
collections.map((collection) => [
|
||||
collection.id,
|
||||
collection.owner.id,
|
||||
])
|
||||
);
|
||||
const userPersonalFiles = getPersonalFiles(
|
||||
files,
|
||||
collectionIdToOwnerIDMap,
|
||||
user
|
||||
);
|
||||
|
||||
const unExportedFiles = getUnExportedFiles(
|
||||
userPersonalFiles,
|
||||
|
@ -347,9 +358,19 @@ class ExportService {
|
|||
try {
|
||||
const user: User = getData(LS_KEYS.USER);
|
||||
const files = mergeMetadata(await getAllLocalFiles());
|
||||
const personalFiles = getPersonalFiles(files, user);
|
||||
|
||||
const collections = await getAllLocalCollections();
|
||||
const collectionIdToOwnerIDMap = new Map<number, number>(
|
||||
collections.map((collection) => [
|
||||
collection.id,
|
||||
collection.owner.id,
|
||||
])
|
||||
);
|
||||
const personalFiles = getPersonalFiles(
|
||||
files,
|
||||
collectionIdToOwnerIDMap,
|
||||
user
|
||||
);
|
||||
|
||||
const nonEmptyPersonalCollections = getNonEmptyPersonalCollections(
|
||||
collections,
|
||||
personalFiles,
|
||||
|
|
|
@ -823,11 +823,19 @@ export function getLatestVersionFiles(files: EnteFile[]) {
|
|||
);
|
||||
}
|
||||
|
||||
export function getPersonalFiles(files: EnteFile[], user: User) {
|
||||
export function getPersonalFiles(
|
||||
files: EnteFile[],
|
||||
collectionIdToOwnerIDMap: Map<number, number>,
|
||||
user: User
|
||||
) {
|
||||
if (!user?.id) {
|
||||
throw Error('user missing');
|
||||
}
|
||||
return files.filter((file) => file.ownerID === user.id);
|
||||
return files.filter(
|
||||
(file) =>
|
||||
file.ownerID === user.id &&
|
||||
collectionIdToOwnerIDMap.get(file.collectionID) === user.id
|
||||
);
|
||||
}
|
||||
|
||||
export function getIDBasedSortedFiles(files: EnteFile[]) {
|
||||
|
|
Loading…
Reference in a new issue