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