internxt-crypto 0.0.11 → 0.0.14
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/{symmetric-crypto-CrdS1Che.mjs → aes-DCb9dJqb.mjs} +10 -46
- package/dist/aes-DCb9dJqb.mjs.map +1 -0
- package/dist/{symmetric-crypto-D65zB396.js → aes-DQo1MyCz.js} +13 -54
- package/dist/aes-DQo1MyCz.js.map +1 -0
- package/dist/asymmetric-crypto.d.mts +1 -4
- package/dist/asymmetric-crypto.d.mts.map +1 -0
- package/dist/asymmetric-crypto.d.ts +1 -4
- package/dist/asymmetric-crypto.d.ts.map +1 -0
- package/dist/asymmetric-crypto.js +8 -7
- package/dist/asymmetric-crypto.mjs +1 -1
- package/dist/{chunk-DWirmd9C.mjs → chunk-DQk6qfdC.mjs} +3 -3
- package/dist/{chunk-Dt-PWiN7.js → chunk-EbLFQX5m.js} +3 -3
- package/dist/constants.d.mts +5 -5
- package/dist/constants.d.mts.map +1 -0
- package/dist/constants.d.ts +5 -5
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +63 -30
- package/dist/constants.js.map +1 -0
- package/dist/constants.mjs +33 -2
- package/dist/constants.mjs.map +1 -0
- package/dist/derive-key.d.mts +1 -4
- package/dist/derive-key.d.mts.map +1 -0
- package/dist/derive-key.d.ts +1 -4
- package/dist/derive-key.d.ts.map +1 -0
- package/dist/derive-key.js +12 -14
- package/dist/derive-key.mjs +1 -4
- package/dist/{derive-key-CBf2WxJd.js → deriveKeysFromPassword-BYaiSGKL.js} +26 -52
- package/dist/deriveKeysFromPassword-BYaiSGKL.js.map +1 -0
- package/dist/{derive-key-Be7hS-cN.mjs → deriveKeysFromPassword-XIwzErlL.mjs} +7 -28
- package/dist/deriveKeysFromPassword-XIwzErlL.mjs.map +1 -0
- package/dist/email-crypto.d.mts +2 -5
- package/dist/email-crypto.d.mts.map +1 -0
- package/dist/email-crypto.d.ts +2 -5
- package/dist/email-crypto.d.ts.map +1 -0
- package/dist/email-crypto.js +12 -16
- package/dist/email-crypto.mjs +1 -6
- package/dist/email-search.d.mts +20 -23
- package/dist/email-search.d.mts.map +1 -0
- package/dist/email-search.d.ts +20 -23
- package/dist/email-search.d.ts.map +1 -0
- package/dist/email-search.js +25 -63
- package/dist/email-search.js.map +1 -1
- package/dist/email-search.mjs +17 -51
- package/dist/email-search.mjs.map +1 -1
- package/dist/{keystore-crypto-Bjgriq9h.mjs → emailEncryptionKey-B9xHw1h_.mjs} +12 -21
- package/dist/emailEncryptionKey-B9xHw1h_.mjs.map +1 -0
- package/dist/{keystore-crypto-B4yCVo9l.js → emailEncryptionKey-CQNe5W_T.js} +25 -40
- package/dist/emailEncryptionKey-CQNe5W_T.js.map +1 -0
- package/dist/{email-crypto-BrT98taw.js → emailKeys-C0KhtfNP.js} +67 -112
- package/dist/emailKeys-C0KhtfNP.js.map +1 -0
- package/dist/{email-crypto-DJUEjTxA.mjs → emailKeys-D4lp9NRv.mjs} +29 -75
- package/dist/emailKeys-D4lp9NRv.mjs.map +1 -0
- package/dist/{utils-DS04iUcX.mjs → genID-3Er5IowC.mjs} +4 -24
- package/dist/genID-3Er5IowC.mjs.map +1 -0
- package/dist/{utils-CNs3cyDj.js → genID-YJSl3YhL.js} +6 -31
- package/dist/genID-YJSl3YhL.js.map +1 -0
- package/dist/hash.d.mts +1 -4
- package/dist/hash.d.mts.map +1 -0
- package/dist/hash.d.ts +1 -4
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +11 -10
- package/dist/hash.mjs +1 -1
- package/dist/index.d.mts +19 -39
- package/dist/index.d.mts.map +1 -0
- package/dist/index.d.ts +19 -39
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +97 -88
- package/dist/index.mjs +12 -14
- package/dist/{asymmetric-crypto-CyXsV4XT.mjs → keys-BfcaiAOv.mjs} +3 -15
- package/dist/keys-BfcaiAOv.mjs.map +1 -0
- package/dist/{asymmetric-crypto-BORmLhnx.js → keys-CinT7kEY.js} +2 -20
- package/dist/keys-CinT7kEY.js.map +1 -0
- package/dist/keystore-crypto.d.mts +2 -5
- package/dist/keystore-crypto.d.mts.map +1 -0
- package/dist/keystore-crypto.d.ts +2 -5
- package/dist/keystore-crypto.d.ts.map +1 -0
- package/dist/keystore-crypto.js +5 -10
- package/dist/keystore-crypto.mjs +1 -7
- package/dist/kyber768-SXnIo-Nw.mjs +47 -0
- package/dist/kyber768-SXnIo-Nw.mjs.map +1 -0
- package/dist/kyber768-WUVc2fIR.js +65 -0
- package/dist/kyber768-WUVc2fIR.js.map +1 -0
- package/dist/{hash-BoqwNkcd.js → mac-BMb1F0dN.js} +3 -23
- package/dist/mac-BMb1F0dN.js.map +1 -0
- package/dist/{hash-CXeGAwai.mjs → mac-ZpRlx8Fs.mjs} +3 -18
- package/dist/mac-ZpRlx8Fs.mjs.map +1 -0
- package/dist/post-quantum-crypto.d.mts +32 -2
- package/dist/post-quantum-crypto.d.mts.map +1 -0
- package/dist/post-quantum-crypto.d.ts +32 -2
- package/dist/post-quantum-crypto.d.ts.map +1 -0
- package/dist/post-quantum-crypto.js +5 -16
- package/dist/post-quantum-crypto.mjs +2 -2
- package/dist/storage-service.d.mts +47 -2
- package/dist/storage-service.d.mts.map +1 -0
- package/dist/storage-service.d.ts +47 -2
- package/dist/storage-service.d.ts.map +1 -0
- package/dist/storage-service.js +58 -4
- package/dist/storage-service.js.map +1 -0
- package/dist/storage-service.mjs +55 -2
- package/dist/storage-service.mjs.map +1 -0
- package/dist/symmetric-crypto.d.mts +5 -8
- package/dist/symmetric-crypto.d.mts.map +1 -0
- package/dist/symmetric-crypto.d.ts +5 -8
- package/dist/symmetric-crypto.d.ts.map +1 -0
- package/dist/symmetric-crypto.js +9 -9
- package/dist/symmetric-crypto.mjs +1 -2
- package/dist/types.d.mts +108 -2
- package/dist/types.d.mts.map +1 -0
- package/dist/types.d.ts +108 -2
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +11 -2
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +9 -2
- package/dist/types.mjs.map +1 -0
- package/dist/utils.d.mts +2 -5
- package/dist/utils.d.mts.map +1 -0
- package/dist/utils.d.ts +2 -5
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +16 -15
- package/dist/utils.mjs +1 -1
- package/package.json +24 -14
- package/dist/asymmetric-crypto-BORmLhnx.js.map +0 -1
- package/dist/asymmetric-crypto-CyXsV4XT.mjs.map +0 -1
- package/dist/constants-Ccp21E03.js +0 -208
- package/dist/constants-Ccp21E03.js.map +0 -1
- package/dist/constants-kTeX-2T0.mjs +0 -34
- package/dist/constants-kTeX-2T0.mjs.map +0 -1
- package/dist/derive-key-Be7hS-cN.mjs.map +0 -1
- package/dist/derive-key-CBf2WxJd.js.map +0 -1
- package/dist/email-crypto-BrT98taw.js.map +0 -1
- package/dist/email-crypto-DJUEjTxA.mjs.map +0 -1
- package/dist/hash-BoqwNkcd.js.map +0 -1
- package/dist/hash-CXeGAwai.mjs.map +0 -1
- package/dist/index-CQqgKsbX.d.ts +0 -50
- package/dist/index-CintVUbp.d.ts +0 -97
- package/dist/index-D5pBU_A5.d.mts +0 -50
- package/dist/index-MaOov-ag.d.mts +0 -97
- package/dist/keystore-crypto-B4yCVo9l.js.map +0 -1
- package/dist/keystore-crypto-Bjgriq9h.mjs.map +0 -1
- package/dist/keystore-service.d.mts +0 -48
- package/dist/keystore-service.d.ts +0 -48
- package/dist/keystore-service.js +0 -122
- package/dist/keystore-service.js.map +0 -1
- package/dist/keystore-service.mjs +0 -114
- package/dist/keystore-service.mjs.map +0 -1
- package/dist/post-quantum-crypto-CAi-cEkV.js +0 -189
- package/dist/post-quantum-crypto-CAi-cEkV.js.map +0 -1
- package/dist/post-quantum-crypto-Vv34t6gX.mjs +0 -154
- package/dist/post-quantum-crypto-Vv34t6gX.mjs.map +0 -1
- package/dist/storage-service-BgIK2aYZ.js +0 -82
- package/dist/storage-service-BgIK2aYZ.js.map +0 -1
- package/dist/storage-service-CubCbhY2.mjs +0 -65
- package/dist/storage-service-CubCbhY2.mjs.map +0 -1
- package/dist/symmetric-crypto-CrdS1Che.mjs.map +0 -1
- package/dist/symmetric-crypto-D65zB396.js.map +0 -1
- package/dist/types-52g887Zi.js +0 -16
- package/dist/types-52g887Zi.js.map +0 -1
- package/dist/types-BiEoleqw.mjs +0 -10
- package/dist/types-BiEoleqw.mjs.map +0 -1
- package/dist/types-Ds3ivE9W.d.ts +0 -104
- package/dist/types-DwQJtrTx.d.mts +0 -104
- package/dist/utils-CNs3cyDj.js.map +0 -1
- package/dist/utils-DS04iUcX.mjs.map +0 -1
package/dist/email-crypto.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Email, EmailKeys, EmailPublicParameters, HybridEncryptedEmail, PrivateKeys, PublicKeys, PwdProtectedEmail, User, UserWithPublicKeys } from "./types.mjs";
|
|
2
2
|
|
|
3
3
|
//#region src/email-crypto/hybridEncyptedEmail.d.ts
|
|
4
4
|
/**
|
|
@@ -78,9 +78,6 @@ declare function generateEmailKeys(): Promise<EmailKeys>;
|
|
|
78
78
|
* @returns The resulting auxiliary string
|
|
79
79
|
*/
|
|
80
80
|
declare function getAux(params: EmailPublicParameters, isSubjectEncrypted: boolean): Uint8Array;
|
|
81
|
-
declare namespace index_d_exports {
|
|
82
|
-
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
|
|
83
|
-
}
|
|
84
81
|
//#endregion
|
|
85
|
-
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes,
|
|
82
|
+
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
|
|
86
83
|
//# sourceMappingURL=email-crypto.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-crypto.d.mts","names":[],"sources":["../src/email-crypto/hybridEncyptedEmail.ts","../src/email-crypto/pwdProtectedEmail.ts","../src/email-crypto/converters.ts","../src/email-crypto/emailKeys.ts","../src/email-crypto/utils.ts"],"mappings":";;;;;AAYA;;;;;;;iBAAsB,kBAAA,CACpB,KAAA,EAAO,KAAA,EACP,SAAA,EAAW,kBAAA,EACX,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;;;;;;;iBAmBW,uCAAA,CACpB,KAAA,EAAO,KAAA,EACP,UAAA,EAAY,kBAAA,IACZ,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;AALX;;;;;iBAmCsB,kBAAA,CACpB,cAAA,EAAgB,oBAAA,EAChB,gBAAA,EAAkB,UAAA,EAClB,oBAAA,EAAsB,WAAA,GACrB,OAAA,CAAQ,KAAA;;;;;AA/DX;;;;;;iBCDsB,uBAAA,CACpB,KAAA,EAAO,KAAA,EACP,QAAA,UACA,kBAAA,aACC,OAAA,CAAQ,iBAAA;;;;;;;;iBAqBW,wBAAA,CAAyB,cAAA,EAAgB,iBAAA,EAAmB,QAAA,WAAmB,OAAA,CAAQ,KAAA;;;iBChC7F,WAAA,CAAY,IAAA,EAAM,IAAA,GAAO,UAAA;AAAA,iBASzB,iBAAA,CAAkB,UAAA,EAAY,IAAA,KAAS,UAAA;AFDvD;;;;;;AAAA,iBEgBgB,aAAA,CAAc,KAAA,EAAO,KAAA,GAAQ,UAAA;;;;;AFhB7C;;;iBGHsB,iBAAA,CAAA,GAAqB,OAAA,CAAQ,SAAA;;;;;AHGnD;;;;;iBIAgB,MAAA,CAAO,MAAA,EAAQ,qBAAA,EAAuB,kBAAA,YAA8B,UAAA"}
|
package/dist/email-crypto.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Email, EmailKeys, EmailPublicParameters, HybridEncryptedEmail, PrivateKeys, PublicKeys, PwdProtectedEmail, User, UserWithPublicKeys } from "./types.js";
|
|
2
2
|
|
|
3
3
|
//#region src/email-crypto/hybridEncyptedEmail.d.ts
|
|
4
4
|
/**
|
|
@@ -78,9 +78,6 @@ declare function generateEmailKeys(): Promise<EmailKeys>;
|
|
|
78
78
|
* @returns The resulting auxiliary string
|
|
79
79
|
*/
|
|
80
80
|
declare function getAux(params: EmailPublicParameters, isSubjectEncrypted: boolean): Uint8Array;
|
|
81
|
-
declare namespace index_d_exports {
|
|
82
|
-
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
|
|
83
|
-
}
|
|
84
81
|
//#endregion
|
|
85
|
-
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes,
|
|
82
|
+
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
|
|
86
83
|
//# sourceMappingURL=email-crypto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-crypto.d.ts","names":[],"sources":["../src/email-crypto/hybridEncyptedEmail.ts","../src/email-crypto/pwdProtectedEmail.ts","../src/email-crypto/converters.ts","../src/email-crypto/emailKeys.ts","../src/email-crypto/utils.ts"],"mappings":";;;;;AAYA;;;;;;;iBAAsB,kBAAA,CACpB,KAAA,EAAO,KAAA,EACP,SAAA,EAAW,kBAAA,EACX,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;;;;;;;iBAmBW,uCAAA,CACpB,KAAA,EAAO,KAAA,EACP,UAAA,EAAY,kBAAA,IACZ,gBAAA,EAAkB,WAAA,EAClB,kBAAA,aACC,OAAA,CAAQ,oBAAA;;;;AALX;;;;;iBAmCsB,kBAAA,CACpB,cAAA,EAAgB,oBAAA,EAChB,gBAAA,EAAkB,UAAA,EAClB,oBAAA,EAAsB,WAAA,GACrB,OAAA,CAAQ,KAAA;;;;;AA/DX;;;;;;iBCDsB,uBAAA,CACpB,KAAA,EAAO,KAAA,EACP,QAAA,UACA,kBAAA,aACC,OAAA,CAAQ,iBAAA;;;;;;;;iBAqBW,wBAAA,CAAyB,cAAA,EAAgB,iBAAA,EAAmB,QAAA,WAAmB,OAAA,CAAQ,KAAA;;;iBChC7F,WAAA,CAAY,IAAA,EAAM,IAAA,GAAO,UAAA;AAAA,iBASzB,iBAAA,CAAkB,UAAA,EAAY,IAAA,KAAS,UAAA;AFDvD;;;;;;AAAA,iBEgBgB,aAAA,CAAc,KAAA,EAAO,KAAA,GAAQ,UAAA;;;;;AFhB7C;;;iBGHsB,iBAAA,CAAA,GAAqB,OAAA,CAAQ,SAAA;;;;;AHGnD;;;;;iBIAgB,MAAA,CAAO,MAAA,EAAQ,qBAAA,EAAuB,kBAAA,YAA8B,UAAA"}
|
package/dist/email-crypto.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
require('./
|
|
3
|
-
require('./symmetric-crypto-D65zB396.js');
|
|
4
|
-
require('./derive-key-CBf2WxJd.js');
|
|
5
|
-
require('./post-quantum-crypto-CAi-cEkV.js');
|
|
6
|
-
const require_email_crypto = require('./email-crypto-BrT98taw.js');
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_emailKeys = require('./emailKeys-C0KhtfNP.js');
|
|
7
3
|
|
|
8
|
-
exports.createPwdProtectedEmail =
|
|
9
|
-
exports.decryptEmailHybrid =
|
|
10
|
-
exports.decryptPwdProtectedEmail =
|
|
11
|
-
exports.emailToBinary =
|
|
12
|
-
exports.encryptEmailHybrid =
|
|
13
|
-
exports.encryptEmailHybridForMultipleRecipients =
|
|
14
|
-
exports.generateEmailKeys =
|
|
15
|
-
exports.getAux =
|
|
16
|
-
exports.recipientsToBytes =
|
|
17
|
-
exports.userToBytes =
|
|
4
|
+
exports.createPwdProtectedEmail = require_emailKeys.createPwdProtectedEmail;
|
|
5
|
+
exports.decryptEmailHybrid = require_emailKeys.decryptEmailHybrid;
|
|
6
|
+
exports.decryptPwdProtectedEmail = require_emailKeys.decryptPwdProtectedEmail;
|
|
7
|
+
exports.emailToBinary = require_emailKeys.emailToBinary;
|
|
8
|
+
exports.encryptEmailHybrid = require_emailKeys.encryptEmailHybrid;
|
|
9
|
+
exports.encryptEmailHybridForMultipleRecipients = require_emailKeys.encryptEmailHybridForMultipleRecipients;
|
|
10
|
+
exports.generateEmailKeys = require_emailKeys.generateEmailKeys;
|
|
11
|
+
exports.getAux = require_emailKeys.getAux;
|
|
12
|
+
exports.recipientsToBytes = require_emailKeys.recipientsToBytes;
|
|
13
|
+
exports.userToBytes = require_emailKeys.userToBytes;
|
package/dist/email-crypto.mjs
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./hash-CXeGAwai.mjs";
|
|
3
|
-
import "./symmetric-crypto-CrdS1Che.mjs";
|
|
4
|
-
import "./derive-key-Be7hS-cN.mjs";
|
|
5
|
-
import "./post-quantum-crypto-Vv34t6gX.mjs";
|
|
6
|
-
import { a as decryptEmailHybrid, d as emailToBinary, f as recipientsToBytes, i as decryptPwdProtectedEmail, n as generateEmailKeys, o as encryptEmailHybrid, p as userToBytes, r as createPwdProtectedEmail, s as encryptEmailHybridForMultipleRecipients, u as getAux } from "./email-crypto-DJUEjTxA.mjs";
|
|
1
|
+
import { a as encryptEmailHybrid, d as recipientsToBytes, f as userToBytes, i as decryptEmailHybrid, l as getAux, n as createPwdProtectedEmail, o as encryptEmailHybridForMultipleRecipients, r as decryptPwdProtectedEmail, t as generateEmailKeys, u as emailToBinary } from "./emailKeys-D4lp9NRv.mjs";
|
|
7
2
|
|
|
8
3
|
export { createPwdProtectedEmail, decryptEmailHybrid, decryptPwdProtectedEmail, emailToBinary, encryptEmailHybrid, encryptEmailHybridForMultipleRecipients, generateEmailKeys, getAux, recipientsToBytes, userToBytes };
|
package/dist/email-search.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Email, EmailSearchResult, MailCache, StoredEmail } from "./types.mjs";
|
|
2
2
|
import { DBSchema, IDBPDatabase } from "idb";
|
|
3
3
|
import { Index } from "flexsearch";
|
|
4
4
|
|
|
@@ -37,42 +37,42 @@ declare const deleteDatabase: (userID: string) => Promise<void>;
|
|
|
37
37
|
* Derives database encryption key for the given user
|
|
38
38
|
*
|
|
39
39
|
* @param userID - The user ID
|
|
40
|
-
* @returns The symmetric
|
|
40
|
+
* @returns The symmetric key for protecting database
|
|
41
41
|
*/
|
|
42
|
-
declare const deriveIndexKey: (baseKey: Uint8Array) => Promise<
|
|
42
|
+
declare const deriveIndexKey: (baseKey: Uint8Array) => Promise<Uint8Array>;
|
|
43
43
|
/**
|
|
44
44
|
* Encrypts the given email and stores it in the IndexedDB database
|
|
45
45
|
*
|
|
46
46
|
* @param newEmailToStore - The email for storing
|
|
47
|
-
* @param indexKey - The symmetric
|
|
47
|
+
* @param indexKey - The symmetric key for protecting database
|
|
48
48
|
* @param esDB - The database
|
|
49
49
|
*/
|
|
50
|
-
declare const encryptAndStoreEmail: (newEmailToStore: Email, indexKey:
|
|
50
|
+
declare const encryptAndStoreEmail: (newEmailToStore: Email, indexKey: Uint8Array, esDB: MailDB) => Promise<void>;
|
|
51
51
|
/**
|
|
52
52
|
* Encrypts the given set of emails and stores it in the IndexedDB database
|
|
53
53
|
*
|
|
54
54
|
* @param newEmailsToStore - The set of emails for storing
|
|
55
|
-
* @param indexKey - The symmetric
|
|
55
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
56
56
|
* @param esDB - The database
|
|
57
57
|
*/
|
|
58
|
-
declare const encryptAndStoreManyEmail: (newEmailsToStore: Email[], indexKey:
|
|
58
|
+
declare const encryptAndStoreManyEmail: (newEmailsToStore: Email[], indexKey: Uint8Array, esDB: MailDB) => Promise<void>;
|
|
59
59
|
/**
|
|
60
60
|
* Fetches the email from the database and decrypts it
|
|
61
61
|
*
|
|
62
62
|
* @param emailID - The email identifier
|
|
63
|
-
* @param indexKey - The symmetric
|
|
63
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
64
64
|
* @param encryptedEmail - The encrypted email
|
|
65
65
|
* @returns The decrypted email
|
|
66
66
|
*/
|
|
67
|
-
declare const getAndDecryptEmail: (emailID: string, indexKey:
|
|
67
|
+
declare const getAndDecryptEmail: (emailID: string, indexKey: Uint8Array, esDB: MailDB) => Promise<Email>;
|
|
68
68
|
/**
|
|
69
69
|
* Fetches all email from the database and decrypts them
|
|
70
70
|
*
|
|
71
|
-
* @param indexKey - The symmetric
|
|
71
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
72
72
|
* @param esDB - The database
|
|
73
73
|
* @returns The decrypted emails
|
|
74
74
|
*/
|
|
75
|
-
declare const getAndDecryptAllEmails: (indexKey:
|
|
75
|
+
declare const getAndDecryptAllEmails: (indexKey: Uint8Array, esDB: MailDB) => Promise<Email[]>;
|
|
76
76
|
/**
|
|
77
77
|
* Deletes the email from the database
|
|
78
78
|
*
|
|
@@ -105,28 +105,28 @@ declare const enforceMaxEmailNumber: (esDB: MailDB, max: number) => Promise<void
|
|
|
105
105
|
* Fetches all emails from the database, decrypts them and sortes the results based on the creation time (newest first)
|
|
106
106
|
*
|
|
107
107
|
* @param esDB - The database
|
|
108
|
-
* @param indexKey - The symmetric
|
|
108
|
+
* @param indexKey - The symmetric Uint8Array key for protecting database
|
|
109
109
|
* @returns The number of stored emails
|
|
110
110
|
*/
|
|
111
|
-
declare const getAllEmailsSortedNewestFirst: (esDB: MailDB, indexKey:
|
|
111
|
+
declare const getAllEmailsSortedNewestFirst: (esDB: MailDB, indexKey: Uint8Array) => Promise<Email[]>;
|
|
112
112
|
/**
|
|
113
113
|
* Fetches all emails from the database, decrypts them and sortes the results based on the creation time (oldest first)
|
|
114
114
|
*
|
|
115
115
|
* @param esDB - The database
|
|
116
|
-
* @param indexKey - The symmetric
|
|
116
|
+
* @param indexKey - The symmetric key for protecting database
|
|
117
117
|
* @returns The number of stored emails
|
|
118
118
|
*/
|
|
119
|
-
declare const getAllEmailsSortedOldestFirst: (esDB: MailDB, indexKey:
|
|
119
|
+
declare const getAllEmailsSortedOldestFirst: (esDB: MailDB, indexKey: Uint8Array) => Promise<Email[]>;
|
|
120
120
|
/**
|
|
121
121
|
* Fetches a batch of emails from the database, decrypts them and sortes the results based on the creation time (newest first)
|
|
122
122
|
*
|
|
123
123
|
* @param esDB - The database
|
|
124
|
-
* @param indexKey - The symmetric
|
|
124
|
+
* @param indexKey - The symmetric key for protecting database
|
|
125
125
|
* @param batchSize - The size of the batch
|
|
126
126
|
* @param startCursor - The starting point (optional). If not given, starts from the beginning
|
|
127
127
|
* @returns The number of stored emails
|
|
128
128
|
*/
|
|
129
|
-
declare const getEmailBatch: (esDB: MailDB, indexKey:
|
|
129
|
+
declare const getEmailBatch: (esDB: MailDB, indexKey: Uint8Array, batchSize: number, startCursor?: IDBValidKey) => Promise<{
|
|
130
130
|
emails: Email[];
|
|
131
131
|
nextCursor?: IDBValidKey;
|
|
132
132
|
}>;
|
|
@@ -135,11 +135,11 @@ declare const getEmailBatch: (esDB: MailDB, indexKey: CryptoKey, batchSize: numb
|
|
|
135
135
|
/**
|
|
136
136
|
* Fetches all emails from the database in batches and cahces them
|
|
137
137
|
*
|
|
138
|
-
* @param indexKey - The symmetric
|
|
138
|
+
* @param indexKey - The symmetric key for protecting database
|
|
139
139
|
* @param esCache - The cache to add emails too
|
|
140
140
|
* @param esDB - The database
|
|
141
141
|
*/
|
|
142
|
-
declare const createCacheFromDB: (indexKey:
|
|
142
|
+
declare const createCacheFromDB: (indexKey: Uint8Array, esDB: MailDB) => Promise<MailCache<Email>>;
|
|
143
143
|
/**
|
|
144
144
|
* Gets an email from the cache
|
|
145
145
|
*
|
|
@@ -227,9 +227,6 @@ interface SearchOptions {
|
|
|
227
227
|
* @returns The result of the email search (emails ans their corresponding result weights)
|
|
228
228
|
*/
|
|
229
229
|
declare const searchEmails: (query: string, esCache: MailCache<Email>, searchIndex: EmailSearchIndex, options?: SearchOptions) => Promise<EmailSearchResult[]>;
|
|
230
|
-
declare namespace index_d_exports {
|
|
231
|
-
export { EmailSearchIndex, EncryptedSearchDB, MailDB, SearchOptions, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteDatabase, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails };
|
|
232
|
-
}
|
|
233
230
|
//#endregion
|
|
234
|
-
export { EmailSearchIndex, EncryptedSearchDB, MailDB, SearchOptions, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteDatabase, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails
|
|
231
|
+
export { EmailSearchIndex, EncryptedSearchDB, MailDB, SearchOptions, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteDatabase, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails };
|
|
235
232
|
//# sourceMappingURL=email-search.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-search.d.mts","names":[],"sources":["../src/email-search/indexedDB.ts","../src/email-search/mailCache.ts","../src/email-search/search.ts"],"mappings":"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"}
|
package/dist/email-search.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Email, EmailSearchResult, MailCache, StoredEmail } from "./types.js";
|
|
2
2
|
import { DBSchema, IDBPDatabase } from "idb";
|
|
3
3
|
import { Index } from "flexsearch";
|
|
4
4
|
|
|
@@ -37,42 +37,42 @@ declare const deleteDatabase: (userID: string) => Promise<void>;
|
|
|
37
37
|
* Derives database encryption key for the given user
|
|
38
38
|
*
|
|
39
39
|
* @param userID - The user ID
|
|
40
|
-
* @returns The symmetric
|
|
40
|
+
* @returns The symmetric key for protecting database
|
|
41
41
|
*/
|
|
42
|
-
declare const deriveIndexKey: (baseKey: Uint8Array) => Promise<
|
|
42
|
+
declare const deriveIndexKey: (baseKey: Uint8Array) => Promise<Uint8Array>;
|
|
43
43
|
/**
|
|
44
44
|
* Encrypts the given email and stores it in the IndexedDB database
|
|
45
45
|
*
|
|
46
46
|
* @param newEmailToStore - The email for storing
|
|
47
|
-
* @param indexKey - The symmetric
|
|
47
|
+
* @param indexKey - The symmetric key for protecting database
|
|
48
48
|
* @param esDB - The database
|
|
49
49
|
*/
|
|
50
|
-
declare const encryptAndStoreEmail: (newEmailToStore: Email, indexKey:
|
|
50
|
+
declare const encryptAndStoreEmail: (newEmailToStore: Email, indexKey: Uint8Array, esDB: MailDB) => Promise<void>;
|
|
51
51
|
/**
|
|
52
52
|
* Encrypts the given set of emails and stores it in the IndexedDB database
|
|
53
53
|
*
|
|
54
54
|
* @param newEmailsToStore - The set of emails for storing
|
|
55
|
-
* @param indexKey - The symmetric
|
|
55
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
56
56
|
* @param esDB - The database
|
|
57
57
|
*/
|
|
58
|
-
declare const encryptAndStoreManyEmail: (newEmailsToStore: Email[], indexKey:
|
|
58
|
+
declare const encryptAndStoreManyEmail: (newEmailsToStore: Email[], indexKey: Uint8Array, esDB: MailDB) => Promise<void>;
|
|
59
59
|
/**
|
|
60
60
|
* Fetches the email from the database and decrypts it
|
|
61
61
|
*
|
|
62
62
|
* @param emailID - The email identifier
|
|
63
|
-
* @param indexKey - The symmetric
|
|
63
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
64
64
|
* @param encryptedEmail - The encrypted email
|
|
65
65
|
* @returns The decrypted email
|
|
66
66
|
*/
|
|
67
|
-
declare const getAndDecryptEmail: (emailID: string, indexKey:
|
|
67
|
+
declare const getAndDecryptEmail: (emailID: string, indexKey: Uint8Array, esDB: MailDB) => Promise<Email>;
|
|
68
68
|
/**
|
|
69
69
|
* Fetches all email from the database and decrypts them
|
|
70
70
|
*
|
|
71
|
-
* @param indexKey - The symmetric
|
|
71
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
72
72
|
* @param esDB - The database
|
|
73
73
|
* @returns The decrypted emails
|
|
74
74
|
*/
|
|
75
|
-
declare const getAndDecryptAllEmails: (indexKey:
|
|
75
|
+
declare const getAndDecryptAllEmails: (indexKey: Uint8Array, esDB: MailDB) => Promise<Email[]>;
|
|
76
76
|
/**
|
|
77
77
|
* Deletes the email from the database
|
|
78
78
|
*
|
|
@@ -105,28 +105,28 @@ declare const enforceMaxEmailNumber: (esDB: MailDB, max: number) => Promise<void
|
|
|
105
105
|
* Fetches all emails from the database, decrypts them and sortes the results based on the creation time (newest first)
|
|
106
106
|
*
|
|
107
107
|
* @param esDB - The database
|
|
108
|
-
* @param indexKey - The symmetric
|
|
108
|
+
* @param indexKey - The symmetric Uint8Array key for protecting database
|
|
109
109
|
* @returns The number of stored emails
|
|
110
110
|
*/
|
|
111
|
-
declare const getAllEmailsSortedNewestFirst: (esDB: MailDB, indexKey:
|
|
111
|
+
declare const getAllEmailsSortedNewestFirst: (esDB: MailDB, indexKey: Uint8Array) => Promise<Email[]>;
|
|
112
112
|
/**
|
|
113
113
|
* Fetches all emails from the database, decrypts them and sortes the results based on the creation time (oldest first)
|
|
114
114
|
*
|
|
115
115
|
* @param esDB - The database
|
|
116
|
-
* @param indexKey - The symmetric
|
|
116
|
+
* @param indexKey - The symmetric key for protecting database
|
|
117
117
|
* @returns The number of stored emails
|
|
118
118
|
*/
|
|
119
|
-
declare const getAllEmailsSortedOldestFirst: (esDB: MailDB, indexKey:
|
|
119
|
+
declare const getAllEmailsSortedOldestFirst: (esDB: MailDB, indexKey: Uint8Array) => Promise<Email[]>;
|
|
120
120
|
/**
|
|
121
121
|
* Fetches a batch of emails from the database, decrypts them and sortes the results based on the creation time (newest first)
|
|
122
122
|
*
|
|
123
123
|
* @param esDB - The database
|
|
124
|
-
* @param indexKey - The symmetric
|
|
124
|
+
* @param indexKey - The symmetric key for protecting database
|
|
125
125
|
* @param batchSize - The size of the batch
|
|
126
126
|
* @param startCursor - The starting point (optional). If not given, starts from the beginning
|
|
127
127
|
* @returns The number of stored emails
|
|
128
128
|
*/
|
|
129
|
-
declare const getEmailBatch: (esDB: MailDB, indexKey:
|
|
129
|
+
declare const getEmailBatch: (esDB: MailDB, indexKey: Uint8Array, batchSize: number, startCursor?: IDBValidKey) => Promise<{
|
|
130
130
|
emails: Email[];
|
|
131
131
|
nextCursor?: IDBValidKey;
|
|
132
132
|
}>;
|
|
@@ -135,11 +135,11 @@ declare const getEmailBatch: (esDB: MailDB, indexKey: CryptoKey, batchSize: numb
|
|
|
135
135
|
/**
|
|
136
136
|
* Fetches all emails from the database in batches and cahces them
|
|
137
137
|
*
|
|
138
|
-
* @param indexKey - The symmetric
|
|
138
|
+
* @param indexKey - The symmetric key for protecting database
|
|
139
139
|
* @param esCache - The cache to add emails too
|
|
140
140
|
* @param esDB - The database
|
|
141
141
|
*/
|
|
142
|
-
declare const createCacheFromDB: (indexKey:
|
|
142
|
+
declare const createCacheFromDB: (indexKey: Uint8Array, esDB: MailDB) => Promise<MailCache<Email>>;
|
|
143
143
|
/**
|
|
144
144
|
* Gets an email from the cache
|
|
145
145
|
*
|
|
@@ -227,9 +227,6 @@ interface SearchOptions {
|
|
|
227
227
|
* @returns The result of the email search (emails ans their corresponding result weights)
|
|
228
228
|
*/
|
|
229
229
|
declare const searchEmails: (query: string, esCache: MailCache<Email>, searchIndex: EmailSearchIndex, options?: SearchOptions) => Promise<EmailSearchResult[]>;
|
|
230
|
-
declare namespace index_d_exports {
|
|
231
|
-
export { EmailSearchIndex, EncryptedSearchDB, MailDB, SearchOptions, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteDatabase, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails };
|
|
232
|
-
}
|
|
233
230
|
//#endregion
|
|
234
|
-
export { EmailSearchIndex, EncryptedSearchDB, MailDB, SearchOptions, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteDatabase, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails
|
|
231
|
+
export { EmailSearchIndex, EncryptedSearchDB, MailDB, SearchOptions, addEmailToCache, addEmailToSearchIndex, addEmailsToCache, buildSearchIndexFromCache, closeDatabase, createCacheFromDB, deleteDatabase, deleteEmail, deleteEmailFromCache, deleteOldestEmails, deriveIndexKey, encryptAndStoreEmail, encryptAndStoreManyEmail, enforceMaxEmailNumber, getAllEmailsSortedNewestFirst, getAllEmailsSortedOldestFirst, getAndDecryptAllEmails, getAndDecryptEmail, getEmailBatch, getEmailCount, getEmailFromCache, openDatabase, removeEmailFromSearchIndex, searchEmails };
|
|
235
232
|
//# sourceMappingURL=email-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-search.d.ts","names":[],"sources":["../src/email-search/indexedDB.ts","../src/email-search/mailCache.ts","../src/email-search/search.ts"],"mappings":"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"}
|
package/dist/email-search.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
require('./
|
|
4
|
-
require('./
|
|
5
|
-
require('./
|
|
6
|
-
const require_derive_key = require('./derive-key-CBf2WxJd.js');
|
|
7
|
-
require('./post-quantum-crypto-CAi-cEkV.js');
|
|
8
|
-
const require_email_crypto = require('./email-crypto-BrT98taw.js');
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_chunk = require('./chunk-EbLFQX5m.js');
|
|
3
|
+
const require_constants = require('./constants.js');
|
|
4
|
+
const require_deriveKeysFromPassword = require('./deriveKeysFromPassword-BYaiSGKL.js');
|
|
5
|
+
const require_emailKeys = require('./emailKeys-C0KhtfNP.js');
|
|
9
6
|
let idb = require("idb");
|
|
10
7
|
let flexsearch = require("flexsearch");
|
|
11
8
|
|
|
@@ -55,23 +52,23 @@ const deleteDatabase = async (userID) => {
|
|
|
55
52
|
* Derives database encryption key for the given user
|
|
56
53
|
*
|
|
57
54
|
* @param userID - The user ID
|
|
58
|
-
* @returns The symmetric
|
|
55
|
+
* @returns The symmetric key for protecting database
|
|
59
56
|
*/
|
|
60
57
|
const deriveIndexKey = async (baseKey) => {
|
|
61
|
-
return
|
|
58
|
+
return require_deriveKeysFromPassword.deriveSymmetricKeyFromContext(require_constants.CONTEXT_INDEX, baseKey);
|
|
62
59
|
};
|
|
63
60
|
/**
|
|
64
61
|
* Encrypts the given email and stores it in the IndexedDB database
|
|
65
62
|
*
|
|
66
63
|
* @param newEmailToStore - The email for storing
|
|
67
|
-
* @param indexKey - The symmetric
|
|
64
|
+
* @param indexKey - The symmetric key for protecting database
|
|
68
65
|
* @param esDB - The database
|
|
69
66
|
*/
|
|
70
67
|
const encryptAndStoreEmail = async (newEmailToStore, indexKey, esDB) => {
|
|
71
68
|
try {
|
|
72
|
-
const aux =
|
|
69
|
+
const aux = require_emailKeys.getAux(newEmailToStore.params, false);
|
|
73
70
|
const encryptedEmail = {
|
|
74
|
-
enc: await
|
|
71
|
+
enc: await require_emailKeys.encryptEmailContentSymmetricallyWithKey(newEmailToStore.body, indexKey, aux, newEmailToStore.id),
|
|
75
72
|
params: newEmailToStore.params,
|
|
76
73
|
id: newEmailToStore.id
|
|
77
74
|
};
|
|
@@ -84,15 +81,15 @@ const encryptAndStoreEmail = async (newEmailToStore, indexKey, esDB) => {
|
|
|
84
81
|
* Encrypts the given set of emails and stores it in the IndexedDB database
|
|
85
82
|
*
|
|
86
83
|
* @param newEmailsToStore - The set of emails for storing
|
|
87
|
-
* @param indexKey - The symmetric
|
|
84
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
88
85
|
* @param esDB - The database
|
|
89
86
|
*/
|
|
90
87
|
const encryptAndStoreManyEmail = async (newEmailsToStore, indexKey, esDB) => {
|
|
91
88
|
try {
|
|
92
89
|
const encryptedEmails = await Promise.all(newEmailsToStore.map(async (email) => {
|
|
93
|
-
const aux =
|
|
90
|
+
const aux = require_emailKeys.getAux(email.params, false);
|
|
94
91
|
return {
|
|
95
|
-
enc: await
|
|
92
|
+
enc: await require_emailKeys.encryptEmailContentSymmetricallyWithKey(email.body, indexKey, aux, email.id),
|
|
96
93
|
params: email.params,
|
|
97
94
|
id: email.id
|
|
98
95
|
};
|
|
@@ -106,14 +103,14 @@ const encryptAndStoreManyEmail = async (newEmailsToStore, indexKey, esDB) => {
|
|
|
106
103
|
/**
|
|
107
104
|
* Decrypts the given email
|
|
108
105
|
*
|
|
109
|
-
* @param indexKey - The symmetric
|
|
106
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
110
107
|
* @param encryptedEmail - The encrypted email
|
|
111
108
|
* @returns The decrypted email
|
|
112
109
|
*/
|
|
113
110
|
const decryptEmail = async (indexKey, encryptedEmail) => {
|
|
114
111
|
try {
|
|
115
112
|
return {
|
|
116
|
-
body: await
|
|
113
|
+
body: await require_emailKeys.decryptEmailSymmetrically(indexKey, require_emailKeys.getAux(encryptedEmail.params, false), encryptedEmail.enc),
|
|
117
114
|
params: encryptedEmail.params,
|
|
118
115
|
id: encryptedEmail.id
|
|
119
116
|
};
|
|
@@ -125,7 +122,7 @@ const decryptEmail = async (indexKey, encryptedEmail) => {
|
|
|
125
122
|
* Fetches the email from the database and decrypts it
|
|
126
123
|
*
|
|
127
124
|
* @param emailID - The email identifier
|
|
128
|
-
* @param indexKey - The symmetric
|
|
125
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
129
126
|
* @param encryptedEmail - The encrypted email
|
|
130
127
|
* @returns The decrypted email
|
|
131
128
|
*/
|
|
@@ -141,7 +138,7 @@ const getAndDecryptEmail = async (emailID, indexKey, esDB) => {
|
|
|
141
138
|
/**
|
|
142
139
|
* Fetches all email from the database and decrypts them
|
|
143
140
|
*
|
|
144
|
-
* @param indexKey - The symmetric
|
|
141
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
145
142
|
* @param esDB - The database
|
|
146
143
|
* @returns The decrypted emails
|
|
147
144
|
*/
|
|
@@ -150,7 +147,7 @@ const getAndDecryptAllEmails = async (indexKey, esDB) => {
|
|
|
150
147
|
const encryptedEmails = await esDB.getAll(require_constants.DB_LABEL);
|
|
151
148
|
return (await Promise.all(encryptedEmails.map(async (encEmail) => {
|
|
152
149
|
return {
|
|
153
|
-
body: await
|
|
150
|
+
body: await require_emailKeys.decryptEmailSymmetrically(indexKey, require_emailKeys.getAux(encEmail.params, false), encEmail.enc),
|
|
154
151
|
params: encEmail.params,
|
|
155
152
|
id: encEmail.id
|
|
156
153
|
};
|
|
@@ -217,7 +214,7 @@ const enforceMaxEmailNumber = async (esDB, max) => {
|
|
|
217
214
|
* Fetches all emails from the database, decrypts them and sortes the results in the specified order
|
|
218
215
|
*
|
|
219
216
|
* @param esDB - The database
|
|
220
|
-
* @param indexKey - The symmetric
|
|
217
|
+
* @param indexKey - The symmetric key key for protecting database
|
|
221
218
|
* @param direction - The order of sorting. If 'next' - oldest first, if 'prev' - newest first
|
|
222
219
|
* @returns Decryped emails in the specified order
|
|
223
220
|
*/
|
|
@@ -239,7 +236,7 @@ const fetchEmails = async (esDB, indexKey, direction) => {
|
|
|
239
236
|
* Fetches all emails from the database, decrypts them and sortes the results based on the creation time (newest first)
|
|
240
237
|
*
|
|
241
238
|
* @param esDB - The database
|
|
242
|
-
* @param indexKey - The symmetric
|
|
239
|
+
* @param indexKey - The symmetric Uint8Array key for protecting database
|
|
243
240
|
* @returns The number of stored emails
|
|
244
241
|
*/
|
|
245
242
|
const getAllEmailsSortedNewestFirst = async (esDB, indexKey) => {
|
|
@@ -249,7 +246,7 @@ const getAllEmailsSortedNewestFirst = async (esDB, indexKey) => {
|
|
|
249
246
|
* Fetches all emails from the database, decrypts them and sortes the results based on the creation time (oldest first)
|
|
250
247
|
*
|
|
251
248
|
* @param esDB - The database
|
|
252
|
-
* @param indexKey - The symmetric
|
|
249
|
+
* @param indexKey - The symmetric key for protecting database
|
|
253
250
|
* @returns The number of stored emails
|
|
254
251
|
*/
|
|
255
252
|
const getAllEmailsSortedOldestFirst = async (esDB, indexKey) => {
|
|
@@ -259,7 +256,7 @@ const getAllEmailsSortedOldestFirst = async (esDB, indexKey) => {
|
|
|
259
256
|
* Fetches a batch of emails from the database, decrypts them and sortes the results based on the creation time (newest first)
|
|
260
257
|
*
|
|
261
258
|
* @param esDB - The database
|
|
262
|
-
* @param indexKey - The symmetric
|
|
259
|
+
* @param indexKey - The symmetric key for protecting database
|
|
263
260
|
* @param batchSize - The size of the batch
|
|
264
261
|
* @param startCursor - The starting point (optional). If not given, starts from the beginning
|
|
265
262
|
* @returns The number of stored emails
|
|
@@ -299,7 +296,7 @@ const getEmailBatch = async (esDB, indexKey, batchSize, startCursor) => {
|
|
|
299
296
|
* @returns The estimation of the email size
|
|
300
297
|
*/
|
|
301
298
|
function sizeOfEmail(email) {
|
|
302
|
-
return
|
|
299
|
+
return require_emailKeys.emailToBinary(email).byteLength;
|
|
303
300
|
}
|
|
304
301
|
/**
|
|
305
302
|
* Creates an empty cache variable
|
|
@@ -317,7 +314,7 @@ function createEmptyCache() {
|
|
|
317
314
|
/**
|
|
318
315
|
* Fetches all emails from the database in batches and cahces them
|
|
319
316
|
*
|
|
320
|
-
* @param indexKey - The symmetric
|
|
317
|
+
* @param indexKey - The symmetric key for protecting database
|
|
321
318
|
* @param esCache - The cache to add emails too
|
|
322
319
|
* @param esDB - The database
|
|
323
320
|
*/
|
|
@@ -343,7 +340,7 @@ const createCacheFromDB = async (indexKey, esDB) => {
|
|
|
343
340
|
}
|
|
344
341
|
return esCache;
|
|
345
342
|
} catch (error) {
|
|
346
|
-
throw new Error(`Email caching failed: ${error}
|
|
343
|
+
throw new Error(`Email caching failed: ${error}`, { cause: error });
|
|
347
344
|
}
|
|
348
345
|
};
|
|
349
346
|
/**
|
|
@@ -574,35 +571,6 @@ const searchEmails = async (query, esCache, searchIndex, options = {}) => {
|
|
|
574
571
|
}
|
|
575
572
|
};
|
|
576
573
|
|
|
577
|
-
//#endregion
|
|
578
|
-
//#region src/email-search/index.ts
|
|
579
|
-
var email_search_exports = /* @__PURE__ */ require_chunk.__exportAll({
|
|
580
|
-
addEmailToCache: () => addEmailToCache,
|
|
581
|
-
addEmailToSearchIndex: () => addEmailToSearchIndex,
|
|
582
|
-
addEmailsToCache: () => addEmailsToCache,
|
|
583
|
-
buildSearchIndexFromCache: () => buildSearchIndexFromCache,
|
|
584
|
-
closeDatabase: () => closeDatabase,
|
|
585
|
-
createCacheFromDB: () => createCacheFromDB,
|
|
586
|
-
deleteDatabase: () => deleteDatabase,
|
|
587
|
-
deleteEmail: () => deleteEmail,
|
|
588
|
-
deleteEmailFromCache: () => deleteEmailFromCache,
|
|
589
|
-
deleteOldestEmails: () => deleteOldestEmails,
|
|
590
|
-
deriveIndexKey: () => deriveIndexKey,
|
|
591
|
-
encryptAndStoreEmail: () => encryptAndStoreEmail,
|
|
592
|
-
encryptAndStoreManyEmail: () => encryptAndStoreManyEmail,
|
|
593
|
-
enforceMaxEmailNumber: () => enforceMaxEmailNumber,
|
|
594
|
-
getAllEmailsSortedNewestFirst: () => getAllEmailsSortedNewestFirst,
|
|
595
|
-
getAllEmailsSortedOldestFirst: () => getAllEmailsSortedOldestFirst,
|
|
596
|
-
getAndDecryptAllEmails: () => getAndDecryptAllEmails,
|
|
597
|
-
getAndDecryptEmail: () => getAndDecryptEmail,
|
|
598
|
-
getEmailBatch: () => getEmailBatch,
|
|
599
|
-
getEmailCount: () => getEmailCount,
|
|
600
|
-
getEmailFromCache: () => getEmailFromCache,
|
|
601
|
-
openDatabase: () => openDatabase,
|
|
602
|
-
removeEmailFromSearchIndex: () => removeEmailFromSearchIndex,
|
|
603
|
-
searchEmails: () => searchEmails
|
|
604
|
-
});
|
|
605
|
-
|
|
606
574
|
//#endregion
|
|
607
575
|
exports.addEmailToCache = addEmailToCache;
|
|
608
576
|
exports.addEmailToSearchIndex = addEmailToSearchIndex;
|
|
@@ -615,12 +583,6 @@ exports.deleteEmail = deleteEmail;
|
|
|
615
583
|
exports.deleteEmailFromCache = deleteEmailFromCache;
|
|
616
584
|
exports.deleteOldestEmails = deleteOldestEmails;
|
|
617
585
|
exports.deriveIndexKey = deriveIndexKey;
|
|
618
|
-
Object.defineProperty(exports, 'email_search_exports', {
|
|
619
|
-
enumerable: true,
|
|
620
|
-
get: function () {
|
|
621
|
-
return email_search_exports;
|
|
622
|
-
}
|
|
623
|
-
});
|
|
624
586
|
exports.encryptAndStoreEmail = encryptAndStoreEmail;
|
|
625
587
|
exports.encryptAndStoreManyEmail = encryptAndStoreManyEmail;
|
|
626
588
|
exports.enforceMaxEmailNumber = enforceMaxEmailNumber;
|