diff --git a/packages/backend/src/server/api/endpoints/drive/files.ts b/packages/backend/src/server/api/endpoints/drive/files.ts index 5df212415d..26b7b32001 100644 --- a/packages/backend/src/server/api/endpoints/drive/files.ts +++ b/packages/backend/src/server/api/endpoints/drive/files.ts @@ -46,6 +46,7 @@ export const paramDef = { type: { type: 'string', nullable: true, pattern: /^[a-zA-Z\/\-*]+$/.toString().slice(1, -1) }, sort: { type: 'string', nullable: true, enum: ['+createdAt', '-createdAt', '+name', '-name', '+size', '-size', null] }, searchQuery: { type: 'string', default: '' }, + showAll: { type: 'boolean', default: false }, }, required: [], } as const; @@ -63,10 +64,12 @@ export default class extends Endpoint { // eslint- const query = this.queryService.makePaginationQuery(this.driveFilesRepository.createQueryBuilder('file'), ps.sinceId, ps.untilId) .andWhere('file.userId = :userId', { userId: me.id }); - if (ps.folderId) { - query.andWhere('file.folderId = :folderId', { folderId: ps.folderId }); - } else { - query.andWhere('file.folderId IS NULL'); + if (!ps.showAll) { + if (ps.folderId) { + query.andWhere('file.folderId = :folderId', { folderId: ps.folderId }); + } else { + query.andWhere('file.folderId IS NULL'); + } } if (ps.searchQuery.length > 0) { diff --git a/packages/frontend/src/pages/settings/drive-cleaner.vue b/packages/frontend/src/pages/settings/drive-cleaner.vue index 085ba6ffde..13cf7d7337 100644 --- a/packages/frontend/src/pages/settings/drive-cleaner.vue +++ b/packages/frontend/src/pages/settings/drive-cleaner.vue @@ -69,7 +69,7 @@ const sortMode = ref('+size'); const pagination = { endpoint: 'drive/files' as const, limit: 10, - params: computed(() => ({ sort: sortMode.value })), + params: computed(() => ({ sort: sortMode.value, showAll: true })), offsetMode: true, };