@keeper-security/keeper-sdk-javascript 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/ConsoleAuthUI.d.ts +10 -0
- package/dist/auth/ConsoleAuthUI.js +152 -0
- package/dist/auth/ConsoleAuthUI.js.map +1 -0
- package/dist/auth/ConsoleLogin.d.ts +8 -0
- package/dist/auth/ConsoleLogin.js +266 -0
- package/dist/auth/ConsoleLogin.js.map +1 -0
- package/dist/auth/SessionManager.d.ts +66 -0
- package/dist/auth/SessionManager.js +211 -0
- package/dist/auth/SessionManager.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/records/RecordOperations.d.ts +79 -0
- package/dist/records/RecordOperations.js +346 -0
- package/dist/records/RecordOperations.js.map +1 -0
- package/dist/records/RecordUtils.d.ts +36 -0
- package/dist/records/RecordUtils.js +224 -0
- package/dist/records/RecordUtils.js.map +1 -0
- package/dist/sharing/Sharing.d.ts +27 -0
- package/dist/sharing/Sharing.js +125 -0
- package/dist/sharing/Sharing.js.map +1 -0
- package/dist/src/auth/ConsoleAuthUI.d.ts +10 -0
- package/dist/src/auth/ConsoleAuthUI.js +161 -0
- package/dist/src/auth/ConsoleAuthUI.js.map +1 -0
- package/dist/src/auth/ConsoleLogin.d.ts +8 -0
- package/dist/src/auth/ConsoleLogin.js +311 -0
- package/dist/src/auth/ConsoleLogin.js.map +1 -0
- package/dist/src/auth/SessionManager.d.ts +67 -0
- package/dist/src/auth/SessionManager.js +212 -0
- package/dist/src/auth/SessionManager.js.map +1 -0
- package/dist/src/folders/FolderManager.d.ts +57 -0
- package/dist/src/folders/FolderManager.js +108 -0
- package/dist/src/folders/FolderManager.js.map +1 -0
- package/dist/src/folders/addFolder.d.ts +32 -0
- package/dist/src/folders/addFolder.js +207 -0
- package/dist/src/folders/addFolder.js.map +1 -0
- package/dist/src/folders/changeDirectory.d.ts +19 -0
- package/dist/src/folders/changeDirectory.js +171 -0
- package/dist/src/folders/changeDirectory.js.map +1 -0
- package/dist/src/folders/deleteFolder.d.ts +17 -0
- package/dist/src/folders/deleteFolder.js +237 -0
- package/dist/src/folders/deleteFolder.js.map +1 -0
- package/dist/src/folders/folderHelpers.d.ts +48 -0
- package/dist/src/folders/folderHelpers.js +100 -0
- package/dist/src/folders/folderHelpers.js.map +1 -0
- package/dist/src/folders/folderTree.d.ts +29 -0
- package/dist/src/folders/folderTree.js +250 -0
- package/dist/src/folders/folderTree.js.map +1 -0
- package/dist/src/folders/getFolder.d.ts +56 -0
- package/dist/src/folders/getFolder.js +143 -0
- package/dist/src/folders/getFolder.js.map +1 -0
- package/dist/src/folders/listFolder.d.ts +48 -0
- package/dist/src/folders/listFolder.js +276 -0
- package/dist/src/folders/listFolder.js.map +1 -0
- package/dist/src/folders/updateFolder.d.ts +31 -0
- package/dist/src/folders/updateFolder.js +137 -0
- package/dist/src/folders/updateFolder.js.map +1 -0
- package/dist/src/index.d.ts +49 -0
- package/dist/src/index.js +151 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/records/RecordOperations.d.ts +80 -0
- package/dist/src/records/RecordOperations.js +356 -0
- package/dist/src/records/RecordOperations.js.map +1 -0
- package/dist/src/records/RecordUtils.d.ts +37 -0
- package/dist/src/records/RecordUtils.js +263 -0
- package/dist/src/records/RecordUtils.js.map +1 -0
- package/dist/src/records/Totp.d.ts +14 -0
- package/dist/src/records/Totp.js +111 -0
- package/dist/src/records/Totp.js.map +1 -0
- package/dist/src/sharedFolders/SharedFolderManager.d.ts +20 -0
- package/dist/src/sharedFolders/SharedFolderManager.js +33 -0
- package/dist/src/sharedFolders/SharedFolderManager.js.map +1 -0
- package/dist/src/sharedFolders/listSharedFolders.d.ts +29 -0
- package/dist/src/sharedFolders/listSharedFolders.js +127 -0
- package/dist/src/sharedFolders/listSharedFolders.js.map +1 -0
- package/dist/src/sharedFolders/shareFolder.d.ts +36 -0
- package/dist/src/sharedFolders/shareFolder.js +352 -0
- package/dist/src/sharedFolders/shareFolder.js.map +1 -0
- package/dist/src/sharing/Sharing.d.ts +50 -0
- package/dist/src/sharing/Sharing.js +195 -0
- package/dist/src/sharing/Sharing.js.map +1 -0
- package/dist/src/storage/InMemoryStorage.d.ts +24 -0
- package/dist/src/storage/InMemoryStorage.js +139 -0
- package/dist/src/storage/InMemoryStorage.js.map +1 -0
- package/dist/src/teams/TeamManager.d.ts +17 -0
- package/dist/src/teams/TeamManager.js +38 -0
- package/dist/src/teams/TeamManager.js.map +1 -0
- package/dist/src/teams/enterpriseData.d.ts +106 -0
- package/dist/src/teams/enterpriseData.js +319 -0
- package/dist/src/teams/enterpriseData.js.map +1 -0
- package/dist/src/teams/listTeams.d.ts +42 -0
- package/dist/src/teams/listTeams.js +308 -0
- package/dist/src/teams/listTeams.js.map +1 -0
- package/dist/src/teams/viewTeam.d.ts +35 -0
- package/dist/src/teams/viewTeam.js +177 -0
- package/dist/src/teams/viewTeam.js.map +1 -0
- package/dist/src/utils/Logger.d.ts +28 -0
- package/dist/src/utils/Logger.js +62 -0
- package/dist/src/utils/Logger.js.map +1 -0
- package/dist/src/utils/constants.d.ts +50 -0
- package/dist/src/utils/constants.js +64 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/errors.d.ts +10 -0
- package/dist/src/utils/errors.js +117 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/guards.d.ts +7 -0
- package/dist/src/utils/guards.js +29 -0
- package/dist/src/utils/guards.js.map +1 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.js +39 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/patterns.d.ts +9 -0
- package/dist/src/utils/patterns.js +20 -0
- package/dist/src/utils/patterns.js.map +1 -0
- package/dist/src/utils/types.d.ts +12 -0
- package/dist/src/utils/types.js +3 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/src/vault/KeeperVault.d.ts +116 -0
- package/dist/src/vault/KeeperVault.js +443 -0
- package/dist/src/vault/KeeperVault.js.map +1 -0
- package/dist/storage/InMemoryStorage.d.ts +24 -0
- package/dist/storage/InMemoryStorage.js +132 -0
- package/dist/storage/InMemoryStorage.js.map +1 -0
- package/dist/utils/Logger.d.ts +28 -0
- package/dist/utils/Logger.js +62 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/constants.d.ts +26 -0
- package/dist/utils/constants.js +37 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/errors.d.ts +10 -0
- package/dist/utils/errors.js +117 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/vault/KeeperVault.d.ts +72 -0
- package/dist/vault/KeeperVault.js +338 -0
- package/dist/vault/KeeperVault.js.map +1 -0
- package/package.json +32 -0
- package/src/auth/ConsoleAuthUI.ts +169 -0
- package/src/auth/ConsoleLogin.ts +351 -0
- package/src/auth/SessionManager.ts +293 -0
- package/src/folders/FolderManager.ts +174 -0
- package/src/folders/addFolder.ts +294 -0
- package/src/folders/changeDirectory.ts +217 -0
- package/src/folders/deleteFolder.ts +293 -0
- package/src/folders/folderHelpers.ts +99 -0
- package/src/folders/folderTree.ts +321 -0
- package/src/folders/getFolder.ts +234 -0
- package/src/folders/listFolder.ts +358 -0
- package/src/folders/updateFolder.ts +210 -0
- package/src/index.ts +242 -0
- package/src/records/RecordOperations.ts +549 -0
- package/src/records/RecordUtils.ts +282 -0
- package/src/records/Totp.ts +119 -0
- package/src/sharedFolders/SharedFolderManager.ts +57 -0
- package/src/sharedFolders/listSharedFolders.ts +173 -0
- package/src/sharedFolders/shareFolder.ts +457 -0
- package/src/sharing/Sharing.ts +282 -0
- package/src/storage/InMemoryStorage.ts +163 -0
- package/src/teams/TeamManager.ts +61 -0
- package/src/teams/enterpriseData.ts +453 -0
- package/src/teams/listTeams.ts +373 -0
- package/src/teams/viewTeam.ts +248 -0
- package/src/utils/Logger.ts +71 -0
- package/src/utils/constants.ts +63 -0
- package/src/utils/errors.ts +108 -0
- package/src/utils/guards.ts +24 -0
- package/src/utils/index.ts +22 -0
- package/src/utils/patterns.ts +20 -0
- package/src/utils/types.ts +11 -0
- package/src/vault/KeeperVault.ts +612 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rmdir = exports.resolveRmdirPatternsToFolderUids = exports.deleteFolder = exports.buildFolderDeleteObject = void 0;
|
|
4
|
+
const keeperapi_1 = require("@keeper-security/keeperapi");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const listFolder_1 = require("./listFolder");
|
|
7
|
+
const changeDirectory_1 = require("./changeDirectory");
|
|
8
|
+
const folderHelpers_1 = require("./folderHelpers");
|
|
9
|
+
const getFolder_1 = require("./getFolder");
|
|
10
|
+
function folderKindOfUid(storage, uid) {
|
|
11
|
+
if (storage.getByUid(folderHelpers_1.FolderKind.UserFolder, uid))
|
|
12
|
+
return folderHelpers_1.FolderKind.UserFolder;
|
|
13
|
+
if (storage.getByUid(folderHelpers_1.FolderKind.SharedFolder, uid))
|
|
14
|
+
return folderHelpers_1.FolderKind.SharedFolder;
|
|
15
|
+
if (storage.getByUid(folderHelpers_1.FolderKind.SharedFolderFolder, uid))
|
|
16
|
+
return folderHelpers_1.FolderKind.SharedFolderFolder;
|
|
17
|
+
return folderHelpers_1.FolderKind.UserFolder;
|
|
18
|
+
}
|
|
19
|
+
async function listFolderChildrenFolders(storage, parentUid) {
|
|
20
|
+
const result = await (0, listFolder_1.listFolder)(storage, {
|
|
21
|
+
folderUid: parentUid === null ? undefined : parentUid,
|
|
22
|
+
showFolders: true,
|
|
23
|
+
showRecords: false,
|
|
24
|
+
});
|
|
25
|
+
return result.folders;
|
|
26
|
+
}
|
|
27
|
+
function folderDisplayName(storage, uid) {
|
|
28
|
+
const userFolder = storage.getByUid(folderHelpers_1.FolderKind.UserFolder, uid);
|
|
29
|
+
if (userFolder)
|
|
30
|
+
return (0, folderHelpers_1.userFolderName)(userFolder);
|
|
31
|
+
const sharedFolder = storage.getByUid(folderHelpers_1.FolderKind.SharedFolder, uid);
|
|
32
|
+
if (sharedFolder)
|
|
33
|
+
return (0, folderHelpers_1.sharedFolderName)(sharedFolder);
|
|
34
|
+
const sharedFolderFolder = storage.getByUid(folderHelpers_1.FolderKind.SharedFolderFolder, uid);
|
|
35
|
+
if (sharedFolderFolder)
|
|
36
|
+
return (0, folderHelpers_1.sharedFolderFolderName)(sharedFolderFolder);
|
|
37
|
+
return uid;
|
|
38
|
+
}
|
|
39
|
+
async function buildFolderDeleteObject(storage, folderUid) {
|
|
40
|
+
const userFolder = storage.getByUid(folderHelpers_1.FolderKind.UserFolder, folderUid);
|
|
41
|
+
if (userFolder) {
|
|
42
|
+
const parentUid = await (0, changeDirectory_1.findParentFolderUid)(storage, folderUid);
|
|
43
|
+
const deleteObject = {
|
|
44
|
+
delete_resolution: folderHelpers_1.DeleteResolution.Unlink,
|
|
45
|
+
object_uid: folderUid,
|
|
46
|
+
object_type: folderHelpers_1.FolderKind.UserFolder,
|
|
47
|
+
from_type: folderHelpers_1.FolderKind.UserFolder,
|
|
48
|
+
};
|
|
49
|
+
if (parentUid) {
|
|
50
|
+
deleteObject.from_uid = parentUid;
|
|
51
|
+
deleteObject.from_type = folderKindOfUid(storage, parentUid);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
deleteObject.from_uid = '';
|
|
55
|
+
}
|
|
56
|
+
return deleteObject;
|
|
57
|
+
}
|
|
58
|
+
const sharedFolder = storage.getByUid(folderHelpers_1.FolderKind.SharedFolder, folderUid);
|
|
59
|
+
if (sharedFolder) {
|
|
60
|
+
const parentUid = await (0, changeDirectory_1.findParentFolderUid)(storage, folderUid);
|
|
61
|
+
const deleteObject = {
|
|
62
|
+
delete_resolution: folderHelpers_1.DeleteResolution.Unlink,
|
|
63
|
+
object_uid: folderUid,
|
|
64
|
+
object_type: folderHelpers_1.FolderKind.SharedFolder,
|
|
65
|
+
from_type: folderHelpers_1.FolderKind.UserFolder,
|
|
66
|
+
};
|
|
67
|
+
if (parentUid) {
|
|
68
|
+
deleteObject.from_uid = parentUid;
|
|
69
|
+
deleteObject.from_type = folderKindOfUid(storage, parentUid);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
deleteObject.from_uid = '';
|
|
73
|
+
}
|
|
74
|
+
return deleteObject;
|
|
75
|
+
}
|
|
76
|
+
const sharedFolderFolder = storage.getByUid(folderHelpers_1.FolderKind.SharedFolderFolder, folderUid);
|
|
77
|
+
if (sharedFolderFolder) {
|
|
78
|
+
const parentUid = await (0, changeDirectory_1.findParentFolderUid)(storage, folderUid);
|
|
79
|
+
const deleteObject = {
|
|
80
|
+
delete_resolution: folderHelpers_1.DeleteResolution.Unlink,
|
|
81
|
+
object_uid: folderUid,
|
|
82
|
+
object_type: folderHelpers_1.FolderKind.SharedFolderFolder,
|
|
83
|
+
from_type: folderHelpers_1.FolderKind.SharedFolder,
|
|
84
|
+
};
|
|
85
|
+
if (parentUid) {
|
|
86
|
+
deleteObject.from_uid = parentUid;
|
|
87
|
+
deleteObject.from_type = folderKindOfUid(storage, parentUid);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
deleteObject.from_uid = sharedFolderFolder.sharedFolderUid;
|
|
91
|
+
deleteObject.from_type = folderHelpers_1.FolderKind.SharedFolder;
|
|
92
|
+
}
|
|
93
|
+
return deleteObject;
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
exports.buildFolderDeleteObject = buildFolderDeleteObject;
|
|
98
|
+
async function buildDeleteObjectForFolderRef(storage, ref) {
|
|
99
|
+
const trimmed = ref.trim();
|
|
100
|
+
if (!trimmed)
|
|
101
|
+
return null;
|
|
102
|
+
const direct = await buildFolderDeleteObject(storage, trimmed);
|
|
103
|
+
if (direct)
|
|
104
|
+
return direct;
|
|
105
|
+
const found = (0, getFolder_1.findFolder)(storage, trimmed);
|
|
106
|
+
if (!found)
|
|
107
|
+
return null;
|
|
108
|
+
return buildFolderDeleteObject(storage, found.folder.uid);
|
|
109
|
+
}
|
|
110
|
+
async function deleteFolder(auth, storage, folderRefs, confirm) {
|
|
111
|
+
const objects = [];
|
|
112
|
+
for (const ref of folderRefs) {
|
|
113
|
+
const deleteObject = await buildDeleteObjectForFolderRef(storage, ref);
|
|
114
|
+
if (deleteObject)
|
|
115
|
+
objects.push(deleteObject);
|
|
116
|
+
}
|
|
117
|
+
if (objects.length === 0) {
|
|
118
|
+
throw new utils_1.KeeperSdkError('No folders found to delete (not a folder UID or name).', 'delete_nothing');
|
|
119
|
+
}
|
|
120
|
+
const targetUids = objects.map((deleteObject) => deleteObject.object_uid).join(', ');
|
|
121
|
+
let preResp;
|
|
122
|
+
try {
|
|
123
|
+
preResp = await auth.executeRestCommand((0, keeperapi_1.preDeleteCommand)({ objects }));
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
return {
|
|
127
|
+
success: false,
|
|
128
|
+
message: `pre_delete failed for [${targetUids}]: ${(0, utils_1.extractErrorMessage)(err)}`,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
const inner = preResp.pre_delete_response;
|
|
132
|
+
const token = inner === null || inner === void 0 ? void 0 : inner.pre_delete_token;
|
|
133
|
+
if (!token) {
|
|
134
|
+
const reason = preResp.message ||
|
|
135
|
+
preResp.result_code ||
|
|
136
|
+
`pre_delete failed for [${targetUids}]: server did not return a pre_delete_token`;
|
|
137
|
+
return {
|
|
138
|
+
success: false,
|
|
139
|
+
message: reason,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
if (confirm) {
|
|
143
|
+
const wouldDelete = inner === null || inner === void 0 ? void 0 : inner.would_delete;
|
|
144
|
+
const summaryItems = wouldDelete === null || wouldDelete === void 0 ? void 0 : wouldDelete.deletion_summary;
|
|
145
|
+
if (Array.isArray(summaryItems) && summaryItems.length > 0) {
|
|
146
|
+
const summary = summaryItems.join('\n');
|
|
147
|
+
const confirmed = await confirm(summary);
|
|
148
|
+
if (!confirmed) {
|
|
149
|
+
return { success: false, cancelled: true, message: 'Cancelled.' };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
await auth.executeRestCommand((0, keeperapi_1.recordDeleteCommand)({ pre_delete_token: token }));
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
message: `record_delete failed for [${targetUids}]: ${(0, utils_1.extractErrorMessage)(err)}`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
return { success: true };
|
|
163
|
+
}
|
|
164
|
+
exports.deleteFolder = deleteFolder;
|
|
165
|
+
async function resolveRmdirPatternsToFolderUids(storage, session, pattern) {
|
|
166
|
+
const matchedUids = new Set();
|
|
167
|
+
const trimmedPattern = pattern.trim();
|
|
168
|
+
if (!trimmedPattern)
|
|
169
|
+
return matchedUids;
|
|
170
|
+
const { folderUid: baseUid, remaining } = await (0, changeDirectory_1.tryResolvePath)(storage, session, trimmedPattern);
|
|
171
|
+
const remainingPattern = remaining.trim();
|
|
172
|
+
if (!remainingPattern) {
|
|
173
|
+
if (baseUid !== null) {
|
|
174
|
+
matchedUids.add(baseUid);
|
|
175
|
+
}
|
|
176
|
+
return matchedUids;
|
|
177
|
+
}
|
|
178
|
+
const children = await listFolderChildrenFolders(storage, baseUid);
|
|
179
|
+
const exactChild = children.find((child) => child.uid === remainingPattern);
|
|
180
|
+
if (exactChild) {
|
|
181
|
+
matchedUids.add(exactChild.uid);
|
|
182
|
+
return matchedUids;
|
|
183
|
+
}
|
|
184
|
+
const matcher = (0, folderHelpers_1.globToRegex)(remainingPattern);
|
|
185
|
+
for (const child of children) {
|
|
186
|
+
if (matcher.test(child.name.trim())) {
|
|
187
|
+
matchedUids.add(child.uid);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return matchedUids;
|
|
191
|
+
}
|
|
192
|
+
exports.resolveRmdirPatternsToFolderUids = resolveRmdirPatternsToFolderUids;
|
|
193
|
+
async function dedupeNestedFolderDeletes(storage, folderUids) {
|
|
194
|
+
for (const folderUid of [...folderUids]) {
|
|
195
|
+
let current = folderUid;
|
|
196
|
+
while (true) {
|
|
197
|
+
const parentUid = await (0, changeDirectory_1.findParentFolderUid)(storage, current);
|
|
198
|
+
if (!parentUid)
|
|
199
|
+
break;
|
|
200
|
+
if (folderUids.has(parentUid)) {
|
|
201
|
+
folderUids.delete(folderUid);
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
current = parentUid;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
async function rmdir(auth, storage, session, patterns, options = {}) {
|
|
209
|
+
const { force = false, quiet = false, confirm } = options;
|
|
210
|
+
if (!force && !confirm) {
|
|
211
|
+
throw new utils_1.KeeperSdkError('Confirmation is required: pass `confirm` or set `force: true`.', 'rmdir_confirm_required');
|
|
212
|
+
}
|
|
213
|
+
const folderUids = new Set();
|
|
214
|
+
for (const pattern of patterns) {
|
|
215
|
+
const trimmedPattern = pattern.trim();
|
|
216
|
+
if (!trimmedPattern)
|
|
217
|
+
continue;
|
|
218
|
+
const resolved = await resolveRmdirPatternsToFolderUids(storage, session, trimmedPattern);
|
|
219
|
+
for (const matchedUid of resolved) {
|
|
220
|
+
folderUids.add(matchedUid);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
if (folderUids.size === 0) {
|
|
224
|
+
throw new utils_1.KeeperSdkError('Enter name of an existing folder.', 'rmdir_no_match');
|
|
225
|
+
}
|
|
226
|
+
await dedupeNestedFolderDeletes(storage, folderUids);
|
|
227
|
+
const sortedNames = [...folderUids]
|
|
228
|
+
.map((uid) => folderDisplayName(storage, uid))
|
|
229
|
+
.sort((nameA, nameB) => nameA.localeCompare(nameB, undefined, { sensitivity: 'base' }));
|
|
230
|
+
if (!quiet || !force) {
|
|
231
|
+
utils_1.logger.info(`\nThe following folder(s) will be removed:\n${sortedNames.join(', ')}\n`);
|
|
232
|
+
}
|
|
233
|
+
const confirmFn = force ? undefined : confirm;
|
|
234
|
+
return deleteFolder(auth, storage, [...folderUids], confirmFn);
|
|
235
|
+
}
|
|
236
|
+
exports.rmdir = rmdir;
|
|
237
|
+
//# sourceMappingURL=deleteFolder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteFolder.js","sourceRoot":"","sources":["../../../src/folders/deleteFolder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { DSharedFolder, DSharedFolderFolder, DUserFolder } from '@keeper-security/keeperapi';
|
|
2
|
+
import type { InMemoryStorage } from '../storage/InMemoryStorage';
|
|
3
|
+
export declare enum FolderKind {
|
|
4
|
+
UserFolder = "user_folder",
|
|
5
|
+
SharedFolder = "shared_folder",
|
|
6
|
+
SharedFolderFolder = "shared_folder_folder"
|
|
7
|
+
}
|
|
8
|
+
export declare enum ParentFolderKind {
|
|
9
|
+
VirtualRoot = "virtual_root",
|
|
10
|
+
UserFolder = "user_folder",
|
|
11
|
+
SharedFolder = "shared_folder",
|
|
12
|
+
SharedFolderFolder = "shared_folder_folder"
|
|
13
|
+
}
|
|
14
|
+
export declare enum FolderObjectType {
|
|
15
|
+
Folder = "folder",
|
|
16
|
+
SharedFolder = "shared_folder"
|
|
17
|
+
}
|
|
18
|
+
export declare enum DeleteResolution {
|
|
19
|
+
Unlink = "unlink"
|
|
20
|
+
}
|
|
21
|
+
export declare enum DeleteObjectType {
|
|
22
|
+
Record = "record",
|
|
23
|
+
UserFolder = "user_folder",
|
|
24
|
+
SharedFolder = "shared_folder",
|
|
25
|
+
SharedFolderFolder = "shared_folder_folder"
|
|
26
|
+
}
|
|
27
|
+
export declare enum FolderResultStatus {
|
|
28
|
+
Success = "success",
|
|
29
|
+
Invited = "invited",
|
|
30
|
+
Unknown = "unknown"
|
|
31
|
+
}
|
|
32
|
+
export declare enum VaultObjectKind {
|
|
33
|
+
Record = "record",
|
|
34
|
+
Metadata = "metadata",
|
|
35
|
+
NonSharedData = "non_shared_data",
|
|
36
|
+
Team = "team",
|
|
37
|
+
User = "user",
|
|
38
|
+
SharedFolderUser = "shared_folder_user",
|
|
39
|
+
SharedFolderTeam = "shared_folder_team",
|
|
40
|
+
SharedFolderRecord = "shared_folder_record"
|
|
41
|
+
}
|
|
42
|
+
export type FolderKindOrLiteral = FolderKind | `${FolderKind}`;
|
|
43
|
+
export declare function folderKindFromString(value: string | undefined | null): FolderKind | undefined;
|
|
44
|
+
export declare function userFolderName(folder: DUserFolder): string;
|
|
45
|
+
export declare function sharedFolderFolderName(folder: DSharedFolderFolder): string;
|
|
46
|
+
export declare function sharedFolderName(folder: DSharedFolder): string;
|
|
47
|
+
export declare function globToRegex(pattern: string): RegExp;
|
|
48
|
+
export declare function getUserFolderParentMap(storage: InMemoryStorage): Promise<Map<string, string>>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUserFolderParentMap = exports.globToRegex = exports.sharedFolderName = exports.sharedFolderFolderName = exports.userFolderName = exports.folderKindFromString = exports.VaultObjectKind = exports.FolderResultStatus = exports.DeleteObjectType = exports.DeleteResolution = exports.FolderObjectType = exports.ParentFolderKind = exports.FolderKind = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
var FolderKind;
|
|
6
|
+
(function (FolderKind) {
|
|
7
|
+
FolderKind["UserFolder"] = "user_folder";
|
|
8
|
+
FolderKind["SharedFolder"] = "shared_folder";
|
|
9
|
+
FolderKind["SharedFolderFolder"] = "shared_folder_folder";
|
|
10
|
+
})(FolderKind = exports.FolderKind || (exports.FolderKind = {}));
|
|
11
|
+
var ParentFolderKind;
|
|
12
|
+
(function (ParentFolderKind) {
|
|
13
|
+
ParentFolderKind["VirtualRoot"] = "virtual_root";
|
|
14
|
+
ParentFolderKind["UserFolder"] = "user_folder";
|
|
15
|
+
ParentFolderKind["SharedFolder"] = "shared_folder";
|
|
16
|
+
ParentFolderKind["SharedFolderFolder"] = "shared_folder_folder";
|
|
17
|
+
})(ParentFolderKind = exports.ParentFolderKind || (exports.ParentFolderKind = {}));
|
|
18
|
+
var FolderObjectType;
|
|
19
|
+
(function (FolderObjectType) {
|
|
20
|
+
FolderObjectType["Folder"] = "folder";
|
|
21
|
+
FolderObjectType["SharedFolder"] = "shared_folder";
|
|
22
|
+
})(FolderObjectType = exports.FolderObjectType || (exports.FolderObjectType = {}));
|
|
23
|
+
var DeleteResolution;
|
|
24
|
+
(function (DeleteResolution) {
|
|
25
|
+
DeleteResolution["Unlink"] = "unlink";
|
|
26
|
+
})(DeleteResolution = exports.DeleteResolution || (exports.DeleteResolution = {}));
|
|
27
|
+
var DeleteObjectType;
|
|
28
|
+
(function (DeleteObjectType) {
|
|
29
|
+
DeleteObjectType["Record"] = "record";
|
|
30
|
+
DeleteObjectType["UserFolder"] = "user_folder";
|
|
31
|
+
DeleteObjectType["SharedFolder"] = "shared_folder";
|
|
32
|
+
DeleteObjectType["SharedFolderFolder"] = "shared_folder_folder";
|
|
33
|
+
})(DeleteObjectType = exports.DeleteObjectType || (exports.DeleteObjectType = {}));
|
|
34
|
+
var FolderResultStatus;
|
|
35
|
+
(function (FolderResultStatus) {
|
|
36
|
+
FolderResultStatus["Success"] = "success";
|
|
37
|
+
FolderResultStatus["Invited"] = "invited";
|
|
38
|
+
FolderResultStatus["Unknown"] = "unknown";
|
|
39
|
+
})(FolderResultStatus = exports.FolderResultStatus || (exports.FolderResultStatus = {}));
|
|
40
|
+
var VaultObjectKind;
|
|
41
|
+
(function (VaultObjectKind) {
|
|
42
|
+
VaultObjectKind["Record"] = "record";
|
|
43
|
+
VaultObjectKind["Metadata"] = "metadata";
|
|
44
|
+
VaultObjectKind["NonSharedData"] = "non_shared_data";
|
|
45
|
+
VaultObjectKind["Team"] = "team";
|
|
46
|
+
VaultObjectKind["User"] = "user";
|
|
47
|
+
VaultObjectKind["SharedFolderUser"] = "shared_folder_user";
|
|
48
|
+
VaultObjectKind["SharedFolderTeam"] = "shared_folder_team";
|
|
49
|
+
VaultObjectKind["SharedFolderRecord"] = "shared_folder_record";
|
|
50
|
+
})(VaultObjectKind = exports.VaultObjectKind || (exports.VaultObjectKind = {}));
|
|
51
|
+
function folderKindFromString(value) {
|
|
52
|
+
if (!value)
|
|
53
|
+
return undefined;
|
|
54
|
+
switch (value) {
|
|
55
|
+
case FolderKind.UserFolder:
|
|
56
|
+
return FolderKind.UserFolder;
|
|
57
|
+
case FolderKind.SharedFolder:
|
|
58
|
+
return FolderKind.SharedFolder;
|
|
59
|
+
case FolderKind.SharedFolderFolder:
|
|
60
|
+
return FolderKind.SharedFolderFolder;
|
|
61
|
+
default:
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.folderKindFromString = folderKindFromString;
|
|
66
|
+
function userFolderName(folder) {
|
|
67
|
+
const data = folder.data;
|
|
68
|
+
return ((data === null || data === void 0 ? void 0 : data.title) || (data === null || data === void 0 ? void 0 : data.name) || folder.uid).trim() || folder.uid;
|
|
69
|
+
}
|
|
70
|
+
exports.userFolderName = userFolderName;
|
|
71
|
+
function sharedFolderFolderName(folder) {
|
|
72
|
+
const data = folder.data;
|
|
73
|
+
return ((data === null || data === void 0 ? void 0 : data.title) || (data === null || data === void 0 ? void 0 : data.name) || folder.uid).trim() || folder.uid;
|
|
74
|
+
}
|
|
75
|
+
exports.sharedFolderFolderName = sharedFolderFolderName;
|
|
76
|
+
function sharedFolderName(folder) {
|
|
77
|
+
return (folder.name || folder.uid).trim() || folder.uid;
|
|
78
|
+
}
|
|
79
|
+
exports.sharedFolderName = sharedFolderName;
|
|
80
|
+
function globToRegex(pattern) {
|
|
81
|
+
const escapedPattern = (0, utils_1.escapeRegExp)(pattern);
|
|
82
|
+
const regexBody = escapedPattern.replace(/\*/g, '.*').replace(/\?/g, '.');
|
|
83
|
+
return new RegExp(`^${regexBody}$`, 'i');
|
|
84
|
+
}
|
|
85
|
+
exports.globToRegex = globToRegex;
|
|
86
|
+
async function getUserFolderParentMap(storage) {
|
|
87
|
+
const userFolders = storage.getAll(FolderKind.UserFolder);
|
|
88
|
+
const childToParent = new Map();
|
|
89
|
+
for (const userFolder of userFolders) {
|
|
90
|
+
const dependencies = (await storage.getDependencies(userFolder.uid)) || [];
|
|
91
|
+
for (const dependency of dependencies) {
|
|
92
|
+
if (dependency.kind === FolderKind.UserFolder) {
|
|
93
|
+
childToParent.set(dependency.uid, userFolder.uid);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return childToParent;
|
|
98
|
+
}
|
|
99
|
+
exports.getUserFolderParentMap = getUserFolderParentMap;
|
|
100
|
+
//# sourceMappingURL=folderHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folderHelpers.js","sourceRoot":"","sources":["../../../src/folders/folderHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { InMemoryStorage } from '../storage/InMemoryStorage';
|
|
2
|
+
import { type VaultFolderSession } from './changeDirectory';
|
|
3
|
+
export type FolderTreeBuildOptions = {
|
|
4
|
+
folderPath?: string | null;
|
|
5
|
+
verbose?: boolean;
|
|
6
|
+
showRecords?: boolean;
|
|
7
|
+
showShares?: boolean;
|
|
8
|
+
hideSharesKey?: boolean;
|
|
9
|
+
title?: string | null;
|
|
10
|
+
};
|
|
11
|
+
export type FolderTreeNode = {
|
|
12
|
+
displayName: string;
|
|
13
|
+
children: FolderTreeNode[];
|
|
14
|
+
permissions?: {
|
|
15
|
+
display: string;
|
|
16
|
+
}[];
|
|
17
|
+
records?: {
|
|
18
|
+
display: string;
|
|
19
|
+
}[];
|
|
20
|
+
};
|
|
21
|
+
export type FolderTreeResult = {
|
|
22
|
+
title?: string | null;
|
|
23
|
+
root: FolderTreeNode;
|
|
24
|
+
};
|
|
25
|
+
export declare function userPermissionToText(manageUsers: boolean, manageRecords: boolean): string;
|
|
26
|
+
export declare function recordPermissionToText(canEdit: boolean, canShare: boolean): string;
|
|
27
|
+
export declare function buildFolderTree(storage: InMemoryStorage, session: VaultFolderSession, options?: FolderTreeBuildOptions): Promise<FolderTreeResult>;
|
|
28
|
+
export declare function renderFolderTreeAscii(result: FolderTreeResult): string;
|
|
29
|
+
export declare function folderTreeAscii(storage: InMemoryStorage, session: VaultFolderSession, options?: FolderTreeBuildOptions): Promise<string>;
|