@secrecy/lib 1.0.0-dev.63 → 1.0.0-dev.65

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.
Files changed (196) hide show
  1. package/dist/BaseClient-15fdf493.d.ts +351 -0
  2. package/dist/BaseClient.cjs +2 -0
  3. package/dist/BaseClient.cjs.map +1 -0
  4. package/dist/BaseClient.d.ts +16 -104
  5. package/dist/BaseClient.js +2 -482
  6. package/dist/BaseClient.js.map +1 -0
  7. package/dist/PopupTools.cjs +2 -0
  8. package/dist/PopupTools.cjs.map +1 -0
  9. package/dist/PopupTools.d.ts +5 -4
  10. package/dist/PopupTools.js +2 -216
  11. package/dist/PopupTools.js.map +1 -0
  12. package/dist/ZeusThunder.cjs +2 -0
  13. package/dist/ZeusThunder.cjs.map +1 -0
  14. package/dist/ZeusThunder.d.ts +6 -2
  15. package/dist/ZeusThunder.js +2 -79
  16. package/dist/ZeusThunder.js.map +1 -0
  17. package/dist/cache.cjs +2 -0
  18. package/dist/cache.cjs.map +1 -0
  19. package/dist/cache.d.ts +22 -4
  20. package/dist/cache.js +2 -4
  21. package/dist/cache.js.map +1 -0
  22. package/dist/chunk-5WPCTUWH.cjs +2 -0
  23. package/dist/chunk-5WPCTUWH.cjs.map +1 -0
  24. package/dist/chunk-KMTF2BZE.js +2 -0
  25. package/dist/chunk-KMTF2BZE.js.map +1 -0
  26. package/dist/client/SecrecyAppClient.cjs +2 -0
  27. package/dist/client/SecrecyAppClient.cjs.map +1 -0
  28. package/dist/client/SecrecyAppClient.d.ts +16 -17
  29. package/dist/client/SecrecyAppClient.js +2 -256
  30. package/dist/client/SecrecyAppClient.js.map +1 -0
  31. package/dist/client/SecrecyCloudClient.cjs +2 -0
  32. package/dist/client/SecrecyCloudClient.cjs.map +1 -0
  33. package/dist/client/SecrecyCloudClient.d.ts +16 -89
  34. package/dist/client/SecrecyCloudClient.js +2 -1627
  35. package/dist/client/SecrecyCloudClient.js.map +1 -0
  36. package/dist/client/SecrecyDbClient.cjs +2 -0
  37. package/dist/client/SecrecyDbClient.cjs.map +1 -0
  38. package/dist/client/SecrecyDbClient.d.ts +16 -21
  39. package/dist/client/SecrecyDbClient.js +2 -198
  40. package/dist/client/SecrecyDbClient.js.map +1 -0
  41. package/dist/client/SecrecyMailClient.cjs +2 -0
  42. package/dist/client/SecrecyMailClient.cjs.map +1 -0
  43. package/dist/client/SecrecyMailClient.d.ts +16 -42
  44. package/dist/client/SecrecyMailClient.js +2 -1187
  45. package/dist/client/SecrecyMailClient.js.map +1 -0
  46. package/dist/client/SecrecyPayClient.cjs +2 -0
  47. package/dist/client/SecrecyPayClient.cjs.map +1 -0
  48. package/dist/client/SecrecyPayClient.d.ts +16 -7
  49. package/dist/client/SecrecyPayClient.js +2 -37
  50. package/dist/client/SecrecyPayClient.js.map +1 -0
  51. package/dist/client/SecrecyWalletClient.cjs +2 -0
  52. package/dist/client/SecrecyWalletClient.cjs.map +1 -0
  53. package/dist/client/SecrecyWalletClient.d.ts +16 -30
  54. package/dist/client/SecrecyWalletClient.js +2 -76
  55. package/dist/client/SecrecyWalletClient.js.map +1 -0
  56. package/dist/client/convert/file.cjs +2 -0
  57. package/dist/client/convert/file.cjs.map +1 -0
  58. package/dist/client/convert/file.d.ts +11 -5
  59. package/dist/client/convert/file.js +2 -34
  60. package/dist/client/convert/file.js.map +1 -0
  61. package/dist/client/convert/mail.cjs +2 -0
  62. package/dist/client/convert/mail.cjs.map +1 -0
  63. package/dist/client/convert/mail.d.ts +13 -3
  64. package/dist/client/convert/mail.js +2 -48
  65. package/dist/client/convert/mail.js.map +1 -0
  66. package/dist/client/convert/node.cjs +2 -0
  67. package/dist/client/convert/node.cjs.map +1 -0
  68. package/dist/client/convert/node.d.ts +18 -9
  69. package/dist/client/convert/node.js +2 -100
  70. package/dist/client/convert/node.js.map +1 -0
  71. package/dist/client/helpers.cjs +2 -0
  72. package/dist/client/helpers.cjs.map +1 -0
  73. package/dist/client/helpers.d.ts +16 -28
  74. package/dist/client/helpers.js +2 -126
  75. package/dist/client/helpers.js.map +1 -0
  76. package/dist/client/index.cjs +2 -0
  77. package/dist/client/index.cjs.map +1 -0
  78. package/dist/client/index.d.ts +16 -34
  79. package/dist/client/index.js +2 -52
  80. package/dist/client/index.js.map +1 -0
  81. package/dist/client/storage.cjs +2 -0
  82. package/dist/client/storage.cjs.map +1 -0
  83. package/dist/client/storage.d.ts +6 -3
  84. package/dist/client/storage.js +2 -12
  85. package/dist/client/storage.js.map +1 -0
  86. package/dist/client/types/File.cjs +1 -0
  87. package/dist/client/types/File.cjs.map +1 -0
  88. package/dist/client/types/File.d.ts +9 -5
  89. package/dist/client/types/File.js +1 -3
  90. package/dist/client/types/File.js.map +1 -0
  91. package/dist/client/types/Inputs.cjs +1 -0
  92. package/dist/client/types/Inputs.cjs.map +1 -0
  93. package/dist/client/types/Inputs.d.ts +6 -4
  94. package/dist/client/types/Inputs.js +1 -3
  95. package/dist/client/types/Inputs.js.map +1 -0
  96. package/dist/client/types/Node.cjs +1 -0
  97. package/dist/client/types/Node.cjs.map +1 -0
  98. package/dist/client/types/Node.d.ts +9 -56
  99. package/dist/client/types/Node.js +1 -3
  100. package/dist/client/types/Node.js.map +1 -0
  101. package/dist/client/types/UserAppNotifications.cjs +1 -0
  102. package/dist/client/types/UserAppNotifications.cjs.map +1 -0
  103. package/dist/client/types/UserAppNotifications.d.ts +3 -1
  104. package/dist/client/types/UserAppNotifications.js +1 -3
  105. package/dist/client/types/UserAppNotifications.js.map +1 -0
  106. package/dist/client/types/UserAppSettings.cjs +1 -0
  107. package/dist/client/types/UserAppSettings.cjs.map +1 -0
  108. package/dist/client/types/UserAppSettings.d.ts +3 -1
  109. package/dist/client/types/UserAppSettings.js +1 -3
  110. package/dist/client/types/UserAppSettings.js.map +1 -0
  111. package/dist/client/types/index.cjs +2 -0
  112. package/dist/client/types/index.cjs.map +1 -0
  113. package/dist/client/types/index.d.ts +86 -30
  114. package/dist/client/types/index.js +2 -8
  115. package/dist/client/types/index.js.map +1 -0
  116. package/dist/client/types/selectors.cjs +2 -0
  117. package/dist/client/types/selectors.cjs.map +1 -0
  118. package/dist/client/types/selectors.d.ts +7 -5
  119. package/dist/client/types/selectors.js +2 -138
  120. package/dist/client/types/selectors.js.map +1 -0
  121. package/dist/crypto/file.cjs +2 -0
  122. package/dist/crypto/file.cjs.map +1 -0
  123. package/dist/crypto/file.d.ts +8 -6
  124. package/dist/crypto/file.js +2 -210
  125. package/dist/crypto/file.js.map +1 -0
  126. package/dist/crypto/index.cjs +2 -0
  127. package/dist/crypto/index.cjs.map +1 -0
  128. package/dist/crypto/index.d.ts +11 -9
  129. package/dist/crypto/index.js +2 -47
  130. package/dist/crypto/index.js.map +1 -0
  131. package/dist/error.cjs +1 -0
  132. package/dist/error.cjs.map +1 -0
  133. package/dist/error.d.ts +12 -10
  134. package/dist/error.js +1 -3
  135. package/dist/error.js.map +1 -0
  136. package/dist/index.cjs +2 -0
  137. package/dist/index.cjs.map +1 -0
  138. package/dist/index.d.ts +19 -11
  139. package/dist/index.js +2 -9
  140. package/dist/index.js.map +1 -0
  141. package/dist/minify/index.cjs +2 -0
  142. package/dist/minify/index.cjs.map +1 -0
  143. package/dist/minify/index.d.ts +4 -2
  144. package/dist/minify/index.js +2 -28
  145. package/dist/minify/index.js.map +1 -0
  146. package/dist/minify/lz4.cjs +3 -0
  147. package/dist/minify/lz4.cjs.map +1 -0
  148. package/dist/minify/lz4.d.ts +7 -5
  149. package/dist/minify/lz4.js +3 -627
  150. package/dist/minify/lz4.js.map +1 -0
  151. package/dist/sodium.cjs +2 -0
  152. package/dist/sodium.cjs.map +1 -0
  153. package/dist/sodium.d.ts +5 -3
  154. package/dist/sodium.js +2 -6
  155. package/dist/sodium.js.map +1 -0
  156. package/dist/utils/store-buddy.cjs +2 -0
  157. package/dist/utils/store-buddy.cjs.map +1 -0
  158. package/dist/utils/store-buddy.d.ts +4 -3
  159. package/dist/utils/store-buddy.js +2 -65
  160. package/dist/utils/store-buddy.js.map +1 -0
  161. package/dist/utils/time.cjs +2 -0
  162. package/dist/utils/time.cjs.map +1 -0
  163. package/dist/utils/time.d.ts +4 -2
  164. package/dist/utils/time.js +2 -14
  165. package/dist/utils/time.js.map +1 -0
  166. package/dist/utils/utils.cjs +2 -0
  167. package/dist/utils/utils.cjs.map +1 -0
  168. package/dist/utils/utils.d.ts +6 -4
  169. package/dist/utils/utils.js +2 -57
  170. package/dist/utils/utils.js.map +1 -0
  171. package/dist/worker/md5.cjs +2 -0
  172. package/dist/worker/md5.cjs.map +1 -0
  173. package/dist/worker/md5.d.ts +3 -1
  174. package/dist/worker/md5.js +2 -25
  175. package/dist/worker/md5.js.map +1 -0
  176. package/dist/worker/sodium.cjs +2 -0
  177. package/dist/worker/sodium.cjs.map +1 -0
  178. package/dist/worker/sodium.d.ts +6 -3
  179. package/dist/worker/sodium.js +2 -120
  180. package/dist/worker/sodium.js.map +1 -0
  181. package/dist/worker/workerCodes.cjs +254 -0
  182. package/dist/worker/workerCodes.cjs.map +1 -0
  183. package/dist/worker/workerCodes.d.ts +4 -2
  184. package/dist/worker/workerCodes.js +4 -5
  185. package/dist/worker/workerCodes.js.map +1 -0
  186. package/dist/zeus/const.cjs +2 -0
  187. package/dist/zeus/const.cjs.map +1 -0
  188. package/dist/zeus/const.d.ts +5 -3
  189. package/dist/zeus/const.js +2 -1286
  190. package/dist/zeus/const.js.map +1 -0
  191. package/dist/zeus/index.cjs +5 -0
  192. package/dist/zeus/index.cjs.map +1 -0
  193. package/dist/zeus/index.d.ts +80 -78
  194. package/dist/zeus/index.js +5 -687
  195. package/dist/zeus/index.js.map +1 -0
  196. package/package.json +27 -30
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client/SecrecyMailClient.ts"],"names":["_client","_keys","_thunder","generate","filesCache","usersCache","encryptCryptoBox","sodium","convertInternalMailToExternal","mailSelector","SecrecyMailClient","client","keys","thunder","__privateAdd","__publicField","files","subject","body","idOrMail","req","__privateGet","e","recipientsFiles","f","fileInHistory","key","__privateSet","id","mail","result","mailId","recoverMail","mailType","deletedMails","mails","m","data","customMessage","user","__spreadProps","__spreadValues","draftId","recipientsIds","replyTo","drafts","d","hashKey","hash","senderFiles","file","updateDraftMail","_a","deleteDraftMail","ids","deleteMailTrash","emptyMailTrash","deleteMail","draft","recipients","temporaryRecipients","email","input","sendDraftMail","filtered","createDraftMail","readMail","unreadMail","receivedMails","sentMails","draftMails","unreadReceivedMailsCount"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport { generate } from \"shortid\";\nimport { filesCache, usersCache } from \"../cache.js\";\nimport type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from \"../error.js\";\nimport type {\n SuccessResponse,\n KeyPair,\n NewMail,\n SecrecyClient\n} from \"../index.js\";\nimport { encryptCryptoBox, sodium } from \"../index.js\";\nimport type { MailType, Thunder } from \"../zeus/index.js\";\nimport { convertInternalMailToExternal } from \"./convert/mail.js\";\nimport type {\n DraftMail,\n Mail,\n MailFileInput,\n MailRecipientInput,\n ReceivedMail,\n SentMail,\n WaitingReceivedMail\n} from \"./types/index.js\";\nimport { mailSelector } from \"./types/selectors.js\";\n\nexport class SecrecyMailClient {\n #client: SecrecyClient;\n\n #keys: KeyPair;\n\n #thunder: ReturnType<typeof Thunder>;\n\n constructor(\n client: SecrecyClient,\n keys: KeyPair,\n thunder: ReturnType<typeof Thunder>\n ) {\n this.#client = client;\n this.#keys = keys;\n this.#thunder = thunder;\n }\n\n async get({\n id\n }: {\n id: string;\n }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null> {\n const { mail } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n mail: [\n {\n id\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on QueryMailResponse\": {\n __typename: true,\n mail: mailSelector\n }\n }\n ]\n });\n\n if (!mail) {\n return null;\n }\n\n if (mail.__typename === \"ErrorAccessDenied\") {\n return mail;\n }\n\n if (!mail.mail) {\n return null;\n }\n\n const result = convertInternalMailToExternal(mail.mail, this.#keys);\n\n if (!result) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: result\n };\n }\n\n async recover({\n mailId\n }: {\n mailId: string;\n }): Promise<\n SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null\n > {\n const { recoverMail } = await this.#thunder(\"mutation\")({\n recoverMail: [\n { mailId },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on RecoverMailResponse\": {\n __typename: true,\n recoverMail: true\n }\n }\n ]\n });\n\n if (!recoverMail) {\n return null;\n }\n\n if (recoverMail.__typename === \"ErrorAccessDenied\") {\n return recoverMail;\n }\n\n if (recoverMail.__typename === \"ErrorBasic\") {\n return recoverMail;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: recoverMail.recoverMail\n };\n }\n\n async deletedMails({\n mailType\n }: {\n mailType: MailType;\n }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null> {\n const { deletedMails } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n deletedMails: [\n { mailType },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on DeletedMailsResponse\": {\n __typename: true,\n deletedMails: mailSelector\n }\n }\n ]\n });\n\n if (!deletedMails) {\n return null;\n }\n\n if (deletedMails.__typename === \"ErrorAccessDenied\") {\n return deletedMails;\n }\n\n const mails = new Array<Mail>();\n\n for (const m of deletedMails.deletedMails) {\n const mail = convertInternalMailToExternal(m, this.#keys);\n if (mail) {\n mails.push(mail);\n }\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: mails\n };\n }\n\n async create(\n data: NewMail,\n customMessage?: string | null | undefined\n ): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null> {\n const mail = await this.createDraft(data);\n if (!mail) {\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n\n if (mail.__typename === \"ErrorBasic\") {\n return mail;\n }\n\n if (mail.__typename === \"ErrorAccessDenied\") {\n return mail;\n }\n\n const result = await this.sendDraft(\n mail.data.mailIntegrityId,\n customMessage\n );\n\n if (!result) {\n return null;\n }\n\n if (result.__typename === \"ErrorAccessDenied\") {\n return result;\n }\n\n if (result.__typename === \"ErrorBasic\") {\n return result;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: result.data\n };\n }\n\n async waitingReceivedMails(): Promise<\n SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\")({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n waitingReceivedMails: {\n date: true,\n attachmentsCount: true,\n sender: {\n id: true,\n firstname: true,\n lastname: true,\n email: true,\n publicKey: true\n },\n recipients: {\n id: true,\n firstname: true,\n lastname: true,\n email: true,\n publicKey: true\n },\n temporaryRecipients: {\n email: true\n }\n }\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user) {\n return null;\n }\n\n const result = user.user.waitingReceivedMails.map(m => ({\n id: generate(),\n ...m,\n date: new Date(m.date as string)\n }));\n\n return {\n __typename: \"SuccessResponse\",\n data: result\n };\n }\n\n async updateDraft(\n draftId: string,\n { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>\n ): Promise<\n | SuccessResponse<DraftMail>\n | ErrorNotFound\n | ErrorAccessDenied\n | ErrorBasic\n | null\n > {\n const drafts = await this.draftMails();\n if (!drafts) {\n return null;\n }\n\n if (drafts.__typename !== \"SuccessResponse\") {\n return drafts;\n }\n const draft = drafts.data.find(d => d.mailIntegrityId === draftId);\n if (!draft) {\n throw new Error(`Invalid draft ${draftId}`);\n }\n let hashKey: string | null = null;\n let hash: string | null = null;\n if (body || subject) {\n hashKey = sodium.randombytes_buf(\n sodium.crypto_generichash_KEYBYTES,\n \"hex\"\n );\n hash = sodium.crypto_generichash(\n sodium.crypto_generichash_BYTES,\n JSON.stringify({ body, subject }),\n hashKey,\n \"hex\"\n );\n }\n const senderFiles = new Array<MailFileInput>();\n if (files) {\n for (const f of files) {\n let file = filesCache.get(f.id);\n if (!file) {\n await this.#client.cloud.fileMetadata({ id: f.id });\n file = filesCache.get(f.id);\n if (!file) {\n throw new Error(`File ${f.name} (${f.id}) does not exists`);\n }\n }\n senderFiles.push({\n id: file.id,\n fileKey: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(file.key),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n ),\n name: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(f.name),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n )\n });\n }\n }\n\n const { updateDraftMail } = await this.#thunder(\"mutation\", {\n scalars: {\n Json: {\n encode: (e: unknown) => JSON.stringify(e),\n decode: (e: unknown) => JSON.parse(e as string)\n },\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n },\n BigInt: {\n decode: (e: unknown) => BigInt(e as string),\n encode: (e: unknown) => (e as bigint).toString()\n }\n }\n })({\n updateDraftMail: [\n {\n draftId,\n recipients: recipientsIds,\n replyTo,\n body: body\n ? sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(body),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n )\n : null,\n subject: subject\n ? sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(subject),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n )\n : null,\n senderFiles,\n hash,\n hashKey\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on UpdateDraftMailResponse\": {\n __typename: true,\n updateDraftMail: mailSelector\n }\n }\n ]\n });\n\n if (!updateDraftMail) {\n return null;\n }\n\n if (updateDraftMail.__typename === \"ErrorAccessDenied\") {\n return updateDraftMail;\n }\n\n if (updateDraftMail.__typename === \"ErrorBasic\") {\n return updateDraftMail;\n }\n\n if (!updateDraftMail.updateDraftMail) {\n return null;\n }\n\n const result = convertInternalMailToExternal(\n updateDraftMail.updateDraftMail,\n this.#keys\n ) as DraftMail;\n\n return {\n __typename: \"SuccessResponse\",\n data: result\n };\n }\n\n async deleteDraft(\n draftId: string\n ): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null> {\n const { deleteDraftMail } = await this.#thunder(\"mutation\")({\n deleteDraftMail: [\n {\n draftId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on DeleteDraftMailResponse\": {\n __typename: true,\n deleteDraftMail: true\n }\n }\n ]\n });\n\n if (!deleteDraftMail) {\n return null;\n }\n\n if (deleteDraftMail.__typename === \"ErrorAccessDenied\") {\n return deleteDraftMail;\n }\n\n if (!deleteDraftMail.deleteDraftMail) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: deleteDraftMail.deleteDraftMail ?? false\n };\n }\n\n async deleteTrash({\n ids\n }: {\n ids: Array<string>;\n }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null> {\n const { deleteMailTrash } = await this.#thunder(\"mutation\")({\n deleteMailTrash: [\n {\n ids\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on DeleteMailTrashResponse\": {\n __typename: true,\n deleteMailTrash: true\n }\n }\n ]\n });\n\n if (!deleteMailTrash) {\n return null;\n }\n\n if (deleteMailTrash.__typename === \"ErrorAccessDenied\") {\n return deleteMailTrash;\n }\n\n if (!deleteMailTrash.deleteMailTrash) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: deleteMailTrash.deleteMailTrash\n };\n }\n\n async emptyTrash(): Promise<\n SuccessResponse<boolean> | ErrorAccessDenied | null\n > {\n const { emptyMailTrash } = await this.#thunder(\"mutation\")({\n emptyMailTrash: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on EmptyMailTrashResponse\": {\n __typename: true,\n emptyMailTrash: true\n }\n }\n });\n\n if (!emptyMailTrash) {\n return null;\n }\n\n if (emptyMailTrash.__typename === \"ErrorAccessDenied\") {\n return emptyMailTrash;\n }\n\n if (!emptyMailTrash.emptyMailTrash) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: emptyMailTrash.emptyMailTrash\n };\n }\n\n async delete({\n mailId\n }: {\n mailId: string;\n }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null> {\n const { deleteMail } = await this.#thunder(\"mutation\")({\n deleteMail: [\n {\n mailId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on DeleteMailResponse\": {\n __typename: true,\n deleteMail: true\n }\n }\n ]\n });\n\n if (!deleteMail) {\n return null;\n }\n\n if (deleteMail.__typename === \"ErrorAccessDenied\") {\n return deleteMail;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: deleteMail.deleteMail\n };\n }\n\n async sendDraft(\n draftId: string,\n customMessage?: string | null | undefined\n ): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null> {\n const drafts = await this.draftMails();\n\n if (!drafts) {\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n if (drafts.__typename !== \"SuccessResponse\") {\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n\n const draft = drafts.data.find(d => d.mailIntegrityId === draftId);\n if (!draft) {\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n const recipients = new Array<MailRecipientInput>();\n\n const temporaryRecipients = new Array<string>();\n\n for (const { email } of draft.temporaryRecipients) {\n if (!email) {\n continue;\n }\n const input = await this._eachUser(\n draft.files,\n draft.subject,\n draft.body,\n email\n );\n\n if (!input) {\n temporaryRecipients.push(email);\n } else {\n recipients.push(input);\n }\n }\n\n for (const { id } of draft.recipients) {\n const input = await this._eachUser(\n draft.files,\n draft.subject,\n draft.body,\n id\n );\n\n if (!input) {\n temporaryRecipients.push(id);\n } else {\n recipients.push(input);\n }\n }\n\n const { sendDraftMail } = await this.#thunder(\"mutation\")({\n sendDraftMail: [\n {\n temporaryRecipients,\n recipients,\n draftMailId: draft.mailIntegrityId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on SendDraftMailResponse\": {\n __typename: true,\n sendDraftMail: true\n }\n }\n ]\n });\n\n if (!sendDraftMail) {\n return null;\n }\n\n if (sendDraftMail.__typename === \"ErrorAccessDenied\") {\n return sendDraftMail;\n }\n\n if (sendDraftMail.__typename === \"ErrorBasic\") {\n return sendDraftMail;\n }\n\n if (!sendDraftMail.sendDraftMail) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendDraftMail.sendDraftMail\n };\n }\n\n async sendWaitingEmails(): Promise<\n SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null\n > {\n // TODO opti this\n const mails = await this.sentMails();\n\n if (!mails) {\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n if (mails.__typename !== \"SuccessResponse\") {\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n const filtered = mails.data.filter(m => m.temporaryRecipients.length > 0);\n\n for (const mail of filtered) {\n for (const { email } of mail.temporaryRecipients) {\n if (!email) {\n continue;\n }\n try {\n const input = await this._eachUser(\n mail.files,\n mail.subject,\n mail.body,\n email\n );\n\n if (!input) {\n continue;\n }\n await this.#thunder(\"mutation\")({\n sendOneMail: [\n {\n mailIntegrityId: mail.mailIntegrityId,\n recipient: input\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on RecoverNodeResponse\": {\n __typename: true,\n recoverNode: true\n }\n }\n ]\n });\n } catch {\n continue;\n }\n }\n }\n return {\n __typename: \"SuccessResponse\",\n data: false\n };\n }\n\n async createDraft({\n body,\n subject,\n files,\n recipientsIds,\n replyTo\n }: NewMail): Promise<\n SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null\n > {\n const hashKey = sodium.randombytes_buf(\n sodium.crypto_generichash_KEYBYTES,\n \"hex\"\n );\n const hash = sodium.crypto_generichash(\n sodium.crypto_generichash_BYTES,\n JSON.stringify({ body, subject }),\n hashKey,\n \"hex\"\n );\n const senderFiles = new Array<MailFileInput>();\n for (const f of files) {\n let file = filesCache.get(f.id);\n if (!file) {\n await this.#client.cloud.fileMetadata({ id: f.id });\n file = filesCache.get(f.id);\n if (!file) {\n throw new Error(`File ${f.name} (${f.id}) does not exists`);\n }\n }\n senderFiles.push({\n id: file.id,\n fileKey: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(file.key),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n ),\n name: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(f.name),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n )\n });\n }\n\n const { createDraftMail } = await this.#thunder(\"mutation\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n createDraftMail: [\n {\n recipients: recipientsIds,\n replyTo,\n body: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(body),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n ),\n subject: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(subject),\n this.#keys.publicKey,\n this.#keys.privateKey\n )\n ),\n senderFiles,\n hash,\n hashKey\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on CreateDraftMailResponse\": {\n __typename: true,\n createDraftMail: mailSelector\n }\n }\n ]\n });\n\n if (!createDraftMail) {\n return null;\n }\n\n if (createDraftMail.__typename === \"ErrorAccessDenied\") {\n return createDraftMail;\n }\n\n if (createDraftMail.__typename === \"ErrorBasic\") {\n return createDraftMail;\n }\n\n if (!createDraftMail.createDraftMail) {\n return null;\n }\n\n const result = convertInternalMailToExternal(\n createDraftMail.createDraftMail,\n this.#keys\n ) as DraftMail;\n\n return {\n __typename: \"SuccessResponse\",\n data: result\n };\n }\n\n async read({\n mailId\n }: {\n mailId: string;\n }): Promise<\n | SuccessResponse<boolean>\n | ErrorAccessDenied\n | ErrorBasic\n | ErrorNotFound\n | null\n > {\n const { readMail } = await this.#thunder(\"mutation\")({\n readMail: [\n { mailId },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on ReadMailResponse\": {\n __typename: true,\n readMail: true\n }\n }\n ]\n });\n\n if (!readMail) {\n return null;\n }\n\n if (readMail.__typename === \"ErrorAccessDenied\") {\n return readMail;\n }\n\n if (readMail.__typename === \"ErrorBasic\") {\n return readMail;\n }\n\n if (readMail.__typename === \"ErrorNotFound\") {\n return readMail;\n }\n\n if (!readMail.readMail) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: readMail.readMail\n };\n }\n\n async unread({\n mailId\n }: {\n mailId: string;\n }): Promise<\n | SuccessResponse<boolean>\n | ErrorAccessDenied\n | ErrorBasic\n | ErrorNotFound\n | null\n > {\n const { unreadMail } = await this.#thunder(\"mutation\")({\n unreadMail: [\n { mailId },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UnreadMailResponse\": {\n __typename: true,\n unreadMail: true\n }\n }\n ]\n });\n\n if (!unreadMail) {\n return null;\n }\n\n if (unreadMail.__typename === \"ErrorAccessDenied\") {\n return unreadMail;\n }\n\n if (unreadMail.__typename === \"ErrorBasic\") {\n return unreadMail;\n }\n\n if (unreadMail.__typename === \"ErrorNotFound\") {\n return unreadMail;\n }\n\n if (!unreadMail.unreadMail) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: unreadMail.unreadMail\n };\n }\n\n async receivedMails(): Promise<\n SuccessResponse<ReceivedMail[]> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n receivedMails: mailSelector\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user) {\n return null;\n }\n\n // TODO get actual mails on this app only\n\n const receivedMails = new Array<ReceivedMail>();\n\n for (const m of user.user.receivedMails) {\n const mail = convertInternalMailToExternal(m, this.#keys);\n if (mail) {\n receivedMails.push(mail as ReceivedMail);\n }\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: receivedMails\n };\n }\n\n async sentMails(): Promise<\n SuccessResponse<SentMail[]> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n sentMails: mailSelector\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user) {\n return null;\n }\n\n // TODO get actual mails on this app only\n\n const sentMails = new Array<SentMail>();\n\n for (const m of user.user.sentMails) {\n const mail = convertInternalMailToExternal(m, this.#keys);\n if (mail) {\n sentMails.push(mail as SentMail);\n }\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sentMails\n };\n }\n\n async draftMails(): Promise<\n SuccessResponse<DraftMail[]> | ErrorNotFound | null\n > {\n const { user } = await this.#thunder(\"query\", {\n scalars: {\n DateTime: {\n decode: (e: unknown) => new Date(e as string),\n encode: (e: unknown) => (e as Date).toISOString()\n }\n }\n })({\n user: [\n {},\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n draftMails: mailSelector\n }\n }\n }\n ]\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (!user.user) {\n return null;\n }\n\n // TODO get actual mails on this app only\n\n const draftMails = new Array<DraftMail>();\n\n for (const m of user.user.draftMails) {\n const draft = convertInternalMailToExternal(m, this.#keys) as DraftMail;\n if (draft) {\n draftMails.push(draft);\n }\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: draftMails\n };\n }\n\n async unreadReceivedMailsCount(): Promise<\n SuccessResponse<number> | ErrorAccessDenied | null\n > {\n const { unreadReceivedMailsCount } = await this.#thunder(\"query\")({\n unreadReceivedMailsCount: {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on UnreadReceivedMailsCountResponse\": {\n __typename: true,\n count: true\n }\n }\n });\n\n if (!unreadReceivedMailsCount) {\n return null;\n }\n\n if (unreadReceivedMailsCount.__typename === \"ErrorAccessDenied\") {\n return unreadReceivedMailsCount;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: unreadReceivedMailsCount.count\n };\n }\n\n private _eachUser = async (\n files: { id: string; name: string }[],\n subject: string,\n body: string,\n idOrMail: string\n ): Promise<MailRecipientInput | null> => {\n let u = usersCache.get(idOrMail);\n\n if (!u || !(\"publicKey\" in u)) {\n try {\n const req = await this.#client.user({\n userId: idOrMail,\n withPublicKey: true\n });\n if (!req) {\n return null;\n }\n if (req.__typename !== \"SuccessResponse\") {\n return null;\n }\n u = req.data;\n } catch {\n return null;\n }\n\n if (!u) {\n return null;\n }\n }\n\n if (!(\"publicKey\" in u)) {\n throw new Error(`User ${idOrMail} have no public key`);\n }\n\n const recipientsFiles = new Array<MailFileInput>();\n\n for (const f of files) {\n let fileInHistory = filesCache.get(f.id);\n if (!fileInHistory) {\n await this.#client.cloud.fileMetadata({ id: f.id });\n fileInHistory = filesCache.get(f.id);\n if (!fileInHistory) {\n throw new Error(`File ${f.name} (${f.id}) does not exists`);\n }\n }\n const key = fileInHistory.key;\n recipientsFiles.push({\n id: f.id,\n name: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(f.name),\n u.publicKey,\n this.#keys.privateKey\n )\n ),\n fileKey: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_hex(key),\n u.publicKey,\n this.#keys.privateKey\n )\n )\n });\n }\n\n return {\n recipientId: u.id,\n body: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(body),\n u.publicKey,\n this.#keys.privateKey\n )\n ),\n subject: sodium.to_hex(\n encryptCryptoBox(\n sodium.from_string(subject),\n u.publicKey,\n this.#keys.privateKey\n )\n ),\n files: recipientsFiles\n };\n };\n}\n"]}
@@ -1,42 +1,16 @@
1
- import type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from "../error.js";
2
- import type { SuccessResponse, KeyPair, NewMail, SecrecyClient } from "../index.js";
3
- import type { MailType, Thunder } from "../zeus/index.js";
4
- import type { DraftMail, Mail, ReceivedMail, SentMail, WaitingReceivedMail } from "./types/index.js";
5
- export declare class SecrecyMailClient {
6
- #private;
7
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
8
- get({ id }: {
9
- id: string;
10
- }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null>;
11
- recover({ mailId }: {
12
- mailId: string;
13
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
14
- deletedMails({ mailType }: {
15
- mailType: MailType;
16
- }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
17
- create(data: NewMail, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null>;
18
- waitingReceivedMails(): Promise<SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null>;
19
- updateDraft(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<SuccessResponse<DraftMail> | ErrorNotFound | ErrorAccessDenied | ErrorBasic | null>;
20
- deleteDraft(draftId: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
21
- deleteTrash({ ids }: {
22
- ids: Array<string>;
23
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
24
- emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
25
- delete({ mailId }: {
26
- mailId: string;
27
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
28
- sendDraft(draftId: string, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
29
- sendWaitingEmails(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
30
- createDraft({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null>;
31
- read({ mailId }: {
32
- mailId: string;
33
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
34
- unread({ mailId }: {
35
- mailId: string;
36
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
37
- receivedMails(): Promise<SuccessResponse<ReceivedMail[]> | ErrorNotFound | null>;
38
- sentMails(): Promise<SuccessResponse<SentMail[]> | ErrorNotFound | null>;
39
- draftMails(): Promise<SuccessResponse<DraftMail[]> | ErrorNotFound | null>;
40
- unreadReceivedMailsCount(): Promise<SuccessResponse<number> | ErrorAccessDenied | null>;
41
- private _eachUser;
42
- }
1
+ import '../error.js';
2
+ export { k as SecrecyMailClient } from '../BaseClient-15fdf493.js';
3
+ import '../crypto/index.js';
4
+ import './types/index.js';
5
+ import '../zeus/index.js';
6
+ import 'ky';
7
+ import '../crypto/file.js';
8
+ import './types/File.js';
9
+ import './types/selectors.js';
10
+ import '../zeus/const.js';
11
+ import './types/UserAppSettings.js';
12
+ import './types/UserAppNotifications.js';
13
+ import 'jsonwebtoken';
14
+ import 'bson';
15
+ import 'ethers';
16
+ import './types/Inputs.js';