Skip to content

Commit

Permalink
Merge pull request #161 from internxt/feat/PB-550-list-items-inside-s…
Browse files Browse the repository at this point in the history
…hared-folder

[PB-550]: feat/add get shared folder content
  • Loading branch information
CandelR authored Aug 16, 2023
2 parents 6a36dc8 + 9593cb9 commit b0c7dec
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 8 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@internxt/sdk",
"version": "1.4.41",
"version": "1.4.42",
"description": "An sdk for interacting with Internxt's services",
"repository": {
"type": "git",
Expand Down
29 changes: 25 additions & 4 deletions src/drive/share/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,25 @@ export class Share {
const orderByQueryParam = orderBy ? `&orderBy=${orderBy}` : '';

return this.client.get(
`private-sharing/shared-with/by-folder-id/${folderUUID}?page=${page}&perPage=${perPage}${orderByQueryParam}`,
`private-sharing/shared-with/${folderUUID}?page=${page}&perPage=${perPage}${orderByQueryParam}`,
this.headers(),
);
}

/**
* Get shared folder content
*/
public getSharedFolderContent(
sharedFolderId: string,
token: string,
page = 0,
perPage = 50,
orderBy?: 'views:ASC' | 'views:DESC' | 'createdAt:ASC' | 'createdAt:DESC',
): Promise<ListAllSharedFoldersResponse> {
const orderByQueryParam = orderBy ? `&orderBy=${orderBy}` : '';

return this.client.get(
`private-sharing/items/${sharedFolderId}?token=${token}&page=${page}&perPage=${perPage}${orderByQueryParam}`,
this.headers(),
);
}
Expand Down Expand Up @@ -338,7 +356,7 @@ export class Share {
* @param {string} folderUUID - The unique identifier of the folder.
* @returns {Promise<{ stopped: boolean }>} A promise that resolves with an object indicating whether the sharing was stopped.
*/
public stopSharingFolder(folderUUID: string): Promise<{ stoped: boolean }> {
public stopSharingFolder(folderUUID: string): Promise<{ message: string }> {
return this.client.delete(`/private-sharing/stop/folder-id/${folderUUID}`, this.headers());
}

Expand All @@ -348,8 +366,11 @@ export class Share {
* @param {string} userUUID - The UUID of the user to be removed.
* @returns {Promise<{ removed: boolean }>} A promise indicating whether the user was removed.
*/
public removeUserFromSharedFolder(folderUUID: string, userUUID: string): Promise<{ removed: boolean }> {
return this.client.delete(`/private-sharing/remove/folder-id/${folderUUID}/user-id/${userUUID}`, this.headers());
public removeUserFromSharedFolder(folderUUID: string, userUUID: string): Promise<{ message: string }> {
return this.client.delete(
`/private-sharing/shared-with/folder-id/${folderUUID}/user-id/${userUUID}`,
this.headers(),
);
}

/**
Expand Down
58 changes: 55 additions & 3 deletions src/drive/share/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,61 @@ export type ListPrivateSharedFoldersResponse = {
folders: FolderChild[];
};

export type SharedFolders = {
bucket: string | null;
createdAt: string;
dateShared: string;
deleted: boolean;
deletedAt: string | null;
encryptVersion: string;
encryptionKey: string;
id: number;
name: string;
parent: { id: string; size: number; type: string; uuid: string } | null;
parentId: number;
plainName: string;
removed: boolean;
removedAt: string | null;
sharedWithMe: boolean;
size: number;
type: string;
updatedAt: string;
user: { avatar: string | null; email: string; lastname: string; name: string; uuid: string };
userId: number;
uuid: string;
};

export type SharedFiles = {
bucket: string | null;
createdAt: string;
deleted: boolean;
deletedAt: string | null;
encryptVersion: string;
fileiId: number;
folder: string | null;
folderId: number;
folderUuid: string;
id: number;
modificationTime: string;
name: string;
plainName: string;
removed: boolean;
removedAt: string | null;
shares: [];
size: string;
status: string;
thumbnails: [];
type: string;
updatedAt: string;
userId: number;
uuid: string;
};

export type ListAllSharedFoldersResponse = {
sharedByMe: FolderChild[];
sharedWithMe: FolderChild[];
credentials: { networkPass: string; networkUser: string };
files: SharedFiles[];
folders: SharedFolders[];
token: string;
};

export type SharePrivateFolderWithUserPayload = {
Expand Down Expand Up @@ -166,4 +218,4 @@ export type PrivateSharedFolder = {
avatar: string | null;
};
fileSize: number;
};
};

0 comments on commit b0c7dec

Please sign in to comment.