Skip to content

Commit 2f4ac8b

Browse files
committed
added more details for sharing commands
1 parent 165d85b commit 2f4ac8b

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

KeeperSdk/src/sharedFolders/shareFolder.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,18 @@ export type ShareFolderInput = {
3939
action?: ShareFolderActionInput
4040
manageRecords?: boolean
4141
manageUsers?: boolean
42+
records?: string[]
43+
expireAt?: number
44+
expireIn?: number
4245
}
4346

4447
export type ShareFolderUserStatus = {
4548
email: string
4649
success: boolean
4750
status: string
4851
message?: string
52+
isNew?: boolean
53+
expiration?: number
4954
}
5055

5156
export type ShareFolderResult = {
@@ -428,8 +433,11 @@ async function shareWithSharedFolder(
428433
: sharedFolder.defaultManageRecords
429434
const newUserManageUsers = isBoolean(input.manageUsers) ? input.manageUsers : sharedFolder.defaultManageUsers
430435

436+
const emailToIsNew = new Map<string, boolean>()
437+
431438
for (const email of emails) {
432439
if (existingMembers.has(email)) {
440+
emailToIsNew.set(email, false)
433441
usersToUpdate.push({
434442
username: email,
435443
manageRecords: toSetBoolean(input.manageRecords),
@@ -477,6 +485,7 @@ async function shareWithSharedFolder(
477485
continue
478486
}
479487

488+
emailToIsNew.set(email, true)
480489
usersToAdd.push({
481490
username: email,
482491
manageRecords: toSetBoolean(newUserManageRecords),
@@ -524,18 +533,24 @@ async function shareWithSharedFolder(
524533
for (const addUserStatus of innerResponse?.sharedFolderAddUserStatus || []) {
525534
const status = addUserStatus.status || ShareFolderUserResultStatus.Unknown
526535
const success = status === FolderResultStatus.Success || status === FolderResultStatus.Invited
536+
const email = addUserStatus.username || ''
527537
userResults.push({
528-
email: addUserStatus.username || '',
538+
email,
529539
success,
530540
status,
541+
isNew: emailToIsNew.get(email) ?? true,
542+
expiration: input.expireAt,
531543
})
532544
}
533545
for (const updateUserStatus of innerResponse?.sharedFolderUpdateUserStatus || []) {
534546
const status = updateUserStatus.status || ShareFolderUserResultStatus.Unknown
547+
const email = updateUserStatus.username || ''
535548
userResults.push({
536-
email: updateUserStatus.username || '',
549+
email,
537550
success: status === FolderResultStatus.Success,
538551
status,
552+
isNew: emailToIsNew.get(email) ?? false,
553+
expiration: input.expireAt,
539554
})
540555
}
541556

KeeperSdk/src/sharing/Sharing.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ export type ShareRecordResult = {
3535
success: boolean
3636
status: string
3737
message: string
38+
isNew?: boolean
3839
}
3940

4041
export type RemoveShareInput = {

0 commit comments

Comments
 (0)