From 2f4ac8b19f72a40bbb57410828bd2415fae7cd6c Mon Sep 17 00:00:00 2001 From: sgaddala-ks Date: Fri, 28 Aug 2026 18:35:01 +0530 Subject: [PATCH 1/2] added more details for sharing commands --- KeeperSdk/src/sharedFolders/shareFolder.ts | 19 +++++++++++++++++-- KeeperSdk/src/sharing/Sharing.ts | 1 + 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/KeeperSdk/src/sharedFolders/shareFolder.ts b/KeeperSdk/src/sharedFolders/shareFolder.ts index 79e04490..195660c9 100644 --- a/KeeperSdk/src/sharedFolders/shareFolder.ts +++ b/KeeperSdk/src/sharedFolders/shareFolder.ts @@ -39,6 +39,9 @@ export type ShareFolderInput = { action?: ShareFolderActionInput manageRecords?: boolean manageUsers?: boolean + records?: string[] + expireAt?: number + expireIn?: number } export type ShareFolderUserStatus = { @@ -46,6 +49,8 @@ export type ShareFolderUserStatus = { success: boolean status: string message?: string + isNew?: boolean + expiration?: number } export type ShareFolderResult = { @@ -428,8 +433,11 @@ async function shareWithSharedFolder( : sharedFolder.defaultManageRecords const newUserManageUsers = isBoolean(input.manageUsers) ? input.manageUsers : sharedFolder.defaultManageUsers + const emailToIsNew = new Map() + for (const email of emails) { if (existingMembers.has(email)) { + emailToIsNew.set(email, false) usersToUpdate.push({ username: email, manageRecords: toSetBoolean(input.manageRecords), @@ -477,6 +485,7 @@ async function shareWithSharedFolder( continue } + emailToIsNew.set(email, true) usersToAdd.push({ username: email, manageRecords: toSetBoolean(newUserManageRecords), @@ -524,18 +533,24 @@ async function shareWithSharedFolder( for (const addUserStatus of innerResponse?.sharedFolderAddUserStatus || []) { const status = addUserStatus.status || ShareFolderUserResultStatus.Unknown const success = status === FolderResultStatus.Success || status === FolderResultStatus.Invited + const email = addUserStatus.username || '' userResults.push({ - email: addUserStatus.username || '', + email, success, status, + isNew: emailToIsNew.get(email) ?? true, + expiration: input.expireAt, }) } for (const updateUserStatus of innerResponse?.sharedFolderUpdateUserStatus || []) { const status = updateUserStatus.status || ShareFolderUserResultStatus.Unknown + const email = updateUserStatus.username || '' userResults.push({ - email: updateUserStatus.username || '', + email, success: status === FolderResultStatus.Success, status, + isNew: emailToIsNew.get(email) ?? false, + expiration: input.expireAt, }) } diff --git a/KeeperSdk/src/sharing/Sharing.ts b/KeeperSdk/src/sharing/Sharing.ts index 99496ff2..28dc1067 100644 --- a/KeeperSdk/src/sharing/Sharing.ts +++ b/KeeperSdk/src/sharing/Sharing.ts @@ -35,6 +35,7 @@ export type ShareRecordResult = { success: boolean status: string message: string + isNew?: boolean } export type RemoveShareInput = { From 20a183662348243fff9025c1e70605855247ae95 Mon Sep 17 00:00:00 2001 From: sgaddala-ks Date: Fri, 28 Aug 2026 18:38:50 +0530 Subject: [PATCH 2/2] added version autoupdate for keeperapi version --- KeeperSdk/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KeeperSdk/package.json b/KeeperSdk/package.json index 5c5cf504..10a6fe7f 100644 --- a/KeeperSdk/package.json +++ b/KeeperSdk/package.json @@ -24,7 +24,7 @@ "prepublishOnly": "npm run build" }, "dependencies": { - "@keeper-security/keeperapi": "18.1.1", + "@keeper-security/keeperapi": "^18.1.1", "@keeper-security/secrets-manager-core": "^17.5.0", "asmcrypto.js": "^2.3.2", "ts-node": "^10.7.0",