diff --git a/package.json b/package.json index d4933c0e..3a3f66c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@internxt/sdk", - "version": "1.4.42", + "version": "1.4.43", "description": "An sdk for interacting with Internxt's services", "repository": { "type": "git", diff --git a/src/drive/share/index.ts b/src/drive/share/index.ts index f1b100b5..1140454b 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 224f2a22..47dbc417 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[];