Skip to content

Commit 7039f51

Browse files
authored
Merge pull request #38 from Keeper-Security/process-profile-pics
profile pic rebase
2 parents bc524f2 + 6edde9a commit 7039f51

File tree

2 files changed

+29
-3
lines changed

2 files changed

+29
-3
lines changed

keeperapi/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@keeper-security/keeperapi",
33
"description": "Keeper API Javascript SDK",
4-
"version": "16.0.48",
4+
"version": "16.0.49",
55
"browser": "dist/index.es.js",
66
"main": "dist/index.cjs.js",
77
"types": "dist/node/index.d.ts",

keeperapi/src/vaultx.ts

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ export type VaultStorage = KeyStorage & {
3636
delete(kind: VaultStorageKind, uid: string): Promise<void>
3737
}
3838

39-
export type VaultStorageData = DContinuationToken | DRecord | DRecordMetadata | DRecordNonSharedData | DTeam | DSharedFolder | DSharedFolderUser | DSharedFolderTeam | DSharedFolderRecord | DSharedFolderFolder | DUserFolder | DProfile | DReusedPasswords | DBWRecord | DBWSecurityData
39+
export type VaultStorageData = DProfilePic | DContinuationToken | DRecord | DRecordMetadata | DRecordNonSharedData | DTeam | DSharedFolder | DSharedFolderUser | DSharedFolderTeam | DSharedFolderRecord | DSharedFolderFolder | DUserFolder | DProfile | DReusedPasswords | DBWRecord | DBWSecurityData
4040

41-
export type VaultStorageKind = 'record' | 'metadata' | 'non_shared_data' | 'team' | 'shared_folder' | 'shared_folder_user' | 'shared_folder_team' | 'shared_folder_record' | 'shared_folder_folder' | 'user_folder' | 'profile' | 'continuationToken' | 'reused_passwords' | 'bw_record' | 'bw_security_data'
41+
export type VaultStorageKind = 'profilePic' | 'record' | 'metadata' | 'non_shared_data' | 'team' | 'shared_folder' | 'shared_folder_user' | 'shared_folder_team' | 'shared_folder_record' | 'shared_folder_folder' | 'user_folder' | 'profile' | 'continuationToken' | 'reused_passwords' | 'bw_record' | 'bw_security_data'
4242

4343
export type VaultStorageResult<T extends VaultStorageKind> = (
4444
T extends 'continuationToken' ? DContinuationToken :
@@ -166,6 +166,14 @@ export type DProfile = {
166166
revision: number
167167
}
168168

169+
export type DProfilePic = {
170+
kind: 'profilePic'
171+
data: {
172+
url: string
173+
revision: number
174+
}
175+
}
176+
169177
export type DBWRecord = {
170178
kind: 'bw_record'
171179
uid: string
@@ -664,6 +672,20 @@ const processProfile = async (profile: IProfile | null | undefined, storage: Vau
664672
}
665673
}
666674

675+
const processProfilePic = async (profilePic, storage) => {
676+
try {
677+
if (!profilePic)
678+
return;
679+
await storage.put({
680+
kind: 'profilePic',
681+
data: profilePic,
682+
});
683+
}
684+
catch (e: any) {
685+
console.error(`Profile picture cannot be decrypted (${e.message})`);
686+
}
687+
};
688+
667689
const processSharedFolderFolders = async (folders: ISharedFolderFolder[], storage: VaultStorage, dependencies: Dependencies) => {
668690
for (const folder of folders as NN<ISharedFolderFolder>[]) {
669691
const sharedFolderUid = webSafe64FromBytes(folder.sharedFolderUid)
@@ -1015,6 +1037,10 @@ export const syncDown = async (options: SyncDownOptions): Promise<SyncResult> =>
10151037
profiler?.time('processProfile')
10161038
await processProfile(resp.profile, storage)
10171039
profiler?.timeEnd('processProfile')
1040+
1041+
profiler?.time('processProfilePic')
1042+
await processProfilePic(resp.profilePic, storage);
1043+
profiler?.timeEnd('processProfilePic')
10181044

10191045
profiler?.time('processBreachWatchRecords')
10201046
await processBreachWatchRecords(resp.breachWatchRecords, storage)

0 commit comments

Comments
 (0)