Skip to content

Commit bf503f4

Browse files
authored
NSF sharing, permissions , shortcut and transfer functionalities (#210)
1 parent da8cc64 commit bf503f4

17 files changed

Lines changed: 3996 additions & 13 deletions

KeeperSdk/package-lock.json

Lines changed: 9 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

KeeperSdk/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@keeper-security/keeper-sdk-javascript",
3-
"version": "1.1.0",
3+
"version": "1.1.1",
44
"description": "High-level wrapper for Keeper Security JavaScript SDK",
55
"repository": {
66
"type": "git",
@@ -21,7 +21,7 @@
2121
"prepublishOnly": "npm run build"
2222
},
2323
"dependencies": {
24-
"@keeper-security/keeperapi": "17.2.7",
24+
"@keeper-security/keeperapi": "^18.0.4",
2525
"ts-node": "^10.7.0",
2626
"typescript": "^4.6.3"
2727
},

KeeperSdk/src/index.ts

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,50 @@ export {
557557
resolveNsfFieldValue,
558558
clearNsfRecordTypeCache,
559559
checkRecordEditPermission,
560+
updateNestedShareFolder,
561+
shareNestedShareFolder,
562+
shareNestedShareRecord,
563+
formatNsfRecordSharePlan,
564+
formatNsfRecordShareResults,
565+
formatNsfFolderShareResults,
566+
parseShareExpiration,
567+
parseShareExpirationValue,
568+
validateShareExpirationTimestamp,
569+
isShareExpirationNoop,
570+
fetchNsfTeamPublicKeys,
571+
encryptNsfFolderKeyForTeam,
572+
resolveNsfShareRecipient,
573+
MIN_SHARE_EXPIRATION_MS,
574+
TeamGetKeysResponseKeyType,
575+
getNsfRecordShortcuts,
576+
listNsfShortcuts,
577+
keepNsfShortcut,
578+
formatNsfShortcutOutput,
579+
formatKeepNsfShortcutPlan,
580+
transferNestedShareRecords,
581+
formatTransferNestedShareRecordResults,
582+
NSF_RECORD_PERMISSION_ROLES,
583+
NSFShareRoleName,
584+
NsfShareCommandName,
585+
NSF_SHARE_EXPIRATION_NEVER,
586+
NsfFolderShareAction,
587+
NsfFolderShareActionTaken,
588+
NsfRecordShareAction,
589+
NsfRecordShareActionTaken,
590+
NsfRecordPermissionAction,
591+
NsfResultStatus,
592+
NsfTransferApiStatus,
593+
NsfPermissionFailureCode,
594+
collectNsfRecordUidsInFolder,
595+
updateNestedShareRecordPermissions,
596+
buildNsfRecordPermissionPlan,
597+
formatNsfRecordPermissionPlan,
598+
formatNsfRecordPermissionRequestHeader,
599+
formatNsfRecordPermissionFailures,
600+
resolveNsfRoleName,
601+
getNsfAccessRoleLabel,
602+
normalizeNsfRecordPermissionRole,
603+
getFolderPermissionsForRole,
560604
NestedShareFolderManager,
561605
} from './nestedShareFolders'
562606
export type {
@@ -607,6 +651,36 @@ export type {
607651
FolderCreatePayload,
608652
ParsedNsfFields,
609653
RecordFieldEntry,
654+
UpdateNsfFolderInput,
655+
UpdateNsfFolderResult,
656+
NsfFolderShareActionInput,
657+
ShareNestedShareFolderInput,
658+
ShareNestedShareFolderResult,
659+
NsfFolderShareResultItem,
660+
NsfRecordShareActionInput,
661+
ShareNestedShareRecordInput,
662+
ShareNestedShareRecordResult,
663+
NsfRecordSharePlanItem,
664+
NsfRecordShareResultItem,
665+
NsfShortcutRow,
666+
ListNsfShortcutsOptions,
667+
KeepNsfShortcutInput,
668+
KeepNsfShortcutPlanItem,
669+
KeepNsfShortcutResult,
670+
KeepNsfShortcutResultItem,
671+
TransferNestedShareRecordInput,
672+
TransferNestedShareRecordResult,
673+
TransferNestedShareRecordResultItem,
674+
NsfRecordPermissionRole,
675+
NsfRecordPermissionActionInput,
676+
UpdateNsfRecordPermissionInput,
677+
UpdateNsfRecordPermissionResult,
678+
NsfRecordPermissionPlan,
679+
NsfRecordPermissionPlanItem,
680+
NsfRecordPermissionFailure,
681+
ParseShareExpirationInput,
682+
NsfTeamPublicKeys,
683+
NsfResolvedShareRecipient,
610684
} from './nestedShareFolders'
611685

612686
export type {

KeeperSdk/src/nestedShareFolders/NestedShareFolderManager.ts

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ import { removeNestedShareFolders } from './removeNsfFolder'
1010
import { getNestedShareRecordDetails } from './getNsfRecordDetails'
1111
import { updateNestedShareRecords, updateNestedShareRecord } from './updateNsfRecord'
1212
import { addNestedShareRecord, addNestedShareRecords } from './addNsfRecord'
13+
import { shareNestedShareFolder, shareNestedShareRecord } from './nsfShare'
14+
import { listNsfShortcuts, keepNsfShortcut } from './nsfShortcut'
15+
import { transferNestedShareRecords } from './nsfTransferRecord'
16+
import { updateNestedShareRecordPermissions } from './nsfRecordPermission'
17+
import { updateNestedShareFolder } from './updateNsfFolder'
1318
import type {
1419
AddNsfRecordInput,
1520
AddNsfRecordResult,
@@ -19,18 +24,32 @@ import type {
1924
GetNsfResult,
2025
GetNsfRecordDetailsInput,
2126
GetNsfRecordDetailsResult,
27+
KeepNsfShortcutInput,
28+
KeepNsfShortcutResult,
2229
LinkNsfRecordResult,
2330
ListNsfOptions,
2431
ListNsfRow,
32+
ListNsfShortcutsOptions,
2533
MkdirNsfInput,
2634
MkdirNsfResult,
35+
NsfShortcutRow,
2736
RemoveNsfFolderInput,
2837
RemoveNsfFolderResult,
2938
RemoveNsfRecordInput,
3039
RemoveNsfRecordResult,
40+
ShareNestedShareFolderInput,
41+
ShareNestedShareFolderResult,
42+
ShareNestedShareRecordInput,
43+
ShareNestedShareRecordResult,
44+
TransferNestedShareRecordInput,
45+
TransferNestedShareRecordResult,
46+
UpdateNsfFolderInput,
47+
UpdateNsfFolderResult,
3148
UpdateNsfRecordInput,
3249
UpdateNsfRecordItemInput,
3350
UpdateNsfRecordsInput,
51+
UpdateNsfRecordPermissionInput,
52+
UpdateNsfRecordPermissionResult,
3453
UpdateNsfRecordResult,
3554
UpdateNsfRecordResultItem,
3655
} from './nsfTypes'
@@ -104,4 +123,43 @@ export class NestedShareFolderManager {
104123
public async addNestedShareRecord(input: AddNsfRecordInput): Promise<AddNsfRecordResult> {
105124
return addNestedShareRecord(this.storage, this.requireAuth(), input)
106125
}
126+
127+
public async updateNestedShareFolder(input: UpdateNsfFolderInput): Promise<UpdateNsfFolderResult> {
128+
return updateNestedShareFolder(this.storage, this.requireAuth(), input)
129+
}
130+
131+
public async shareNestedShareFolder(
132+
input: ShareNestedShareFolderInput
133+
): Promise<ShareNestedShareFolderResult> {
134+
return shareNestedShareFolder(this.storage, this.requireAuth(), input)
135+
}
136+
137+
public async shareNestedShareRecord(
138+
input: ShareNestedShareRecordInput
139+
): Promise<ShareNestedShareRecordResult> {
140+
return shareNestedShareRecord(this.storage, this.requireAuth(), input)
141+
}
142+
143+
public listNsfShortcuts(options: ListNsfShortcutsOptions = {}): NsfShortcutRow[] {
144+
return listNsfShortcuts(this.storage, options)
145+
}
146+
147+
public async keepNsfShortcut(
148+
input: KeepNsfShortcutInput,
149+
defaultFolderUid?: string
150+
): Promise<KeepNsfShortcutResult> {
151+
return keepNsfShortcut(this.storage, this.requireAuth(), input, defaultFolderUid)
152+
}
153+
154+
public async transferNestedShareRecords(
155+
input: TransferNestedShareRecordInput
156+
): Promise<TransferNestedShareRecordResult> {
157+
return transferNestedShareRecords(this.storage, this.requireAuth(), input)
158+
}
159+
160+
public async updateNestedShareRecordPermissions(
161+
input: UpdateNsfRecordPermissionInput
162+
): Promise<UpdateNsfRecordPermissionResult> {
163+
return updateNestedShareRecordPermissions(this.storage, this.requireAuth(), input)
164+
}
107165
}

KeeperSdk/src/nestedShareFolders/index.ts

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,13 @@ export {
2727
checkFolderDeletePermission,
2828
parseNsfPath,
2929
findExistingChildFolder,
30+
resolveNsfRoleName,
31+
getNsfAccessRoleLabel,
32+
normalizeNsfRecordPermissionRole,
33+
parseShareExpiration,
34+
parseShareExpirationValue,
35+
validateShareExpirationTimestamp,
36+
isShareExpirationNoop,
3037
} from './nsfHelpers'
3138

3239
export {
@@ -58,6 +65,14 @@ export {
5865
NsfRemoveOperation,
5966
NsfRemoveFolderOperation,
6067
GetNsfRecordDetailsFormat,
68+
NsfFolderShareAction,
69+
NsfFolderShareActionTaken,
70+
NsfRecordShareAction,
71+
NsfRecordShareActionTaken,
72+
NsfRecordPermissionAction,
73+
NsfResultStatus,
74+
NsfTransferApiStatus,
75+
NsfPermissionFailureCode,
6176
NSF_ACCESS_ROLE_LABELS,
6277
resolveRecordPermissionRole,
6378
toNsfAccessRoleLabel,
@@ -108,8 +123,45 @@ export type {
108123
GetNsfRecordDetailsInput,
109124
GetNsfRecordDetailsResult,
110125
NsfRecordDetailsItem,
126+
NsfFolderShareActionInput,
127+
ShareNestedShareFolderInput,
128+
ShareNestedShareFolderResult,
129+
NsfFolderShareResultItem,
130+
NsfRecordShareActionInput,
131+
ShareNestedShareRecordInput,
132+
ShareNestedShareRecordResult,
133+
NsfRecordSharePlanItem,
134+
NsfRecordShareResultItem,
135+
NsfRecordPermissionActionInput,
136+
UpdateNsfRecordPermissionInput,
137+
UpdateNsfRecordPermissionResult,
138+
NsfRecordPermissionPlan,
139+
NsfRecordPermissionPlanItem,
140+
NsfRecordPermissionFailure,
141+
NsfShortcutRow,
142+
ListNsfShortcutsOptions,
143+
KeepNsfShortcutInput,
144+
KeepNsfShortcutPlanItem,
145+
KeepNsfShortcutResult,
146+
KeepNsfShortcutResultItem,
147+
TransferNestedShareRecordInput,
148+
TransferNestedShareRecordResult,
149+
TransferNestedShareRecordResultItem,
150+
UpdateNsfFolderInput,
151+
UpdateNsfFolderResult,
152+
ParseShareExpirationInput,
153+
NsfTeamPublicKeys,
154+
NsfResolvedShareRecipient,
111155
} from './nsfTypes'
112156

157+
export {
158+
fetchNsfTeamPublicKeys,
159+
encryptNsfFolderKeyForTeam,
160+
resolveNsfShareRecipient,
161+
} from './nsfTeamShare'
162+
163+
export type { UserShareKeys } from './nsfShareKeys'
164+
113165
export { linkNestedShareRecord } from './linkNsfRecord'
114166

115167
export {
@@ -119,7 +171,15 @@ export {
119171
} from './removeNsfRecord'
120172

121173
export { mkdirNestedShareFolder } from './mkdirNsf'
122-
export { NSF_FOLDER_COLORS, NSF_MAX_RECORD_BATCH } from './nsfConstants'
174+
export {
175+
NSF_FOLDER_COLORS,
176+
NSF_MAX_RECORD_BATCH,
177+
MIN_SHARE_EXPIRATION_MS,
178+
NSF_SHARE_EXPIRATION_NEVER,
179+
TeamGetKeysResponseKeyType,
180+
NSFShareRoleName,
181+
NsfShareCommandName,
182+
} from './nsfConstants'
123183
export type { NsfFolderColor } from './nsfConstants'
124184

125185
export {
@@ -149,3 +209,41 @@ export {
149209
} from './nsfRecordData'
150210

151211
export { NestedShareFolderManager } from './NestedShareFolderManager'
212+
213+
export {
214+
shareNestedShareFolder,
215+
shareNestedShareRecord,
216+
formatNsfRecordSharePlan,
217+
formatNsfRecordShareResults,
218+
formatNsfFolderShareResults,
219+
} from './nsfShare'
220+
221+
export {
222+
collectNsfRecordUidsInFolder,
223+
updateNestedShareRecordPermissions,
224+
buildNsfRecordPermissionPlan,
225+
formatNsfRecordPermissionPlan,
226+
formatNsfRecordPermissionRequestHeader,
227+
formatNsfRecordPermissionFailures,
228+
} from './nsfRecordPermission'
229+
230+
export {
231+
getNsfRecordShortcuts,
232+
listNsfShortcuts,
233+
keepNsfShortcut,
234+
formatNsfShortcutOutput,
235+
formatKeepNsfShortcutPlan,
236+
} from './nsfShortcut'
237+
238+
export {
239+
transferNestedShareRecords,
240+
formatTransferNestedShareRecordResults,
241+
} from './nsfTransferRecord'
242+
243+
export { updateNestedShareFolder } from './updateNsfFolder'
244+
245+
export {
246+
NSF_RECORD_PERMISSION_ROLES,
247+
getFolderPermissionsForRole,
248+
} from './nsfConstants'
249+
export type { NsfRecordPermissionRole } from './nsfConstants'

0 commit comments

Comments
 (0)