@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 @@
|
|
|
1
|
+
{"version":3,"file":"Sharing.js","sourceRoot":"","sources":["../../../src/sharing/Sharing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { VaultStorage, VaultStorageData, VaultStorageKind, VaultStorageResult, Dependency, Dependencies, RemovedDependencies, DRecord } from '@keeper-security/keeperapi';
|
|
2
|
+
export declare class InMemoryStorage implements VaultStorage {
|
|
3
|
+
private keys;
|
|
4
|
+
private objects;
|
|
5
|
+
private store;
|
|
6
|
+
private dependenciesByParent;
|
|
7
|
+
private arrayCache;
|
|
8
|
+
getKeyBytes(keyId: string): Promise<Uint8Array | undefined>;
|
|
9
|
+
saveKeyBytes(keyId: string, key: Uint8Array): Promise<void>;
|
|
10
|
+
getObject<T>(key: string): Promise<T | undefined>;
|
|
11
|
+
saveObject<T>(key: string, value: T): Promise<void>;
|
|
12
|
+
put(item: VaultStorageData): Promise<void>;
|
|
13
|
+
get<T extends VaultStorageKind>(kind: T, uid?: string): Promise<VaultStorageResult<T>>;
|
|
14
|
+
delete(kind: VaultStorageKind, uid: string | Uint8Array): Promise<void>;
|
|
15
|
+
clear(): Promise<void>;
|
|
16
|
+
getDependencies(uid: string): Promise<Dependency[] | undefined>;
|
|
17
|
+
addDependencies(dependencies: Dependencies): Promise<void>;
|
|
18
|
+
removeDependencies(dependencies: RemovedDependencies): Promise<void>;
|
|
19
|
+
getAll<T extends VaultStorageData>(kind: VaultStorageKind): T[];
|
|
20
|
+
getRecords(): DRecord[];
|
|
21
|
+
getByUid<T extends VaultStorageData>(kind: VaultStorageKind, uid: string): T | undefined;
|
|
22
|
+
getCount(kind: VaultStorageKind): number;
|
|
23
|
+
private extractUid;
|
|
24
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InMemoryStorage = void 0;
|
|
4
|
+
const keeperapi_1 = require("@keeper-security/keeperapi");
|
|
5
|
+
const folderHelpers_1 = require("../folders/folderHelpers");
|
|
6
|
+
class InMemoryStorage {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.keys = new Map();
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- KeyStorage.saveObject<T> is unconstrained
|
|
10
|
+
this.objects = new Map();
|
|
11
|
+
this.store = new Map();
|
|
12
|
+
this.dependenciesByParent = new Map();
|
|
13
|
+
this.arrayCache = new Map();
|
|
14
|
+
}
|
|
15
|
+
async getKeyBytes(keyId) {
|
|
16
|
+
return this.keys.get(keyId);
|
|
17
|
+
}
|
|
18
|
+
async saveKeyBytes(keyId, key) {
|
|
19
|
+
this.keys.set(keyId, key);
|
|
20
|
+
}
|
|
21
|
+
async getObject(key) {
|
|
22
|
+
return this.objects.get(key);
|
|
23
|
+
}
|
|
24
|
+
async saveObject(key, value) {
|
|
25
|
+
this.objects.set(key, value);
|
|
26
|
+
}
|
|
27
|
+
async put(item) {
|
|
28
|
+
const kind = item.kind;
|
|
29
|
+
if (!this.store.has(kind)) {
|
|
30
|
+
this.store.set(kind, new Map());
|
|
31
|
+
}
|
|
32
|
+
const uid = this.extractUid(item);
|
|
33
|
+
this.store.get(kind).set(uid, item);
|
|
34
|
+
this.arrayCache.delete(kind);
|
|
35
|
+
}
|
|
36
|
+
async get(kind, uid) {
|
|
37
|
+
const kindMap = this.store.get(kind);
|
|
38
|
+
if (!kindMap)
|
|
39
|
+
return undefined;
|
|
40
|
+
if (uid) {
|
|
41
|
+
return kindMap.get(uid);
|
|
42
|
+
}
|
|
43
|
+
const first = kindMap.values().next();
|
|
44
|
+
return (first.done ? undefined : first.value);
|
|
45
|
+
}
|
|
46
|
+
async delete(kind, uid) {
|
|
47
|
+
var _a;
|
|
48
|
+
const uidStr = typeof uid === 'string' ? uid : (0, keeperapi_1.webSafe64FromBytes)(uid);
|
|
49
|
+
(_a = this.store.get(kind)) === null || _a === void 0 ? void 0 : _a.delete(uidStr);
|
|
50
|
+
this.arrayCache.delete(kind);
|
|
51
|
+
}
|
|
52
|
+
async clear() {
|
|
53
|
+
this.store.clear();
|
|
54
|
+
this.keys.clear();
|
|
55
|
+
this.objects.clear();
|
|
56
|
+
this.dependenciesByParent.clear();
|
|
57
|
+
this.arrayCache.clear();
|
|
58
|
+
}
|
|
59
|
+
async getDependencies(uid) {
|
|
60
|
+
return this.dependenciesByParent.get(uid);
|
|
61
|
+
}
|
|
62
|
+
async addDependencies(dependencies) {
|
|
63
|
+
for (const [parentUid, children] of Object.entries(dependencies)) {
|
|
64
|
+
if (!this.dependenciesByParent.has(parentUid)) {
|
|
65
|
+
this.dependenciesByParent.set(parentUid, []);
|
|
66
|
+
}
|
|
67
|
+
const existing = this.dependenciesByParent.get(parentUid);
|
|
68
|
+
const seenChildUids = new Set(existing.map((dependency) => dependency.uid));
|
|
69
|
+
for (const child of children) {
|
|
70
|
+
if (!seenChildUids.has(child.uid)) {
|
|
71
|
+
existing.push(child);
|
|
72
|
+
seenChildUids.add(child.uid);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async removeDependencies(dependencies) {
|
|
78
|
+
for (const [parentUid, children] of Object.entries(dependencies)) {
|
|
79
|
+
if (children === '*') {
|
|
80
|
+
this.dependenciesByParent.delete(parentUid);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const existing = this.dependenciesByParent.get(parentUid);
|
|
84
|
+
if (existing) {
|
|
85
|
+
const removeSet = children;
|
|
86
|
+
this.dependenciesByParent.set(parentUid, existing.filter((dependency) => !removeSet.has(dependency.uid)));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
getAll(kind) {
|
|
92
|
+
const cached = this.arrayCache.get(kind);
|
|
93
|
+
if (cached)
|
|
94
|
+
return cached;
|
|
95
|
+
const kindMap = this.store.get(kind);
|
|
96
|
+
if (!kindMap)
|
|
97
|
+
return [];
|
|
98
|
+
const arr = Array.from(kindMap.values());
|
|
99
|
+
this.arrayCache.set(kind, arr);
|
|
100
|
+
return arr;
|
|
101
|
+
}
|
|
102
|
+
getRecords() {
|
|
103
|
+
return this.getAll(folderHelpers_1.VaultObjectKind.Record);
|
|
104
|
+
}
|
|
105
|
+
getByUid(kind, uid) {
|
|
106
|
+
var _a;
|
|
107
|
+
return (_a = this.store.get(kind)) === null || _a === void 0 ? void 0 : _a.get(uid);
|
|
108
|
+
}
|
|
109
|
+
getCount(kind) {
|
|
110
|
+
var _a, _b;
|
|
111
|
+
return (_b = (_a = this.store.get(kind)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0;
|
|
112
|
+
}
|
|
113
|
+
extractUid(item) {
|
|
114
|
+
const record = item;
|
|
115
|
+
const accountUidStr = typeof record.accountUid === 'string'
|
|
116
|
+
? record.accountUid
|
|
117
|
+
: record.accountUid instanceof Uint8Array
|
|
118
|
+
? (0, keeperapi_1.webSafe64FromBytes)(record.accountUid)
|
|
119
|
+
: undefined;
|
|
120
|
+
if (record.uid)
|
|
121
|
+
return record.uid;
|
|
122
|
+
if (record.token)
|
|
123
|
+
return record.token;
|
|
124
|
+
if (record.sharedFolderUid && record.recordUid) {
|
|
125
|
+
return `${record.sharedFolderUid}:${record.recordUid}`;
|
|
126
|
+
}
|
|
127
|
+
if (record.sharedFolderUid && accountUidStr) {
|
|
128
|
+
return `${record.sharedFolderUid}:${accountUidStr}`;
|
|
129
|
+
}
|
|
130
|
+
if (record.sharedFolderUid && record.teamUid) {
|
|
131
|
+
return `${record.sharedFolderUid}:${record.teamUid}`;
|
|
132
|
+
}
|
|
133
|
+
if (item.kind === folderHelpers_1.VaultObjectKind.User && accountUidStr)
|
|
134
|
+
return accountUidStr;
|
|
135
|
+
return '_singleton_';
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.InMemoryStorage = InMemoryStorage;
|
|
139
|
+
//# sourceMappingURL=InMemoryStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InMemoryStorage.js","sourceRoot":"","sources":["../../../src/storage/InMemoryStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Auth } from '@keeper-security/keeperapi';
|
|
2
|
+
import { type FormatTeamsTableOptions, type FormattedTeamsTable, type ListTeamRow, type ListTeamsOptions } from './listTeams';
|
|
3
|
+
import { type FormatTeamViewOptions, type FormattedTeamViewTable, type TeamView } from './viewTeam';
|
|
4
|
+
export type AuthProvider = () => Auth;
|
|
5
|
+
export declare class TeamManager {
|
|
6
|
+
private readonly authProvider;
|
|
7
|
+
constructor(authProvider: AuthProvider);
|
|
8
|
+
listTeams(options?: ListTeamsOptions): Promise<ListTeamRow[]>;
|
|
9
|
+
formatTeamsTable(rows: ListTeamRow[], options?: FormatTeamsTableOptions): FormattedTeamsTable;
|
|
10
|
+
renderTeamsAsciiTable(table: FormattedTeamsTable, options?: {
|
|
11
|
+
minColWidth?: number;
|
|
12
|
+
}): string;
|
|
13
|
+
viewTeam(identifier: string): Promise<TeamView>;
|
|
14
|
+
formatTeamView(view: TeamView, options?: FormatTeamViewOptions): FormattedTeamViewTable;
|
|
15
|
+
teamViewTable(table: FormattedTeamViewTable): string;
|
|
16
|
+
private requireAuth;
|
|
17
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TeamManager = void 0;
|
|
4
|
+
const utils_1 = require("../utils");
|
|
5
|
+
const listTeams_1 = require("./listTeams");
|
|
6
|
+
const viewTeam_1 = require("./viewTeam");
|
|
7
|
+
class TeamManager {
|
|
8
|
+
constructor(authProvider) {
|
|
9
|
+
this.authProvider = authProvider;
|
|
10
|
+
}
|
|
11
|
+
async listTeams(options = {}) {
|
|
12
|
+
return (0, listTeams_1.listTeams)(this.requireAuth(), options);
|
|
13
|
+
}
|
|
14
|
+
formatTeamsTable(rows, options = {}) {
|
|
15
|
+
return (0, listTeams_1.formatTeamsTable)(rows, options);
|
|
16
|
+
}
|
|
17
|
+
renderTeamsAsciiTable(table, options = {}) {
|
|
18
|
+
return (0, listTeams_1.renderTeamsAsciiTable)(table, options);
|
|
19
|
+
}
|
|
20
|
+
async viewTeam(identifier) {
|
|
21
|
+
return (0, viewTeam_1.viewTeam)(this.requireAuth(), identifier);
|
|
22
|
+
}
|
|
23
|
+
formatTeamView(view, options = {}) {
|
|
24
|
+
return (0, viewTeam_1.formatTeamView)(view, options);
|
|
25
|
+
}
|
|
26
|
+
teamViewTable(table) {
|
|
27
|
+
return (0, viewTeam_1.teamViewTable)(table);
|
|
28
|
+
}
|
|
29
|
+
requireAuth() {
|
|
30
|
+
const auth = this.authProvider();
|
|
31
|
+
if (!auth) {
|
|
32
|
+
throw new utils_1.KeeperSdkError('You are not logged in. Please log in first.', utils_1.ResultCodes.NOT_LOGGED_IN);
|
|
33
|
+
}
|
|
34
|
+
return auth;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.TeamManager = TeamManager;
|
|
38
|
+
//# sourceMappingURL=TeamManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TeamManager.js","sourceRoot":"","sources":["../../../src/teams/TeamManager.ts"],"names":[],"mappings":";;;AACA,oCAAsD;AACtD,2CAQoB;AACpB,yCAOmB;AAInB,MAAa,WAAW;IAGpB,YAAY,YAA0B;QAClC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IACpC,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,UAA4B,EAAE;QACjD,OAAO,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAEM,gBAAgB,CAAC,IAAmB,EAAE,UAAmC,EAAE;QAC9E,OAAO,IAAA,4BAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAEM,qBAAqB,CAAC,KAA0B,EAAE,UAAoC,EAAE;QAC3F,OAAO,IAAA,iCAAqB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,UAAkB;QACpC,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAEM,cAAc,CAAC,IAAc,EAAE,UAAiC,EAAE;QACrE,OAAO,IAAA,yBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACxC,CAAC;IAEM,aAAa,CAAC,KAA6B;QAC9C,OAAO,IAAA,wBAAa,EAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAEO,WAAW;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAChC,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,IAAI,sBAAc,CAAC,6CAA6C,EAAE,mBAAW,CAAC,aAAa,CAAC,CAAA;SACrG;QACD,OAAO,IAAI,CAAA;IACf,CAAC;CACJ;AAtCD,kCAsCC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { type Auth } from '@keeper-security/keeperapi';
|
|
2
|
+
export declare enum EnterpriseDataInclude {
|
|
3
|
+
Nodes = "nodes",
|
|
4
|
+
Users = "users",
|
|
5
|
+
Roles = "roles",
|
|
6
|
+
RoleUsers = "role_users",
|
|
7
|
+
RoleTeams = "role_teams",
|
|
8
|
+
Teams = "teams",
|
|
9
|
+
TeamUsers = "team_users"
|
|
10
|
+
}
|
|
11
|
+
export type EnterpriseNode = {
|
|
12
|
+
node_id: number;
|
|
13
|
+
parent_id?: number;
|
|
14
|
+
encrypted_data?: string;
|
|
15
|
+
displayName?: string;
|
|
16
|
+
};
|
|
17
|
+
export type EnterpriseUser = {
|
|
18
|
+
enterprise_user_id: number;
|
|
19
|
+
username: string;
|
|
20
|
+
status?: string;
|
|
21
|
+
node_id?: number;
|
|
22
|
+
encrypted_data?: string;
|
|
23
|
+
full_name?: string;
|
|
24
|
+
job_title?: string;
|
|
25
|
+
};
|
|
26
|
+
export type EnterpriseRole = {
|
|
27
|
+
role_id: number;
|
|
28
|
+
node_id?: number;
|
|
29
|
+
encrypted_data?: string;
|
|
30
|
+
displayName?: string;
|
|
31
|
+
};
|
|
32
|
+
export type EnterpriseTeamRecord = {
|
|
33
|
+
team_uid: string;
|
|
34
|
+
name: string;
|
|
35
|
+
node_id: number;
|
|
36
|
+
restrict_view?: boolean;
|
|
37
|
+
restrict_edit?: boolean;
|
|
38
|
+
restrict_share?: boolean;
|
|
39
|
+
restrict_sharing?: boolean;
|
|
40
|
+
encrypted_data?: string;
|
|
41
|
+
};
|
|
42
|
+
export type EnterpriseTeamUserLink = {
|
|
43
|
+
team_uid: string;
|
|
44
|
+
enterprise_user_id: number;
|
|
45
|
+
user_type?: string;
|
|
46
|
+
};
|
|
47
|
+
export type EnterpriseRoleUserLink = {
|
|
48
|
+
role_id: number;
|
|
49
|
+
enterprise_user_id: number;
|
|
50
|
+
};
|
|
51
|
+
export type EnterpriseRoleTeamLink = {
|
|
52
|
+
role_id: number;
|
|
53
|
+
team_uid: string;
|
|
54
|
+
};
|
|
55
|
+
export type GetEnterpriseDataResponse = {
|
|
56
|
+
enterprise_name?: string;
|
|
57
|
+
nodes?: EnterpriseNode[];
|
|
58
|
+
users?: EnterpriseUser[];
|
|
59
|
+
roles?: EnterpriseRole[];
|
|
60
|
+
teams?: EnterpriseTeamRecord[];
|
|
61
|
+
team_users?: EnterpriseTeamUserLink[];
|
|
62
|
+
role_users?: EnterpriseRoleUserLink[];
|
|
63
|
+
role_teams?: EnterpriseRoleTeamLink[];
|
|
64
|
+
};
|
|
65
|
+
export type NodePathOptions = {
|
|
66
|
+
omitRoot?: boolean;
|
|
67
|
+
separator?: string;
|
|
68
|
+
};
|
|
69
|
+
export type DecryptedNodeNames = Map<number, string>;
|
|
70
|
+
export type DecryptedRoleNames = Map<number, string>;
|
|
71
|
+
export type EnterpriseDisplayNames = {
|
|
72
|
+
nodes: DecryptedNodeNames;
|
|
73
|
+
roles: DecryptedRoleNames;
|
|
74
|
+
};
|
|
75
|
+
export interface EnterpriseDataManagerApi {
|
|
76
|
+
getData(includes: EnterpriseDataInclude[]): Promise<GetEnterpriseDataResponse>;
|
|
77
|
+
getDisplayNames(): Promise<EnterpriseDisplayNames>;
|
|
78
|
+
clearCache(): void;
|
|
79
|
+
}
|
|
80
|
+
export declare class EnterpriseDataManager implements EnterpriseDataManagerApi {
|
|
81
|
+
private readonly auth;
|
|
82
|
+
private displayNamesPromise;
|
|
83
|
+
private readonly dataCache;
|
|
84
|
+
constructor(auth: Auth);
|
|
85
|
+
getData(includes: EnterpriseDataInclude[]): Promise<GetEnterpriseDataResponse>;
|
|
86
|
+
getDisplayNames(): Promise<EnterpriseDisplayNames>;
|
|
87
|
+
clearCache(): void;
|
|
88
|
+
static getNodePath(nodes: EnterpriseNode[], nodeId: number, options?: NodePathOptions): string;
|
|
89
|
+
private static cacheKeyForIncludes;
|
|
90
|
+
private fetchEnterpriseData;
|
|
91
|
+
private fetchDisplayNames;
|
|
92
|
+
private fetchLegacyEnterpriseData;
|
|
93
|
+
private decryptTreeKey;
|
|
94
|
+
private static decryptDisplayName;
|
|
95
|
+
private static toNumber;
|
|
96
|
+
private static toUid;
|
|
97
|
+
private static decodeChunk;
|
|
98
|
+
private static decodeNodeChunk;
|
|
99
|
+
private static decodeUserChunk;
|
|
100
|
+
private static decodeRoleChunk;
|
|
101
|
+
private static decodeTeamChunk;
|
|
102
|
+
private static decodeTeamUserChunk;
|
|
103
|
+
private static decodeRoleUserChunk;
|
|
104
|
+
private static decodeRoleTeamChunk;
|
|
105
|
+
private static applyChunk;
|
|
106
|
+
}
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnterpriseDataManager = exports.EnterpriseDataInclude = void 0;
|
|
4
|
+
const keeperapi_1 = require("@keeper-security/keeperapi");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const DEFAULT_NODE_PATH_SEPARATOR = '\\';
|
|
7
|
+
const MAX_CONTINUATIONS = 50;
|
|
8
|
+
const LEGACY_ENTERPRISE_DATA_COMMAND = 'get_enterprise_data';
|
|
9
|
+
var EnterpriseDataInclude;
|
|
10
|
+
(function (EnterpriseDataInclude) {
|
|
11
|
+
EnterpriseDataInclude["Nodes"] = "nodes";
|
|
12
|
+
EnterpriseDataInclude["Users"] = "users";
|
|
13
|
+
EnterpriseDataInclude["Roles"] = "roles";
|
|
14
|
+
EnterpriseDataInclude["RoleUsers"] = "role_users";
|
|
15
|
+
EnterpriseDataInclude["RoleTeams"] = "role_teams";
|
|
16
|
+
EnterpriseDataInclude["Teams"] = "teams";
|
|
17
|
+
EnterpriseDataInclude["TeamUsers"] = "team_users";
|
|
18
|
+
})(EnterpriseDataInclude = exports.EnterpriseDataInclude || (exports.EnterpriseDataInclude = {}));
|
|
19
|
+
var LegacyEnterpriseKeyType;
|
|
20
|
+
(function (LegacyEnterpriseKeyType) {
|
|
21
|
+
LegacyEnterpriseKeyType[LegacyEnterpriseKeyType["EncryptedByDataKey"] = 1] = "EncryptedByDataKey";
|
|
22
|
+
LegacyEnterpriseKeyType[LegacyEnterpriseKeyType["EncryptedByPublicKey"] = 2] = "EncryptedByPublicKey";
|
|
23
|
+
})(LegacyEnterpriseKeyType || (LegacyEnterpriseKeyType = {}));
|
|
24
|
+
const INCLUDE_TO_ENTITY = {
|
|
25
|
+
[EnterpriseDataInclude.Nodes]: keeperapi_1.Enterprise.EnterpriseDataEntity.NODES,
|
|
26
|
+
[EnterpriseDataInclude.Users]: keeperapi_1.Enterprise.EnterpriseDataEntity.USERS,
|
|
27
|
+
[EnterpriseDataInclude.Roles]: keeperapi_1.Enterprise.EnterpriseDataEntity.ROLES,
|
|
28
|
+
[EnterpriseDataInclude.RoleUsers]: keeperapi_1.Enterprise.EnterpriseDataEntity.ROLE_USERS,
|
|
29
|
+
[EnterpriseDataInclude.RoleTeams]: keeperapi_1.Enterprise.EnterpriseDataEntity.ROLE_TEAMS,
|
|
30
|
+
[EnterpriseDataInclude.Teams]: keeperapi_1.Enterprise.EnterpriseDataEntity.TEAMS,
|
|
31
|
+
[EnterpriseDataInclude.TeamUsers]: keeperapi_1.Enterprise.EnterpriseDataEntity.TEAM_USERS,
|
|
32
|
+
};
|
|
33
|
+
class EnterpriseDataManager {
|
|
34
|
+
constructor(auth) {
|
|
35
|
+
this.displayNamesPromise = null;
|
|
36
|
+
this.dataCache = new Map();
|
|
37
|
+
this.auth = auth;
|
|
38
|
+
}
|
|
39
|
+
async getData(includes) {
|
|
40
|
+
const key = EnterpriseDataManager.cacheKeyForIncludes(includes);
|
|
41
|
+
let promise = this.dataCache.get(key);
|
|
42
|
+
if (!promise) {
|
|
43
|
+
promise = this.fetchEnterpriseData(includes);
|
|
44
|
+
this.dataCache.set(key, promise);
|
|
45
|
+
}
|
|
46
|
+
return promise;
|
|
47
|
+
}
|
|
48
|
+
async getDisplayNames() {
|
|
49
|
+
if (!this.displayNamesPromise) {
|
|
50
|
+
this.displayNamesPromise = this.fetchDisplayNames();
|
|
51
|
+
}
|
|
52
|
+
return this.displayNamesPromise;
|
|
53
|
+
}
|
|
54
|
+
clearCache() {
|
|
55
|
+
this.dataCache.clear();
|
|
56
|
+
this.displayNamesPromise = null;
|
|
57
|
+
}
|
|
58
|
+
static getNodePath(nodes, nodeId, options = {}) {
|
|
59
|
+
const { omitRoot = true, separator = DEFAULT_NODE_PATH_SEPARATOR } = options;
|
|
60
|
+
const byId = new Map();
|
|
61
|
+
for (const node of nodes)
|
|
62
|
+
byId.set(node.node_id, node);
|
|
63
|
+
const visited = new Set();
|
|
64
|
+
const segments = [];
|
|
65
|
+
let currentId = nodeId;
|
|
66
|
+
while ((0, utils_1.isNumber)(currentId) && currentId > 0 && !visited.has(currentId)) {
|
|
67
|
+
visited.add(currentId);
|
|
68
|
+
const node = byId.get(currentId);
|
|
69
|
+
if (!node)
|
|
70
|
+
break;
|
|
71
|
+
const parentId = node.parent_id || 0;
|
|
72
|
+
const isRoot = parentId === 0;
|
|
73
|
+
if (!isRoot || !omitRoot) {
|
|
74
|
+
const segmentName = (node.displayName || '').trim();
|
|
75
|
+
if (segmentName)
|
|
76
|
+
segments.push(segmentName);
|
|
77
|
+
}
|
|
78
|
+
currentId = parentId;
|
|
79
|
+
}
|
|
80
|
+
segments.reverse();
|
|
81
|
+
return segments.join(separator);
|
|
82
|
+
}
|
|
83
|
+
static cacheKeyForIncludes(includes) {
|
|
84
|
+
return [...includes].sort().join(',');
|
|
85
|
+
}
|
|
86
|
+
async fetchEnterpriseData(includes) {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
const interesting = new Set(includes.map((key) => INCLUDE_TO_ENTITY[key]));
|
|
89
|
+
const aggregate = {};
|
|
90
|
+
let continuationToken;
|
|
91
|
+
for (let iteration = 0; iteration < MAX_CONTINUATIONS; iteration += 1) {
|
|
92
|
+
const request = {};
|
|
93
|
+
if (continuationToken)
|
|
94
|
+
request.continuationToken = continuationToken;
|
|
95
|
+
const response = await this.auth.executeRest((0, keeperapi_1.getEnterpriseDataForUserMessage)(request));
|
|
96
|
+
if ((_a = response.generalData) === null || _a === void 0 ? void 0 : _a.enterpriseName) {
|
|
97
|
+
aggregate.enterprise_name = response.generalData.enterpriseName;
|
|
98
|
+
}
|
|
99
|
+
for (const chunk of response.data || []) {
|
|
100
|
+
const entity = (_b = chunk.entity) !== null && _b !== void 0 ? _b : keeperapi_1.Enterprise.EnterpriseDataEntity.UNKNOWN;
|
|
101
|
+
if (!interesting.has(entity))
|
|
102
|
+
continue;
|
|
103
|
+
EnterpriseDataManager.applyChunk(chunk, aggregate);
|
|
104
|
+
}
|
|
105
|
+
if (!response.hasMore)
|
|
106
|
+
break;
|
|
107
|
+
if (!response.continuationToken || response.continuationToken.length === 0)
|
|
108
|
+
break;
|
|
109
|
+
continuationToken = response.continuationToken;
|
|
110
|
+
}
|
|
111
|
+
return aggregate;
|
|
112
|
+
}
|
|
113
|
+
async fetchDisplayNames() {
|
|
114
|
+
const empty = { nodes: new Map(), roles: new Map() };
|
|
115
|
+
const response = await this.fetchLegacyEnterpriseData();
|
|
116
|
+
if (!response)
|
|
117
|
+
return empty;
|
|
118
|
+
const treeKey = await this.decryptTreeKey(response);
|
|
119
|
+
if (!treeKey)
|
|
120
|
+
return empty;
|
|
121
|
+
const nodes = new Map();
|
|
122
|
+
for (const node of response.nodes || []) {
|
|
123
|
+
if (!(0, utils_1.isNumber)(node.node_id))
|
|
124
|
+
continue;
|
|
125
|
+
if (!node.encrypted_data)
|
|
126
|
+
continue;
|
|
127
|
+
const display = await EnterpriseDataManager.decryptDisplayName(node.encrypted_data, treeKey);
|
|
128
|
+
if (display)
|
|
129
|
+
nodes.set(node.node_id, display);
|
|
130
|
+
}
|
|
131
|
+
const roles = new Map();
|
|
132
|
+
for (const role of response.roles || []) {
|
|
133
|
+
if (!(0, utils_1.isNumber)(role.role_id))
|
|
134
|
+
continue;
|
|
135
|
+
if (!role.encrypted_data)
|
|
136
|
+
continue;
|
|
137
|
+
const display = await EnterpriseDataManager.decryptDisplayName(role.encrypted_data, treeKey);
|
|
138
|
+
if (display)
|
|
139
|
+
roles.set(role.role_id, display);
|
|
140
|
+
}
|
|
141
|
+
return { nodes, roles };
|
|
142
|
+
}
|
|
143
|
+
async fetchLegacyEnterpriseData() {
|
|
144
|
+
const command = {
|
|
145
|
+
baseRequest: { command: LEGACY_ENTERPRISE_DATA_COMMAND },
|
|
146
|
+
request: { include: [EnterpriseDataInclude.Nodes, EnterpriseDataInclude.Roles] },
|
|
147
|
+
authorization: {},
|
|
148
|
+
};
|
|
149
|
+
try {
|
|
150
|
+
const response = await this.auth.executeRestCommand(command);
|
|
151
|
+
if (response && (response.tree_key || response.nodes || response.roles))
|
|
152
|
+
return response;
|
|
153
|
+
}
|
|
154
|
+
catch (_a) {
|
|
155
|
+
}
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
async decryptTreeKey(response) {
|
|
159
|
+
const treeKey = response.tree_key;
|
|
160
|
+
if (!treeKey)
|
|
161
|
+
return null;
|
|
162
|
+
try {
|
|
163
|
+
if (response.key_type_id === LegacyEnterpriseKeyType.EncryptedByDataKey) {
|
|
164
|
+
const dataKey = this.auth.dataKey;
|
|
165
|
+
if (!dataKey)
|
|
166
|
+
return null;
|
|
167
|
+
return await (0, keeperapi_1.decryptFromStorage)(treeKey, dataKey);
|
|
168
|
+
}
|
|
169
|
+
const privateKey = this.auth.privateKey;
|
|
170
|
+
if (!privateKey)
|
|
171
|
+
return null;
|
|
172
|
+
return keeperapi_1.platform.privateDecrypt((0, keeperapi_1.normal64Bytes)(treeKey), privateKey);
|
|
173
|
+
}
|
|
174
|
+
catch (_a) {
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
static async decryptDisplayName(encrypted, treeKey) {
|
|
179
|
+
try {
|
|
180
|
+
const decrypted = await (0, keeperapi_1.decryptObjectFromStorage)(encrypted, treeKey);
|
|
181
|
+
return ((decrypted === null || decrypted === void 0 ? void 0 : decrypted.displayname) || '').trim();
|
|
182
|
+
}
|
|
183
|
+
catch (_a) {
|
|
184
|
+
return '';
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
static toNumber(value) {
|
|
188
|
+
if (value == null)
|
|
189
|
+
return 0;
|
|
190
|
+
if ((0, utils_1.isNumber)(value))
|
|
191
|
+
return value;
|
|
192
|
+
if (typeof value.toNumber === 'function')
|
|
193
|
+
return value.toNumber();
|
|
194
|
+
const parsed = Number(value.toString());
|
|
195
|
+
return Number.isFinite(parsed) ? parsed : 0;
|
|
196
|
+
}
|
|
197
|
+
static toUid(bytes) {
|
|
198
|
+
return bytes && bytes.length > 0 ? (0, keeperapi_1.webSafe64FromBytes)(bytes) : '';
|
|
199
|
+
}
|
|
200
|
+
static decodeChunk(chunkData, decoder) {
|
|
201
|
+
if (!chunkData || chunkData.length === 0)
|
|
202
|
+
return [];
|
|
203
|
+
const results = [];
|
|
204
|
+
for (const bytes of chunkData) {
|
|
205
|
+
try {
|
|
206
|
+
results.push(decoder(bytes));
|
|
207
|
+
}
|
|
208
|
+
catch (_a) {
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return results;
|
|
212
|
+
}
|
|
213
|
+
static decodeNodeChunk(bytes) {
|
|
214
|
+
const message = keeperapi_1.Enterprise.Node.decode(bytes);
|
|
215
|
+
const out = { node_id: EnterpriseDataManager.toNumber(message.nodeId) };
|
|
216
|
+
if (message.parentId != null)
|
|
217
|
+
out.parent_id = EnterpriseDataManager.toNumber(message.parentId);
|
|
218
|
+
if (message.encryptedData)
|
|
219
|
+
out.encrypted_data = message.encryptedData;
|
|
220
|
+
return out;
|
|
221
|
+
}
|
|
222
|
+
static decodeUserChunk(bytes) {
|
|
223
|
+
const message = keeperapi_1.Enterprise.User.decode(bytes);
|
|
224
|
+
const out = {
|
|
225
|
+
enterprise_user_id: EnterpriseDataManager.toNumber(message.enterpriseUserId),
|
|
226
|
+
username: message.username || '',
|
|
227
|
+
};
|
|
228
|
+
if (message.status)
|
|
229
|
+
out.status = message.status;
|
|
230
|
+
if (message.nodeId != null)
|
|
231
|
+
out.node_id = EnterpriseDataManager.toNumber(message.nodeId);
|
|
232
|
+
if (message.encryptedData)
|
|
233
|
+
out.encrypted_data = message.encryptedData;
|
|
234
|
+
if (message.fullName)
|
|
235
|
+
out.full_name = message.fullName;
|
|
236
|
+
if (message.jobTitle)
|
|
237
|
+
out.job_title = message.jobTitle;
|
|
238
|
+
return out;
|
|
239
|
+
}
|
|
240
|
+
static decodeRoleChunk(bytes) {
|
|
241
|
+
const message = keeperapi_1.Enterprise.Role.decode(bytes);
|
|
242
|
+
const out = { role_id: EnterpriseDataManager.toNumber(message.roleId) };
|
|
243
|
+
if (message.nodeId != null)
|
|
244
|
+
out.node_id = EnterpriseDataManager.toNumber(message.nodeId);
|
|
245
|
+
if (message.encryptedData)
|
|
246
|
+
out.encrypted_data = message.encryptedData;
|
|
247
|
+
return out;
|
|
248
|
+
}
|
|
249
|
+
static decodeTeamChunk(bytes) {
|
|
250
|
+
const message = keeperapi_1.Enterprise.Team.decode(bytes);
|
|
251
|
+
const out = {
|
|
252
|
+
team_uid: EnterpriseDataManager.toUid(message.teamUid),
|
|
253
|
+
name: message.name || '',
|
|
254
|
+
node_id: EnterpriseDataManager.toNumber(message.nodeId),
|
|
255
|
+
restrict_view: message.restrictView === true,
|
|
256
|
+
restrict_edit: message.restrictEdit === true,
|
|
257
|
+
restrict_share: message.restrictShare === true,
|
|
258
|
+
};
|
|
259
|
+
if (message.encryptedData)
|
|
260
|
+
out.encrypted_data = message.encryptedData;
|
|
261
|
+
return out;
|
|
262
|
+
}
|
|
263
|
+
static decodeTeamUserChunk(bytes) {
|
|
264
|
+
const message = keeperapi_1.Enterprise.TeamUser.decode(bytes);
|
|
265
|
+
const out = {
|
|
266
|
+
team_uid: EnterpriseDataManager.toUid(message.teamUid),
|
|
267
|
+
enterprise_user_id: EnterpriseDataManager.toNumber(message.enterpriseUserId),
|
|
268
|
+
};
|
|
269
|
+
if (message.userType)
|
|
270
|
+
out.user_type = message.userType;
|
|
271
|
+
return out;
|
|
272
|
+
}
|
|
273
|
+
static decodeRoleUserChunk(bytes) {
|
|
274
|
+
const message = keeperapi_1.Enterprise.RoleUser.decode(bytes);
|
|
275
|
+
return {
|
|
276
|
+
role_id: EnterpriseDataManager.toNumber(message.roleId),
|
|
277
|
+
enterprise_user_id: EnterpriseDataManager.toNumber(message.enterpriseUserId),
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
static decodeRoleTeamChunk(bytes) {
|
|
281
|
+
const message = keeperapi_1.Enterprise.RoleTeam.decode(bytes);
|
|
282
|
+
return {
|
|
283
|
+
role_id: EnterpriseDataManager.toNumber(message.roleId),
|
|
284
|
+
team_uid: EnterpriseDataManager.toUid(message.teamUid),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
static applyChunk(chunk, target) {
|
|
288
|
+
var _a;
|
|
289
|
+
const entity = (_a = chunk.entity) !== null && _a !== void 0 ? _a : keeperapi_1.Enterprise.EnterpriseDataEntity.UNKNOWN;
|
|
290
|
+
const data = chunk.data || [];
|
|
291
|
+
switch (entity) {
|
|
292
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.NODES:
|
|
293
|
+
target.nodes = (target.nodes || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeNodeChunk));
|
|
294
|
+
break;
|
|
295
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.USERS:
|
|
296
|
+
target.users = (target.users || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeUserChunk));
|
|
297
|
+
break;
|
|
298
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.ROLES:
|
|
299
|
+
target.roles = (target.roles || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeRoleChunk));
|
|
300
|
+
break;
|
|
301
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.TEAMS:
|
|
302
|
+
target.teams = (target.teams || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeTeamChunk));
|
|
303
|
+
break;
|
|
304
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.TEAM_USERS:
|
|
305
|
+
target.team_users = (target.team_users || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeTeamUserChunk));
|
|
306
|
+
break;
|
|
307
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.ROLE_USERS:
|
|
308
|
+
target.role_users = (target.role_users || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeRoleUserChunk));
|
|
309
|
+
break;
|
|
310
|
+
case keeperapi_1.Enterprise.EnterpriseDataEntity.ROLE_TEAMS:
|
|
311
|
+
target.role_teams = (target.role_teams || []).concat(EnterpriseDataManager.decodeChunk(data, EnterpriseDataManager.decodeRoleTeamChunk));
|
|
312
|
+
break;
|
|
313
|
+
default:
|
|
314
|
+
break;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
exports.EnterpriseDataManager = EnterpriseDataManager;
|
|
319
|
+
//# sourceMappingURL=enterpriseData.js.map
|