From d8390fa8feca4a39a84fc8e137bc8b35690d466b Mon Sep 17 00:00:00 2001 From: Rafa Date: Mon, 21 Aug 2023 16:05:08 +0200 Subject: [PATCH] [PB-550] fix get shared folder content --- src/drive/share/index.ts | 15 ++++++++++++--- src/drive/share/types.ts | 6 ++++++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/drive/share/index.ts b/src/drive/share/index.ts index f1b100b..1140454 100644 --- a/src/drive/share/index.ts +++ b/src/drive/share/index.ts @@ -21,6 +21,7 @@ import { UpdateUserRolePayload, UpdateUserRoleResponse, UpdateShareLinkPayload, + ListSharedItemsResponse, } from './types'; import { ApiSecurity, ApiUrl, AppDetails } from '../../shared'; import { HttpClient } from '../../shared/http/client'; @@ -243,18 +244,26 @@ export class Share { /** * Get shared folder content + * @param {string} sharedFolderId - The UUID of the shared folder. + * @param {string} type - The item type for the query folders/files + * @param {string} token - Key that enables invited users to navigate the folders + * @param {number} page - The page number for pagination. + * @param {number} perPage - The number of items per page for pagination. + * @param {string} [orderBy] - The optional order criteria (e.g., 'views:ASC', 'createdAt:DESC'). */ public getSharedFolderContent( sharedFolderId: string, - token: string, + type: 'folders' | 'files', + token: string | null, page = 0, perPage = 50, orderBy?: 'views:ASC' | 'views:DESC' | 'createdAt:ASC' | 'createdAt:DESC', - ): Promise { + ): Promise { const orderByQueryParam = orderBy ? `&orderBy=${orderBy}` : ''; return this.client.get( - `private-sharing/items/${sharedFolderId}?token=${token}&page=${page}&perPage=${perPage}${orderByQueryParam}`, + // eslint-disable-next-line max-len + `private-sharing/items/${sharedFolderId}/${type}?token=${token}&page=${page}&perPage=${perPage}${orderByQueryParam}`, this.headers(), ); } diff --git a/src/drive/share/types.ts b/src/drive/share/types.ts index 224f2a2..47dbc41 100644 --- a/src/drive/share/types.ts +++ b/src/drive/share/types.ts @@ -143,6 +143,12 @@ export type SharedFiles = { uuid: string; }; +export type ListSharedItemsResponse = { + credentials: { networkPass: string; networkUser: string }; + items: SharedFiles[] | SharedFolders[]; + token: string; +}; + export type ListAllSharedFoldersResponse = { credentials: { networkPass: string; networkUser: string }; files: SharedFiles[];