From d549de7e8f5b753846e04f20dec924388b271285 Mon Sep 17 00:00:00 2001 From: apsantiso <143480783+apsantiso@users.noreply.github.com> Date: Thu, 18 Jul 2024 00:32:07 -0400 Subject: [PATCH] Revert "[_] fix: endpoint folder/:uuid/content now returns all the content" --- src/modules/file/file.repository.ts | 12 ----- src/modules/file/file.usecase.spec.ts | 40 -------------- src/modules/file/file.usecase.ts | 17 +++--- src/modules/folder/folder.controller.ts | 26 ++++----- src/modules/folder/folder.repository.ts | 6 --- src/modules/folder/folder.usecase.spec.ts | 64 ----------------------- src/modules/folder/folder.usecase.ts | 16 ++---- 7 files changed, 18 insertions(+), 163 deletions(-) diff --git a/src/modules/file/file.repository.ts b/src/modules/file/file.repository.ts index 00bb92c37..1f6e3150b 100644 --- a/src/modules/file/file.repository.ts +++ b/src/modules/file/file.repository.ts @@ -18,18 +18,6 @@ import { WorkspaceAttributes } from '../workspaces/attributes/workspace.attribut export interface FileRepository { create(file: Omit): Promise; deleteByFileId(fileId: any): Promise; - findAllCursor( - where: Partial>, - limit: number, - offset: number, - order: Array<[keyof FileModel, string]>, - ): Promise | []>; - findAllCursorWithThumbnails( - where: Partial>, - limit: number, - offset: number, - order: Array<[keyof FileModel, string]>, - ): Promise | []>; findByIdNotDeleted( id: FileAttributes['id'], where: Partial, diff --git a/src/modules/file/file.usecase.spec.ts b/src/modules/file/file.usecase.spec.ts index 7ca974227..8433b13a5 100644 --- a/src/modules/file/file.usecase.spec.ts +++ b/src/modules/file/file.usecase.spec.ts @@ -864,44 +864,4 @@ describe('FileUseCases', () => { expect(result).toEqual(fileSizes); }); }); - - describe('getFiles', () => { - const userId = userMocked.id; - - it('When limit and offset are specified, then it should use them', async () => { - const limit = 10; - const offset = 5; - - await service.getFiles(userId, {}, { limit, offset }); - - expect(fileRepository.findAllCursorWithThumbnails).toHaveBeenCalledWith( - { userId }, - limit, - offset, - undefined, - ); - }); - - it('When ignorePagination is true, then it should ignore limit and offset', async () => { - await service.getFiles(userId, {}, { ignorePagination: true }); - - expect(fileRepository.findAllCursorWithThumbnails).toHaveBeenCalledWith( - { userId }, - undefined, - undefined, - undefined, - ); - }); - - it('When sorting is specified, then it should use the specified sort', async () => { - await service.getFiles(userId, {}, { sort: [['name', 'ASC']] }); - - expect(fileRepository.findAllCursorWithThumbnails).toHaveBeenCalledWith( - { userId }, - 20, - 0, - [['name', 'ASC']], - ); - }); - }); }); diff --git a/src/modules/file/file.usecase.ts b/src/modules/file/file.usecase.ts index 10fa2ff8a..7d8c069ba 100644 --- a/src/modules/file/file.usecase.ts +++ b/src/modules/file/file.usecase.ts @@ -319,34 +319,29 @@ export class FileUseCases { userId: UserAttributes['id'], where: Partial, options: { - limit?: number; - offset?: number; + limit: number; + offset: number; sort?: SortParams; withoutThumbnails?: boolean; - ignorePagination?: boolean; } = { limit: 20, offset: 0, }, ): Promise { - const { limit: optionsLimit = 20, offset: optionsOffsets = 0 } = options; - const limit = options.ignorePagination ? undefined : optionsLimit; - const offset = options.ignorePagination ? undefined : optionsOffsets; - let filesWithMaybePlainName; if (options?.withoutThumbnails) filesWithMaybePlainName = await this.fileRepository.findAllCursor( { ...where, userId }, - limit, - offset, + options.limit, + options.offset, options.sort, ); else filesWithMaybePlainName = await this.fileRepository.findAllCursorWithThumbnails( { ...where, userId }, - limit, - offset, + options.limit, + options.offset, options.sort, ); diff --git a/src/modules/folder/folder.controller.ts b/src/modules/folder/folder.controller.ts index 173eca867..a39d9f837 100644 --- a/src/modules/folder/folder.controller.ts +++ b/src/modules/folder/folder.controller.ts @@ -406,23 +406,15 @@ export class FolderController { ) { const [currentFolder, childrenFolders, files] = await Promise.all([ this.folderUseCases.getFolderByUuidAndUser(folderUuid, user), - this.folderUseCases.getFolders( - user.id, - { - parentUuid: folderUuid, - deleted: false, - removed: false, - }, - { ignorePagination: true }, - ), - this.fileUseCases.getFiles( - user.id, - { - folderUuid: folderUuid, - status: FileStatus.EXISTS, - }, - { ignorePagination: true }, - ), + this.folderUseCases.getFolders(user.id, { + parentUuid: folderUuid, + deleted: false, + removed: false, + }), + this.fileUseCases.getFiles(user.id, { + folderUuid: folderUuid, + status: FileStatus.EXISTS, + }), ]); if (!currentFolder) { diff --git a/src/modules/folder/folder.repository.ts b/src/modules/folder/folder.repository.ts index dc02d7e73..29553d758 100644 --- a/src/modules/folder/folder.repository.ts +++ b/src/modules/folder/folder.repository.ts @@ -38,12 +38,6 @@ export interface FolderRepository { newFolder: Omit, ): Promise; findAll(): Promise | []>; - findAllCursor( - where: Partial>, - limit: number, - offset: number, - order: Array<[keyof FolderModel, 'ASC' | 'DESC']>, - ): Promise | []>; findAllByParentIdAndUserId( parentId: FolderAttributes['parentId'], userId: FolderAttributes['userId'], diff --git a/src/modules/folder/folder.usecase.spec.ts b/src/modules/folder/folder.usecase.spec.ts index 293a78191..f2fe0070e 100644 --- a/src/modules/folder/folder.usecase.spec.ts +++ b/src/modules/folder/folder.usecase.spec.ts @@ -1329,68 +1329,4 @@ describe('FolderUseCases', () => { }); }); }); - - describe('getFolders', () => { - const userId = userMocked.id; - const folder = newFolder({ attributes: { userId: userMocked.id } }); - const folders = [ - folder, - newFolder({ attributes: { userId: userMocked.id } }), - ]; - - it('When fetching folders, then it should use default options', async () => { - jest - .spyOn(folderRepository, 'findAllCursor') - .mockResolvedValueOnce(folders); - - const result = await service.getFolders(userId, {}); - - expect(folderRepository.findAllCursor).toHaveBeenCalledWith( - { userId }, - 20, - 0, - undefined, - ); - expect(result).toEqual(folders); - }); - - it('When limit and offset are specified, then it should use them', async () => { - const limit = 10; - const offset = 5; - - jest - .spyOn(folderRepository, 'findAllCursor') - .mockResolvedValueOnce(folders); - - const result = await service.getFolders(userId, {}, { limit, offset }); - - expect(folderRepository.findAllCursor).toHaveBeenCalledWith( - { userId }, - limit, - offset, - undefined, - ); - expect(result).toEqual(folders); - }); - - it('When ignorePagination is true, then it should ignore limit and offset', async () => { - jest - .spyOn(folderRepository, 'findAllCursor') - .mockResolvedValueOnce(folders); - - const result = await service.getFolders( - userId, - {}, - { ignorePagination: true }, - ); - - expect(folderRepository.findAllCursor).toHaveBeenCalledWith( - { userId }, - undefined, - undefined, - undefined, - ); - expect(result).toEqual(folders); - }); - }); }); diff --git a/src/modules/folder/folder.usecase.ts b/src/modules/folder/folder.usecase.ts index 04bdd1612..bc4d22f80 100644 --- a/src/modules/folder/folder.usecase.ts +++ b/src/modules/folder/folder.usecase.ts @@ -575,25 +575,15 @@ export class FolderUseCases { async getFolders( userId: FolderAttributes['userId'], where: Partial, - options: { - limit?: number; - offset?: number; - sort?: SortParams; - ignorePagination?: boolean; - } = { + options: { limit: number; offset: number; sort?: SortParams } = { limit: 20, offset: 0, - ignorePagination: false, }, ): Promise { - const { limit: optionsLimit = 20, offset: optionsOffsets = 0 } = options; - const limit = options.ignorePagination ? undefined : optionsLimit; - const offset = options.ignorePagination ? undefined : optionsOffsets; - const foldersWithMaybePlainName = await this.folderRepository.findAllCursor( { ...where, userId }, - limit, - offset, + options.limit, + options.offset, options.sort, );