@secrecy/lib 1.7.0-integration-mixed-feats.3 → 1.7.0-integration-trpc-client.1

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 (273) hide show
  1. package/dist/lib/base-client.js +85 -0
  2. package/dist/lib/cache.js +4 -0
  3. package/dist/lib/client/SecrecyAppClient.js +81 -0
  4. package/dist/lib/client/SecrecyCloudClient.js +475 -0
  5. package/dist/lib/client/SecrecyDbClient.js +46 -0
  6. package/dist/lib/client/SecrecyMailClient.js +283 -0
  7. package/dist/lib/client/SecrecyPayClient.js +34 -0
  8. package/dist/lib/client/SecrecyWalletClient.js +50 -0
  9. package/dist/lib/client/convert/file.js +29 -0
  10. package/dist/lib/client/convert/mail.js +42 -0
  11. package/dist/lib/client/convert/node.js +98 -0
  12. package/dist/lib/client/helpers.js +107 -0
  13. package/dist/lib/client/index.js +43 -0
  14. package/dist/lib/client/storage.js +7 -0
  15. package/dist/lib/client/types/file.js +1 -0
  16. package/dist/lib/client/types/index.js +19 -0
  17. package/dist/lib/client/types/mail.js +1 -0
  18. package/dist/lib/client/types/node.js +1 -0
  19. package/dist/lib/client/types/user.js +1 -0
  20. package/dist/lib/client.js +38 -0
  21. package/dist/lib/crypto/file.js +184 -0
  22. package/dist/lib/crypto/index.js +41 -0
  23. package/dist/lib/error/client.js +10 -0
  24. package/dist/lib/error/index.js +10 -0
  25. package/dist/lib/error/server.js +27 -0
  26. package/dist/lib/index.js +10 -0
  27. package/dist/lib/minify/index.js +23 -0
  28. package/dist/lib/minify/lz4.js +517 -0
  29. package/dist/lib/sodium.js +5 -0
  30. package/dist/lib/types.js +1 -0
  31. package/dist/lib/utils/array.js +25 -0
  32. package/dist/lib/utils/base64.js +2 -0
  33. package/dist/lib/utils/popup-tools.js +180 -0
  34. package/dist/lib/utils/promise.js +20 -0
  35. package/dist/lib/utils/store-buddy.js +60 -0
  36. package/dist/lib/utils/time.js +13 -0
  37. package/dist/lib/worker/md5.js +18 -0
  38. package/dist/lib/worker/sodium.js +95 -0
  39. package/dist/{worker → lib/worker}/workerCodes.js +4 -4
  40. package/dist/types/base-client.d.ts +29 -0
  41. package/dist/types/cache.d.ts +9 -0
  42. package/dist/types/client/SecrecyAppClient.d.ts +18 -0
  43. package/dist/types/client/SecrecyCloudClient.d.ts +88 -0
  44. package/dist/types/client/SecrecyDbClient.d.ts +30 -0
  45. package/dist/types/client/SecrecyMailClient.d.ts +42 -0
  46. package/dist/types/client/SecrecyPayClient.d.ts +27 -0
  47. package/dist/types/client/SecrecyWalletClient.d.ts +27 -0
  48. package/dist/types/client/convert/file.d.ts +4 -0
  49. package/dist/types/client/convert/mail.d.ts +8 -0
  50. package/dist/types/client/convert/node.d.ts +7 -0
  51. package/dist/types/client/helpers.d.ts +25 -0
  52. package/dist/types/client/index.d.ts +25 -0
  53. package/dist/types/client/storage.d.ts +7 -0
  54. package/dist/types/client/types/file.d.ts +6 -0
  55. package/dist/types/client/types/index.d.ts +45 -0
  56. package/dist/types/client/types/mail.d.ts +87 -0
  57. package/dist/types/client/types/node.d.ts +51 -0
  58. package/dist/types/client/types/user.d.ts +3 -0
  59. package/dist/types/client.d.ts +9149 -0
  60. package/dist/types/crypto/file.d.ts +14 -0
  61. package/dist/types/crypto/index.d.ts +9 -0
  62. package/dist/types/error/client.d.ts +22 -0
  63. package/dist/types/error/index.d.ts +40 -0
  64. package/dist/types/error/server.d.ts +26 -0
  65. package/dist/types/index.d.ts +12 -0
  66. package/dist/types/minify/index.d.ts +2 -0
  67. package/dist/types/minify/lz4.d.ts +35 -0
  68. package/dist/types/sodium.d.ts +3 -0
  69. package/dist/types/types.d.ts +10 -0
  70. package/dist/types/utils/array.d.ts +3 -0
  71. package/dist/types/utils/base64.d.ts +1 -0
  72. package/dist/types/utils/popup-tools.d.ts +52 -0
  73. package/dist/types/utils/promise.d.ts +1 -0
  74. package/dist/types/utils/store-buddy.d.ts +130 -0
  75. package/dist/{utils → types/utils}/time.d.ts +2 -4
  76. package/dist/types/worker/md5.d.ts +1 -0
  77. package/dist/types/worker/sodium.d.ts +3 -0
  78. package/dist/types/worker/workerCodes.d.ts +2 -0
  79. package/package.json +48 -73
  80. package/dist/BaseClient-2af8a400.d.ts +0 -405
  81. package/dist/BaseClient.cjs +0 -2
  82. package/dist/BaseClient.cjs.map +0 -1
  83. package/dist/BaseClient.d.ts +0 -16
  84. package/dist/BaseClient.js +0 -2
  85. package/dist/BaseClient.js.map +0 -1
  86. package/dist/PopupTools.cjs +0 -2
  87. package/dist/PopupTools.cjs.map +0 -1
  88. package/dist/PopupTools.d.ts +0 -18
  89. package/dist/PopupTools.js +0 -2
  90. package/dist/PopupTools.js.map +0 -1
  91. package/dist/ZeusThunder.cjs +0 -2
  92. package/dist/ZeusThunder.cjs.map +0 -1
  93. package/dist/ZeusThunder.d.ts +0 -6
  94. package/dist/ZeusThunder.js +0 -2
  95. package/dist/ZeusThunder.js.map +0 -1
  96. package/dist/cache.cjs +0 -2
  97. package/dist/cache.cjs.map +0 -1
  98. package/dist/cache.d.ts +0 -24
  99. package/dist/cache.js +0 -2
  100. package/dist/cache.js.map +0 -1
  101. package/dist/client/SecrecyAppClient.cjs +0 -2
  102. package/dist/client/SecrecyAppClient.cjs.map +0 -1
  103. package/dist/client/SecrecyAppClient.d.ts +0 -16
  104. package/dist/client/SecrecyAppClient.js +0 -2
  105. package/dist/client/SecrecyAppClient.js.map +0 -1
  106. package/dist/client/SecrecyCloudClient.cjs +0 -2
  107. package/dist/client/SecrecyCloudClient.cjs.map +0 -1
  108. package/dist/client/SecrecyCloudClient.d.ts +0 -16
  109. package/dist/client/SecrecyCloudClient.js +0 -2
  110. package/dist/client/SecrecyCloudClient.js.map +0 -1
  111. package/dist/client/SecrecyDbClient.cjs +0 -2
  112. package/dist/client/SecrecyDbClient.cjs.map +0 -1
  113. package/dist/client/SecrecyDbClient.d.ts +0 -16
  114. package/dist/client/SecrecyDbClient.js +0 -2
  115. package/dist/client/SecrecyDbClient.js.map +0 -1
  116. package/dist/client/SecrecyMailClient.cjs +0 -2
  117. package/dist/client/SecrecyMailClient.cjs.map +0 -1
  118. package/dist/client/SecrecyMailClient.d.ts +0 -16
  119. package/dist/client/SecrecyMailClient.js +0 -2
  120. package/dist/client/SecrecyMailClient.js.map +0 -1
  121. package/dist/client/SecrecyPayClient.cjs +0 -2
  122. package/dist/client/SecrecyPayClient.cjs.map +0 -1
  123. package/dist/client/SecrecyPayClient.d.ts +0 -16
  124. package/dist/client/SecrecyPayClient.js +0 -2
  125. package/dist/client/SecrecyPayClient.js.map +0 -1
  126. package/dist/client/SecrecyWalletClient.cjs +0 -2
  127. package/dist/client/SecrecyWalletClient.cjs.map +0 -1
  128. package/dist/client/SecrecyWalletClient.d.ts +0 -16
  129. package/dist/client/SecrecyWalletClient.js +0 -2
  130. package/dist/client/SecrecyWalletClient.js.map +0 -1
  131. package/dist/client/convert/file.cjs +0 -2
  132. package/dist/client/convert/file.cjs.map +0 -1
  133. package/dist/client/convert/file.d.ts +0 -11
  134. package/dist/client/convert/file.js +0 -2
  135. package/dist/client/convert/file.js.map +0 -1
  136. package/dist/client/convert/mail.cjs +0 -2
  137. package/dist/client/convert/mail.cjs.map +0 -1
  138. package/dist/client/convert/mail.d.ts +0 -13
  139. package/dist/client/convert/mail.js +0 -2
  140. package/dist/client/convert/mail.js.map +0 -1
  141. package/dist/client/convert/node.cjs +0 -2
  142. package/dist/client/convert/node.cjs.map +0 -1
  143. package/dist/client/convert/node.d.ts +0 -18
  144. package/dist/client/convert/node.js +0 -2
  145. package/dist/client/convert/node.js.map +0 -1
  146. package/dist/client/helpers.cjs +0 -2
  147. package/dist/client/helpers.cjs.map +0 -1
  148. package/dist/client/helpers.d.ts +0 -16
  149. package/dist/client/helpers.js +0 -2
  150. package/dist/client/helpers.js.map +0 -1
  151. package/dist/client/index.cjs +0 -2
  152. package/dist/client/index.cjs.map +0 -1
  153. package/dist/client/index.d.ts +0 -16
  154. package/dist/client/index.js +0 -2
  155. package/dist/client/index.js.map +0 -1
  156. package/dist/client/storage.cjs +0 -2
  157. package/dist/client/storage.cjs.map +0 -1
  158. package/dist/client/storage.d.ts +0 -10
  159. package/dist/client/storage.js +0 -2
  160. package/dist/client/storage.js.map +0 -1
  161. package/dist/client/types/File.cjs +0 -1
  162. package/dist/client/types/File.cjs.map +0 -1
  163. package/dist/client/types/File.d.ts +0 -18
  164. package/dist/client/types/File.js +0 -1
  165. package/dist/client/types/File.js.map +0 -1
  166. package/dist/client/types/Inputs.cjs +0 -1
  167. package/dist/client/types/Inputs.cjs.map +0 -1
  168. package/dist/client/types/Inputs.d.ts +0 -18
  169. package/dist/client/types/Inputs.js +0 -1
  170. package/dist/client/types/Inputs.js.map +0 -1
  171. package/dist/client/types/Node.cjs +0 -1
  172. package/dist/client/types/Node.cjs.map +0 -1
  173. package/dist/client/types/Node.d.ts +0 -9
  174. package/dist/client/types/Node.js +0 -1
  175. package/dist/client/types/Node.js.map +0 -1
  176. package/dist/client/types/UserAppNotifications.cjs +0 -1
  177. package/dist/client/types/UserAppNotifications.cjs.map +0 -1
  178. package/dist/client/types/UserAppNotifications.d.ts +0 -8
  179. package/dist/client/types/UserAppNotifications.js +0 -1
  180. package/dist/client/types/UserAppNotifications.js.map +0 -1
  181. package/dist/client/types/UserAppSettings.cjs +0 -1
  182. package/dist/client/types/UserAppSettings.cjs.map +0 -1
  183. package/dist/client/types/UserAppSettings.d.ts +0 -7
  184. package/dist/client/types/UserAppSettings.js +0 -1
  185. package/dist/client/types/UserAppSettings.js.map +0 -1
  186. package/dist/client/types/index.cjs +0 -2
  187. package/dist/client/types/index.cjs.map +0 -1
  188. package/dist/client/types/index.d.ts +0 -176
  189. package/dist/client/types/index.js +0 -2
  190. package/dist/client/types/index.js.map +0 -1
  191. package/dist/client/types/selectors.cjs +0 -2
  192. package/dist/client/types/selectors.cjs.map +0 -1
  193. package/dist/client/types/selectors.d.ts +0 -402
  194. package/dist/client/types/selectors.js +0 -2
  195. package/dist/client/types/selectors.js.map +0 -1
  196. package/dist/crypto/file.cjs +0 -2
  197. package/dist/crypto/file.cjs.map +0 -1
  198. package/dist/crypto/file.d.ts +0 -16
  199. package/dist/crypto/file.js +0 -2
  200. package/dist/crypto/file.js.map +0 -1
  201. package/dist/crypto/index.cjs +0 -2
  202. package/dist/crypto/index.cjs.map +0 -1
  203. package/dist/crypto/index.d.ts +0 -14
  204. package/dist/crypto/index.js +0 -2
  205. package/dist/crypto/index.js.map +0 -1
  206. package/dist/error.cjs +0 -1
  207. package/dist/error.cjs.map +0 -1
  208. package/dist/error.d.ts +0 -38
  209. package/dist/error.js +0 -1
  210. package/dist/error.js.map +0 -1
  211. package/dist/index.cjs +0 -2
  212. package/dist/index.cjs.map +0 -1
  213. package/dist/index.d.ts +0 -19
  214. package/dist/index.js +0 -2
  215. package/dist/index.js.map +0 -1
  216. package/dist/minify/index.cjs +0 -2
  217. package/dist/minify/index.cjs.map +0 -1
  218. package/dist/minify/index.d.ts +0 -4
  219. package/dist/minify/index.js +0 -2
  220. package/dist/minify/index.js.map +0 -1
  221. package/dist/minify/lz4.cjs +0 -3
  222. package/dist/minify/lz4.cjs.map +0 -1
  223. package/dist/minify/lz4.d.ts +0 -7
  224. package/dist/minify/lz4.js +0 -3
  225. package/dist/minify/lz4.js.map +0 -1
  226. package/dist/sodium.cjs +0 -2
  227. package/dist/sodium.cjs.map +0 -1
  228. package/dist/sodium.d.ts +0 -5
  229. package/dist/sodium.js +0 -2
  230. package/dist/sodium.js.map +0 -1
  231. package/dist/utils/encoders.cjs +0 -2
  232. package/dist/utils/encoders.cjs.map +0 -1
  233. package/dist/utils/encoders.d.ts +0 -28
  234. package/dist/utils/encoders.js +0 -2
  235. package/dist/utils/encoders.js.map +0 -1
  236. package/dist/utils/store-buddy.cjs +0 -2
  237. package/dist/utils/store-buddy.cjs.map +0 -1
  238. package/dist/utils/store-buddy.d.ts +0 -15
  239. package/dist/utils/store-buddy.js +0 -2
  240. package/dist/utils/store-buddy.js.map +0 -1
  241. package/dist/utils/time.cjs +0 -2
  242. package/dist/utils/time.cjs.map +0 -1
  243. package/dist/utils/time.js +0 -2
  244. package/dist/utils/time.js.map +0 -1
  245. package/dist/utils/utils.cjs +0 -2
  246. package/dist/utils/utils.cjs.map +0 -1
  247. package/dist/utils/utils.d.ts +0 -6
  248. package/dist/utils/utils.js +0 -2
  249. package/dist/utils/utils.js.map +0 -1
  250. package/dist/worker/md5.cjs +0 -2
  251. package/dist/worker/md5.cjs.map +0 -1
  252. package/dist/worker/md5.d.ts +0 -3
  253. package/dist/worker/md5.js +0 -2
  254. package/dist/worker/md5.js.map +0 -1
  255. package/dist/worker/sodium.cjs +0 -2
  256. package/dist/worker/sodium.cjs.map +0 -1
  257. package/dist/worker/sodium.d.ts +0 -6
  258. package/dist/worker/sodium.js +0 -2
  259. package/dist/worker/sodium.js.map +0 -1
  260. package/dist/worker/workerCodes.cjs +0 -254
  261. package/dist/worker/workerCodes.cjs.map +0 -1
  262. package/dist/worker/workerCodes.d.ts +0 -4
  263. package/dist/worker/workerCodes.js.map +0 -1
  264. package/dist/zeus/const.cjs +0 -2
  265. package/dist/zeus/const.cjs.map +0 -1
  266. package/dist/zeus/const.d.ts +0 -9
  267. package/dist/zeus/const.js +0 -2
  268. package/dist/zeus/const.js.map +0 -1
  269. package/dist/zeus/index.cjs +0 -5
  270. package/dist/zeus/index.cjs.map +0 -1
  271. package/dist/zeus/index.d.ts +0 -9428
  272. package/dist/zeus/index.js +0 -5
  273. package/dist/zeus/index.js.map +0 -1
@@ -1,405 +0,0 @@
1
- import { DownloadProgress as DownloadProgress$1 } from 'ky';
2
- import { Thunder, NodeType, Rights, MailType, MongoDbEnv, InfuraNetwork, UserRole, Lang, GraphQLTypes } from './zeus/index.js';
3
- import { ErrorAccessDenied, ErrorNotExist, ErrorBadRequest, ErrorNotFound, ErrorLimit, ErrorBasic } from './error.js';
4
- import { Progress } from './crypto/file.js';
5
- import { KeyPair } from './crypto/index.js';
6
- import { FileMetadata } from './client/types/File.js';
7
- import { Node, NodeFull, Mail, WaitingReceivedMail, DraftMail, ReceivedMail, SentMail, SecrecyUserApp } from './client/types/index.js';
8
- import { UserAppSettings } from './client/types/UserAppSettings.js';
9
- import { UserAppNotifications } from './client/types/UserAppNotifications.js';
10
- import { JwtPayload } from 'jsonwebtoken';
11
- import { Document } from 'bson';
12
- import { providers } from 'ethers';
13
-
14
- declare class SecrecyCloudClient {
15
- #private;
16
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
17
- addFileToHistory({ fileId, nodeId }: {
18
- fileId: string;
19
- nodeId: string;
20
- }): Promise<SuccessResponse<Node> | ErrorAccessDenied | ErrorNotExist | null>;
21
- uploadFile({ file, encryptProgress, uploadProgress, signal }: {
22
- file: globalThis.File | Uint8Array;
23
- encryptProgress?: ProgressCallback;
24
- uploadProgress?: ProgressCallback;
25
- signal?: AbortSignal;
26
- }): Promise<SuccessResponse<string> | ErrorAccessDenied | ErrorBadRequest | ErrorNotFound | null>;
27
- uploadFileInCloud({ file, name, nodeId, encryptProgress, uploadProgress, signal }: {
28
- file: globalThis.File | Uint8Array;
29
- name: string;
30
- nodeId?: string;
31
- encryptProgress?: ProgressCallback;
32
- uploadProgress?: ProgressCallback;
33
- signal?: AbortSignal;
34
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorBadRequest | ErrorNotFound | ErrorNotExist | ErrorLimit | ErrorBasic | null>;
35
- deletedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
36
- sharedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
37
- nodesSharedWithMe(type?: NodeType | null | undefined): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
38
- deleteNodeSharing({ nodeId, userId }: {
39
- nodeId: string;
40
- userId: string;
41
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
42
- duplicateNode({ nodeId, folderId, customName }: {
43
- nodeId: string;
44
- folderId?: string | null | undefined;
45
- customName?: string | null | undefined;
46
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
47
- deleteNodeCloudTrash({ ids }: {
48
- ids: Array<string>;
49
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
50
- createFolder({ name, parentFolderId }: {
51
- name: string;
52
- parentFolderId?: string | null;
53
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
54
- node({ id, deleted }?: {
55
- id?: string | null | undefined;
56
- deleted?: boolean | null | undefined;
57
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | null>;
58
- fileMetadata({ id }: {
59
- id: string;
60
- }): Promise<SuccessResponse<FileMetadata> | ErrorAccessDenied | null>;
61
- shareNode({ nodeId, userId, rights }: {
62
- nodeId: string;
63
- userId: string;
64
- rights: Rights;
65
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
66
- updateNode({ nodeId, name, isFavorite, deletedAt }: {
67
- nodeId: string;
68
- name?: string | null | undefined;
69
- isFavorite?: boolean | null | undefined;
70
- deletedAt?: Date | null | undefined;
71
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
72
- fileContent({ fileId, onDownloadProgress, progressDecrypt, signal }: {
73
- fileId: string;
74
- onDownloadProgress?: (progress: DownloadProgress) => void;
75
- progressDecrypt?: ProgressCallback;
76
- signal?: AbortSignal;
77
- }): Promise<SuccessResponse<Uint8Array> | ErrorAccessDenied | ErrorBasic | ErrorBadRequest | ErrorNotFound | null>;
78
- deleteFile({ fileId, nodeId }: {
79
- fileId: string;
80
- nodeId: string;
81
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
82
- deleteNode({ nodeId }: {
83
- nodeId: string;
84
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
85
- emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
86
- recoverNode(id: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
87
- moveNodes({ nodeIds, parentNodeId }: {
88
- nodeIds: string[];
89
- parentNodeId?: string | null | undefined;
90
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
91
- saveInCloud({ fileId, name, nodeId }: {
92
- fileId: string;
93
- name: string;
94
- nodeId?: string;
95
- }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorBasic | ErrorLimit | ErrorNotFound | null>;
96
- private perNode;
97
- }
98
-
99
- declare class SecrecyMailClient {
100
- #private;
101
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
102
- get({ id }: {
103
- id: string;
104
- }): Promise<SuccessResponse<Mail> | ErrorAccessDenied | null>;
105
- recover({ mailId }: {
106
- mailId: string;
107
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
108
- deletedMails({ mailType }: {
109
- mailType: MailType;
110
- }): Promise<SuccessResponse<Mail[]> | ErrorAccessDenied | null>;
111
- create(data: NewMail, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorBasic | ErrorAccessDenied | null>;
112
- waitingReceivedMails(): Promise<SuccessResponse<WaitingReceivedMail[]> | ErrorNotFound | null>;
113
- updateDraft(draftId: string, { body, subject, files, recipientsIds, replyTo }: Partial<NewMail>): Promise<SuccessResponse<DraftMail> | ErrorNotFound | ErrorAccessDenied | ErrorBasic | null>;
114
- deleteDraft(draftId: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
115
- deleteTrash({ ids }: {
116
- ids: Array<string>;
117
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
118
- emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
119
- delete({ mailId }: {
120
- mailId: string;
121
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
122
- sendDraft(draftId: string, customMessage?: string | null | undefined): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
123
- sendWaitingEmails(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | null>;
124
- createDraft({ body, subject, files, recipientsIds, replyTo }: NewMail): Promise<SuccessResponse<DraftMail> | ErrorAccessDenied | ErrorBasic | null>;
125
- read({ mailId }: {
126
- mailId: string;
127
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
128
- unread({ mailId }: {
129
- mailId: string;
130
- }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
131
- receivedMails(): Promise<SuccessResponse<ReceivedMail[]> | ErrorNotFound | null>;
132
- sentMails(): Promise<SuccessResponse<SentMail[]> | ErrorNotFound | null>;
133
- draftMails(): Promise<SuccessResponse<DraftMail[]> | ErrorNotFound | null>;
134
- unreadReceivedMailsCount(): Promise<SuccessResponse<number> | ErrorAccessDenied | null>;
135
- private _eachUser;
136
- }
137
-
138
- declare class SecrecyAppClient {
139
- #private;
140
- jwt: string;
141
- jwtDecoded: JwtPayload;
142
- constructor(uaJwt: string, _client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
143
- get userId(): string;
144
- getJwt(): Promise<string>;
145
- updateNotifications(notifications: Partial<UserAppNotifications>): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null>;
146
- notifications(): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | ErrorNotFound | null>;
147
- settings(): Promise<SuccessResponse<UserAppSettings> | ErrorNotFound | null>;
148
- updateSettings(settings: Partial<UserAppSettings>): Promise<SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null>;
149
- }
150
-
151
- declare class SecrecyDbClient {
152
- #private;
153
- constructor(_client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
154
- getDbConfig<T>({ appId, env }: {
155
- appId: string;
156
- env: MongoDbEnv;
157
- }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorNotFound | null>;
158
- dbGetDiff<T>({ appId, env, config }: {
159
- appId: string;
160
- env: MongoDbEnv;
161
- config: string;
162
- }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorBasic | null>;
163
- setDbConfig<T>({ appId, env, config }: {
164
- appId: string;
165
- env: MongoDbEnv;
166
- config: string;
167
- }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorBasic | null>;
168
- dbConfigPushToProd<T>({ appId, diffHash }: {
169
- appId: string;
170
- diffHash: string;
171
- }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorBasic | null>;
172
- get<U>({ field, appId, userId, env }: {
173
- field: string;
174
- appId: string;
175
- env: MongoDbEnv;
176
- userId?: string | null | undefined;
177
- }): Promise<SuccessResponse<U> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | ErrorNotFound | null>;
178
- set<T extends UserData, U extends Document>({ value, appId, env, userId }: {
179
- value: U;
180
- appId: string;
181
- env: MongoDbEnv;
182
- userId?: string | null | undefined;
183
- }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorBasic | ErrorNotFound | null>;
184
- search<T>({ appId, env, search, field, take, skip, orderBy }: {
185
- appId: string;
186
- env: MongoDbEnv;
187
- field: string;
188
- search: string;
189
- take?: number;
190
- skip?: number;
191
- orderBy?: "createdAt_ASC" | "createdAt_DESC";
192
- }): Promise<SuccessResponse<T[]> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
193
- }
194
-
195
- type SuccessWalletResponse<T> = {
196
- success: true;
197
- data: T;
198
- };
199
- type ErrorWalletResponse = {
200
- success: false;
201
- error: string;
202
- };
203
- type SecrecyWalletResponse<T> = SuccessWalletResponse<T> | ErrorWalletResponse;
204
- declare class SecrecyWalletClient {
205
- #private;
206
- constructor(client: SecrecyClient);
207
- createTransaction({ env, network, tx }: {
208
- env?: SecrecyEnv;
209
- network?: InfuraNetwork;
210
- tx: providers.TransactionRequest;
211
- }): Promise<SecrecyWalletResponse<{
212
- id: string;
213
- hash: string;
214
- }>>;
215
- createSignature({ env, network, message }: {
216
- env?: SecrecyEnv;
217
- network?: InfuraNetwork;
218
- message: string;
219
- }): Promise<SecrecyWalletResponse<string>>;
220
- }
221
-
222
- type SuccessPayResponse<T> = {
223
- success: true;
224
- data: T;
225
- };
226
- type ErrorPayResponse = {
227
- success: false;
228
- error: string;
229
- };
230
- type SecrecyPayResponse<T> = SuccessPayResponse<T> | ErrorPayResponse;
231
- declare class SecrecyPayClient {
232
- #private;
233
- constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
234
- confirmPaymentIntent({ env, paymentIntentId, secrecyIdWhoCreatedPaymentIntent, secrecyIdWhoNeedToConfirmPaymentIntent, amount, currency }: {
235
- env?: SecrecyEnv;
236
- paymentIntentId: string;
237
- secrecyIdWhoCreatedPaymentIntent: string;
238
- secrecyIdWhoNeedToConfirmPaymentIntent: string;
239
- amount: number;
240
- currency: "eur" | "usd";
241
- }): Promise<SecrecyPayResponse<{
242
- id: string;
243
- message: string;
244
- }>>;
245
- }
246
-
247
- type NewMail = {
248
- body: string;
249
- subject: string;
250
- files: {
251
- id: string;
252
- name: string;
253
- }[];
254
- recipientsIds: string[];
255
- replyTo?: string | null | undefined;
256
- };
257
- type ProgressCallback = (progress: Progress) => Promise<void>;
258
- declare const encryptName: (name: string, nameKey: string) => Promise<string>;
259
- declare class SecrecyClient extends BaseClient {
260
- #private;
261
- cloud: SecrecyCloudClient;
262
- mail: SecrecyMailClient;
263
- app: SecrecyAppClient;
264
- db: SecrecyDbClient;
265
- wallet: SecrecyWalletClient;
266
- pay: SecrecyPayClient;
267
- constructor(uaSession: string, uaKeys: KeyPair, uaJwt: string, env: SecrecyEnv);
268
- get publicKey(): string;
269
- logout(sessionId?: string | null | undefined): Promise<void>;
270
- }
271
-
272
- declare function parseInfos(): SecrecyUserApp | null;
273
- declare const getUrl: ({ env, hash, path }: {
274
- env: string;
275
- hash: string;
276
- path: string;
277
- }) => string;
278
- type HashInfos = {
279
- appUrl: string;
280
- backPath?: string;
281
- appCode?: string | null | undefined;
282
- path?: string | null | undefined;
283
- redirect?: boolean;
284
- scopes?: {
285
- email: boolean;
286
- };
287
- };
288
- type SecrecyEnv = "dev" | "prod";
289
- type UseSecrecyParams = Omit<HashInfos, "appUrl"> & {
290
- env: SecrecyEnv;
291
- session?: boolean | undefined;
292
- };
293
- type Value<T extends UseSecrecyParams> = T extends {
294
- redirect: true;
295
- } ? SecrecyClient | null : SecrecyClient;
296
- declare function getSecrecyClient(env: SecrecyEnv, session?: boolean | undefined): SecrecyClient | null;
297
- declare function login<T extends UseSecrecyParams>({ appCode, path, redirect, scopes, backPath, env, session }?: T): Promise<Value<T>>;
298
-
299
- type SuccessResponse<T> = {
300
- __typename: "SuccessResponse";
301
- data: T;
302
- };
303
- type DownloadProgress = DownloadProgress$1;
304
- type SendReport = {
305
- id: string;
306
- user: {
307
- id: string;
308
- firstname: string;
309
- lastname: string;
310
- email: string;
311
- };
312
- reportedUser: {
313
- id: string;
314
- firstname: string;
315
- lastname: string;
316
- email: string;
317
- };
318
- customMessage?: string | undefined;
319
- };
320
- type UserData<T extends Record<string, unknown> = Record<string, unknown>> = {
321
- isSuperuser: boolean;
322
- isSearchable: boolean;
323
- } & T;
324
- type UserBase = {
325
- email: string;
326
- phone: string;
327
- lastname: string;
328
- role: UserRole;
329
- firstname: string;
330
- id: string;
331
- deletedAt?: Date;
332
- lastLogin: Date;
333
- lang: Lang;
334
- };
335
- type WithPublicKey = {
336
- withPublicKey?: boolean;
337
- };
338
- type User<T extends WithPublicKey = WithPublicKey> = T extends {
339
- withPublicKey: true;
340
- } ? UserBase & {
341
- publicKey: string;
342
- } : UserBase;
343
- type ClassGetUserParams = WithPublicKey & {
344
- userId?: string;
345
- userEmail?: string;
346
- };
347
- type StaticGetUserParams = ClassGetUserParams & {
348
- env: SecrecyEnv;
349
- };
350
- type CloudLimits = {
351
- count: bigint;
352
- maxCount?: bigint | undefined;
353
- size: bigint;
354
- maxSize?: bigint | undefined;
355
- };
356
- type MailLimitsValues = {
357
- count: bigint;
358
- maxCount?: bigint | undefined;
359
- fileSize: bigint;
360
- maxFileSize?: bigint | undefined;
361
- fileCount: bigint;
362
- maxFileCount?: bigint | undefined;
363
- };
364
- type QueryLimits = {
365
- cloud: CloudLimits;
366
- mail: {
367
- sent: MailLimitsValues;
368
- received: MailLimitsValues;
369
- };
370
- };
371
- declare class BaseClient {
372
- static readonly getBaseUrl: (env?: SecrecyEnv, graphcdn?: boolean) => string;
373
- static readonly getBaseClient: (env: SecrecyEnv, session?: string | null | undefined) => ReturnType<typeof Thunder>;
374
- protected thunder: ReturnType<typeof Thunder>;
375
- sessionId: string;
376
- constructor(session: string, env: SecrecyEnv);
377
- logout(sessionId?: string | null | undefined): Promise<void>;
378
- me<T extends WithPublicKey = WithPublicKey>(params?: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
379
- static user<T extends StaticGetUserParams>(params: T, sessionId?: string | null | undefined): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
380
- user<T extends ClassGetUserParams>(params: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
381
- updateProfile({ firstname, lastname, lang }: {
382
- firstname: string | null;
383
- lastname: string | null;
384
- lang: Lang | null;
385
- }): Promise<SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null>;
386
- static isCryptoTransactionDone({ env, idOrHash, network }: {
387
- env: SecrecyEnv;
388
- idOrHash: string;
389
- network?: InfuraNetwork;
390
- }): Promise<boolean>;
391
- limits(): Promise<SuccessResponse<QueryLimits> | ErrorNotExist | ErrorLimit | ErrorNotFound | null>;
392
- reportUser(reportedUserId: string, customMessage?: string): Promise<SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null>;
393
- getSponsorshipLink({ backUrl }: {
394
- backUrl: string;
395
- }): Promise<string | null>;
396
- static getPaymentRequest: ({ env, paymentRequestId, secrecyIdSeller, secrecyId, appCode }: {
397
- env: SecrecyEnv;
398
- paymentRequestId: string;
399
- secrecyIdSeller: string;
400
- secrecyId?: string | undefined;
401
- appCode?: string | undefined;
402
- }) => Promise<SuccessResponse<GraphQLTypes["GetPaymentRequestToPay"]> | ErrorAccessDenied | ErrorNotFound>;
403
- }
404
-
405
- export { BaseClient as B, CloudLimits as C, DownloadProgress as D, HashInfos as H, MailLimitsValues as M, NewMail as N, ProgressCallback as P, QueryLimits as Q, SendReport as S, UserBase as U, Value as V, User as a, UserData as b, SuccessResponse as c, SecrecyClient as d, encryptName as e, SecrecyEnv as f, getUrl as g, UseSecrecyParams as h, getSecrecyClient as i, SecrecyCloudClient as j, SecrecyMailClient as k, login as l, SecrecyAppClient as m, SecrecyDbClient as n, SecrecyWalletResponse as o, parseInfos as p, SecrecyWalletClient as q, SecrecyPayResponse as r, SecrecyPayClient as s };
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _libutils = require('@secrecy/lib-utils');var _cachejs = require('./cache.js');var _storagejs = require('./client/storage.js');var _indexjs = require('./zeus/index.js');var _ZeusThunderjs = require('./ZeusThunder.js');const g=(o,t)=>{const{user:e}=_indexjs.Selector.call(void 0, "Query")({user:[{userId:o},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:t?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};async function l(o){const t=g(_nullishCoalesce(o.userId, () => (o.userEmail)),o.withPublicKey),{user:e}=await o.client("query",{scalars:{Json:{encode:r=>JSON.stringify(r),decode:r=>JSON.parse(r)},DateTime:{decode:r=>new Date(r),encode:r=>r.toISOString()},BigInt:{decode:r=>BigInt(r),encode:r=>r.toString()}}})({user:t});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null}class u{static __initStatic() {this.getBaseUrl=(t="prod",e=!0)=>{const r=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(r)return r;switch(t){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}}static __initStatic2() {this.getBaseClient=(t,e)=>_ZeusThunderjs.createThunder.call(void 0, u.getBaseUrl(t),e)}constructor(t,e){this.sessionId=t,this.thunder=u.getBaseClient(e,t)}async logout(t){if(!t){const e=_storagejs.getStorage.call(void 0, !1),r=_storagejs.getStorage.call(void 0, !0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),r.jwt.clear(),r.userAppKeys.clear(),r.userAppSession.clear(),_cachejs.usersCache.clear()}try{await this.thunder("mutation")({logout:[{sessionId:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch (e2){}}async me(t){return this.user(t||{withPublicKey:!0})}static async user(t,e){const r=await l({client:this.getBaseClient(t.env,e),userId:_nullishCoalesce(t.userId, () => (t.userEmail)),withPublicKey:t.withPublicKey});return r?(r.__typename==="ErrorNotFound"||r&&_cachejs.usersCache.set(r.data.id,r.data),r):null}async user(t){const e=await l({client:this.thunder,userId:_nullishCoalesce(t.userId, () => (t.userEmail)),withPublicKey:t.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&_cachejs.usersCache.set(e.data.id,e.data),e):null}async updateProfile({firstname:t,lastname:e,lang:r}){const{updateProfile:n}=await this.thunder("mutation",{scalars:{Json:{encode:s=>JSON.stringify(s),decode:s=>JSON.parse(s)},DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()},BigInt:{decode:s=>BigInt(s),encode:s=>s.toString()}}})({updateProfile:[{firstname:t,lastname:e,lang:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return n?n.__typename==="ErrorAccessDenied"||n.__typename==="ErrorNotFound"?n:n.updateProfile?{__typename:"SuccessResponse",data:n.updateProfile}:null:null}static async isCryptoTransactionDone({env:t,idOrHash:e,network:r=_indexjs.InfuraNetwork.mainnet}){const{isCryptoTransactionDone:n}=await u.getBaseClient(t)("query")({isCryptoTransactionDone:[{idOrHash:e,network:r},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return n&&n.__typename==="IsCryptoTransactionDoneResponse"?n.done:!1}async limits(){const{limits:t}=await this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return t?t.__typename==="ErrorNotExist"||t.__typename==="ErrorLimit"||t.__typename==="ErrorNotFound"?t:{__typename:"SuccessResponse",data:t}:null}async reportUser(t,e){const{sendReport:r}=await this.thunder("mutation")({sendReport:[{reportedUserId:t,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotFound"?r:r.sendReport?{__typename:"SuccessResponse",data:r.sendReport}:null:null}async getSponsorshipLink({backUrl:t}){const e=await this.me({withPublicKey:!1});return!e||e.__typename==="ErrorNotFound"?null:_libutils.getLink.call(void 0, {app:"auth",path:`/sign-up?gf=${btoa(e.data.email)}&au=${btoa(t)}`})}static __initStatic3() {this.getPaymentRequest=async({env:t,paymentRequestId:e,secrecyIdSeller:r,secrecyId:n,appCode:s})=>{const{getPaymentRequestToPay:i}=await u.getBaseClient(t)("query")({getPaymentRequestToPay:[{paymentRequestId:e,secrecyIdSeller:r,secrecyId:n,appCode:s},{__typename:!0,"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,field:!0,message:!0},"...on GetPaymentRequestToPayResponse":{__typename:!0,paymentRequestToPay:{__typename:!0,accountId:!0,id:!0,amount:!0,amount_capturable:!0,amount_received:!0,application_id:!0,application_name:!0,application_fee_amount:!0,canceled_at:!0,cancellation_reason:!0,capture_method:!0,client_secret:!0,confirmation_method:!0,created:!0,currency:!0,customer:!0,description:!0,invoice:!0,livemode:!0,payment_method:!0,status:!0}}}]});return i?i.__typename==="ErrorAccessDenied"||i.__typename==="ErrorNotFound"?i:i.paymentRequestToPay?{__typename:"SuccessResponse",data:i.paymentRequestToPay}:{__typename:"ErrorNotFound",message:"No payment request found"}:{__typename:"ErrorNotFound",message:"No payment request found"}}}} u.__initStatic(); u.__initStatic2(); u.__initStatic3();exports.BaseClient = u;
2
- //# sourceMappingURL=BaseClient.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/BaseClient.ts"],"names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","selector","userResponse","e","BaseClient","env","graphcdn","apiUrl","session","sessionId","local","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","paymentRequestId","secrecyIdSeller","secrecyId","appCode","getPaymentRequestToPay"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { GraphQLTypes, Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\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 user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = 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 updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\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 limits: {\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n\n public static getPaymentRequest = async ({\n env,\n paymentRequestId,\n secrecyIdSeller,\n secrecyId,\n appCode\n }: {\n env: SecrecyEnv;\n paymentRequestId: string;\n secrecyIdSeller: string;\n secrecyId?: string;\n appCode?: string;\n }): Promise<\n | SuccessResponse<GraphQLTypes[\"GetPaymentRequestToPay\"]>\n | ErrorAccessDenied\n | ErrorNotFound\n > => {\n const { getPaymentRequestToPay } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n getPaymentRequestToPay: [\n {\n paymentRequestId,\n secrecyIdSeller,\n secrecyId,\n appCode\n },\n {\n __typename: true,\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n field: true,\n message: true\n },\n \"...on GetPaymentRequestToPayResponse\": {\n __typename: true,\n paymentRequestToPay: {\n __typename: true,\n accountId: true,\n id: true,\n amount: true,\n amount_capturable: true,\n amount_received: true,\n application_id: true,\n application_name: true,\n application_fee_amount: true,\n canceled_at: true,\n cancellation_reason: true,\n capture_method: true,\n client_secret: true,\n confirmation_method: true,\n created: true,\n currency: true,\n customer: true,\n description: true,\n invoice: true,\n livemode: true,\n payment_method: true,\n status: true\n }\n }\n }\n ]\n });\n\n if (!getPaymentRequestToPay) {\n return {\n __typename: \"ErrorNotFound\",\n message: \"No payment request found\"\n };\n }\n\n if (\n getPaymentRequestToPay.__typename === \"ErrorAccessDenied\" ||\n getPaymentRequestToPay.__typename === \"ErrorNotFound\"\n ) {\n return getPaymentRequestToPay;\n }\n\n if (!getPaymentRequestToPay.paymentRequestToPay) {\n return {\n __typename: \"ErrorNotFound\",\n message: \"No payment request found\"\n };\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: getPaymentRequestToPay.paymentRequestToPay\n };\n };\n}\n"]}
@@ -1,16 +0,0 @@
1
- import 'ky';
2
- export { B as BaseClient, C as CloudLimits, D as DownloadProgress, M as MailLimitsValues, Q as QueryLimits, S as SendReport, c as SuccessResponse, a as User, U as UserBase, b as UserData } from './BaseClient-2af8a400.js';
3
- import './zeus/index.js';
4
- import './error.js';
5
- import './crypto/file.js';
6
- import './crypto/index.js';
7
- import './client/types/File.js';
8
- import './client/types/selectors.js';
9
- import './zeus/const.js';
10
- import './client/types/index.js';
11
- import './client/types/UserAppSettings.js';
12
- import './client/types/UserAppNotifications.js';
13
- import './client/types/Inputs.js';
14
- import 'jsonwebtoken';
15
- import 'bson';
16
- import 'ethers';
@@ -1,2 +0,0 @@
1
- import{getLink as d}from"@secrecy/lib-utils";import{usersCache as a}from"./cache.js";import{getStorage as c}from"./client/storage.js";import{InfuraNetwork as p}from"./zeus/index.js";import{Selector as m}from"./zeus/index.js";import{createThunder as y}from"./ZeusThunder.js";const g=(o,t)=>{const{user:e}=m("Query")({user:[{userId:o},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:t?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};async function l(o){const t=g(o.userId??o.userEmail,o.withPublicKey),{user:e}=await o.client("query",{scalars:{Json:{encode:r=>JSON.stringify(r),decode:r=>JSON.parse(r)},DateTime:{decode:r=>new Date(r),encode:r=>r.toISOString()},BigInt:{decode:r=>BigInt(r),encode:r=>r.toString()}}})({user:t});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null}class u{static getBaseUrl=(t="prod",e=!0)=>{const r=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(r)return r;switch(t){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}};static getBaseClient=(t,e)=>y(u.getBaseUrl(t),e);thunder;sessionId;constructor(t,e){this.sessionId=t,this.thunder=u.getBaseClient(e,t)}async logout(t){if(!t){const e=c(!1),r=c(!0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),r.jwt.clear(),r.userAppKeys.clear(),r.userAppSession.clear(),a.clear()}try{await this.thunder("mutation")({logout:[{sessionId:t},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch{}}async me(t){return this.user(t||{withPublicKey:!0})}static async user(t,e){const r=await l({client:this.getBaseClient(t.env,e),userId:t.userId??t.userEmail,withPublicKey:t.withPublicKey});return r?(r.__typename==="ErrorNotFound"||r&&a.set(r.data.id,r.data),r):null}async user(t){const e=await l({client:this.thunder,userId:t.userId??t.userEmail,withPublicKey:t.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&a.set(e.data.id,e.data),e):null}async updateProfile({firstname:t,lastname:e,lang:r}){const{updateProfile:n}=await this.thunder("mutation",{scalars:{Json:{encode:s=>JSON.stringify(s),decode:s=>JSON.parse(s)},DateTime:{decode:s=>new Date(s),encode:s=>s.toISOString()},BigInt:{decode:s=>BigInt(s),encode:s=>s.toString()}}})({updateProfile:[{firstname:t,lastname:e,lang:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on UpdateProfileResponse":{__typename:!0,updateProfile:{id:!0,firstname:!0,lastname:!0,lang:!0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return n?n.__typename==="ErrorAccessDenied"||n.__typename==="ErrorNotFound"?n:n.updateProfile?{__typename:"SuccessResponse",data:n.updateProfile}:null:null}static async isCryptoTransactionDone({env:t,idOrHash:e,network:r=p.mainnet}){const{isCryptoTransactionDone:n}=await u.getBaseClient(t)("query")({isCryptoTransactionDone:[{idOrHash:e,network:r},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return n&&n.__typename==="IsCryptoTransactionDoneResponse"?n.done:!1}async limits(){const{limits:t}=await this.thunder("query",{scalars:{Json:{encode:e=>JSON.stringify(e),decode:e=>JSON.parse(e)},DateTime:{decode:e=>new Date(e),encode:e=>e.toISOString()},BigInt:{decode:e=>BigInt(e),encode:e=>e.toString()}}})({limits:{"...on ErrorLimit":{__typename:!0,message:!0},"...on ErrorNotExist":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on QueryLimits":{__typename:!0,cloud:{size:!0,maxSize:!0,count:!0,maxCount:!0},mail:{received:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0},sent:{count:!0,maxCount:!0,fileCount:!0,maxFileCount:!0,fileSize:!0,maxFileSize:!0}}}}});return t?t.__typename==="ErrorNotExist"||t.__typename==="ErrorLimit"||t.__typename==="ErrorNotFound"?t:{__typename:"SuccessResponse",data:t}:null}async reportUser(t,e){const{sendReport:r}=await this.thunder("mutation")({sendReport:[{reportedUserId:t,customMessage:e},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,message:!0},"...on SendReportResponse":{__typename:!0,sendReport:{id:!0,customMessage:!0,user:{id:!0,firstname:!0,lastname:!0,email:!0},reportedUser:{id:!0,firstname:!0,lastname:!0,email:!0}}}}]});return r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotFound"?r:r.sendReport?{__typename:"SuccessResponse",data:r.sendReport}:null:null}async getSponsorshipLink({backUrl:t}){const e=await this.me({withPublicKey:!1});return!e||e.__typename==="ErrorNotFound"?null:d({app:"auth",path:`/sign-up?gf=${btoa(e.data.email)}&au=${btoa(t)}`})}static getPaymentRequest=async({env:t,paymentRequestId:e,secrecyIdSeller:r,secrecyId:n,appCode:s})=>{const{getPaymentRequestToPay:i}=await u.getBaseClient(t)("query")({getPaymentRequestToPay:[{paymentRequestId:e,secrecyIdSeller:r,secrecyId:n,appCode:s},{__typename:!0,"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorNotFound":{__typename:!0,field:!0,message:!0},"...on GetPaymentRequestToPayResponse":{__typename:!0,paymentRequestToPay:{__typename:!0,accountId:!0,id:!0,amount:!0,amount_capturable:!0,amount_received:!0,application_id:!0,application_name:!0,application_fee_amount:!0,canceled_at:!0,cancellation_reason:!0,capture_method:!0,client_secret:!0,confirmation_method:!0,created:!0,currency:!0,customer:!0,description:!0,invoice:!0,livemode:!0,payment_method:!0,status:!0}}}]});return i?i.__typename==="ErrorAccessDenied"||i.__typename==="ErrorNotFound"?i:i.paymentRequestToPay?{__typename:"SuccessResponse",data:i.paymentRequestToPay}:{__typename:"ErrorNotFound",message:"No payment request found"}:{__typename:"ErrorNotFound",message:"No payment request found"}}}export{u as BaseClient};
2
- //# sourceMappingURL=BaseClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/BaseClient.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport type { DownloadProgress as DLProgress } from \"ky\";\nimport { getLink } from \"@secrecy/lib-utils\";\nimport { usersCache } from \"./cache.js\";\nimport type { SecrecyEnv } from \"./client/helpers.js\";\nimport { getStorage } from \"./client/storage.js\";\nimport type { GraphQLTypes, Lang, Thunder, UserRole } from \"./zeus/index.js\";\nimport { InfuraNetwork } from \"./zeus/index.js\";\nimport { Selector } from \"./zeus/index.js\";\nimport { createThunder } from \"./ZeusThunder.js\";\nimport type {\n ErrorAccessDenied,\n ErrorLimit,\n ErrorNotFound,\n ErrorNotExist\n} from \"./error.js\";\n\nexport type SuccessResponse<T> = {\n __typename: \"SuccessResponse\";\n data: T;\n};\n\nexport type DownloadProgress = DLProgress;\n\nexport type SendReport = {\n id: string;\n user: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n reportedUser: {\n id: string;\n firstname: string;\n lastname: string;\n email: string;\n };\n customMessage?: string | undefined;\n};\n\nexport type UserData<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n isSuperuser: boolean;\n isSearchable: boolean;\n} & T;\n\nconst getUserSelector = (\n userId: string | null | undefined,\n withPublicKey: boolean | undefined\n) => {\n const { user } = Selector(\"Query\")({\n user: [\n { userId },\n {\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true,\n field: true\n },\n \"...on UserResponse\": {\n __typename: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n publicKey: withPublicKey ? true : undefined,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n return user;\n};\n\nexport type UserBase = {\n email: string;\n phone: string;\n lastname: string;\n role: UserRole;\n firstname: string;\n id: string;\n deletedAt?: Date;\n lastLogin: Date;\n lang: Lang;\n};\n\ntype WithPublicKey = { withPublicKey?: boolean };\n\nexport type User<T extends WithPublicKey = WithPublicKey> = T extends {\n withPublicKey: true;\n}\n ? UserBase & { publicKey: string }\n : UserBase;\n\ntype ClassGetUserParams = WithPublicKey & {\n userId?: string;\n userEmail?: string;\n};\ntype GetUserParams = ClassGetUserParams & {\n client: ReturnType<typeof Thunder>;\n};\n\ntype StaticGetUserParams = ClassGetUserParams & {\n env: SecrecyEnv;\n};\n\nasync function getUser<U extends WithPublicKey>(\n params: GetUserParams\n): Promise<SuccessResponse<User<U>> | ErrorNotFound | null> {\n const selector = getUserSelector(\n params.userId ?? params.userEmail,\n params.withPublicKey\n );\n const { user: userResponse } = await params.client(\"query\", {\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 user: selector\n });\n\n if (!userResponse) {\n return null;\n }\n\n if (userResponse.__typename === \"ErrorNotFound\") {\n return userResponse;\n }\n\n if (!userResponse.user) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: userResponse.user\n };\n}\n\nexport type CloudLimits = {\n count: bigint;\n maxCount?: bigint | undefined;\n size: bigint;\n maxSize?: bigint | undefined;\n};\n\nexport type MailLimitsValues = {\n count: bigint;\n maxCount?: bigint | undefined;\n fileSize: bigint;\n maxFileSize?: bigint | undefined;\n fileCount: bigint;\n maxFileCount?: bigint | undefined;\n};\n\nexport type QueryLimits = {\n cloud: CloudLimits;\n mail: {\n sent: MailLimitsValues;\n received: MailLimitsValues;\n };\n};\n\nexport class BaseClient {\n public static readonly getBaseUrl = (\n env: SecrecyEnv = \"prod\",\n graphcdn = true\n ): string => {\n const apiUrl = process.env.NEXT_PUBLIC_SECRECY_API_URL;\n if (apiUrl) {\n return apiUrl;\n }\n\n switch (env) {\n case \"prod\":\n return graphcdn\n ? \"https://secrecy.graphcdn.app\"\n : \"https://api.secrecy.me/graphql\";\n case \"dev\":\n default:\n return \"https://api.dev.secrecy.me/graphql\";\n }\n };\n\n static readonly getBaseClient = (\n env: SecrecyEnv,\n session?: string | null | undefined\n ): ReturnType<typeof Thunder> =>\n createThunder(BaseClient.getBaseUrl(env), session);\n\n protected thunder: ReturnType<typeof Thunder>;\n\n public sessionId: string;\n\n constructor(session: string, env: SecrecyEnv) {\n this.sessionId = session;\n this.thunder = BaseClient.getBaseClient(env, session);\n }\n\n async logout(sessionId?: string | null | undefined): Promise<void> {\n if (!sessionId) {\n const local = getStorage(false);\n const session = getStorage(true);\n local.jwt.clear();\n local.userAppKeys.clear();\n local.userAppSession.clear();\n session.jwt.clear();\n session.userAppKeys.clear();\n session.userAppSession.clear();\n usersCache.clear();\n }\n try {\n await this.thunder(\"mutation\")({\n logout: [\n {\n sessionId: sessionId\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorBasic\": {\n __typename: true,\n message: true\n },\n \"...on LogoutResponse\": {\n __typename: true,\n logout: true\n }\n }\n ]\n });\n } catch {\n //\n }\n }\n\n async me<T extends WithPublicKey = WithPublicKey>(\n params?: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n return this.user(params || ({ withPublicKey: true } as T));\n }\n\n static async user<T extends StaticGetUserParams>(\n params: T,\n sessionId?: string | null | undefined\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.getBaseClient(params.env, sessionId),\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async user<T extends ClassGetUserParams>(\n params: T\n ): Promise<SuccessResponse<User<T>> | ErrorNotFound | null> {\n const user = await getUser<T>({\n client: this.thunder,\n userId: params.userId ?? params.userEmail,\n withPublicKey: params.withPublicKey\n });\n\n if (!user) {\n return null;\n }\n\n if (user.__typename === \"ErrorNotFound\") {\n return user;\n }\n\n if (user) {\n usersCache.set(user.data.id, user.data);\n }\n\n return user;\n }\n\n async updateProfile({\n firstname,\n lastname,\n lang\n }: {\n firstname: string | null;\n lastname: string | null;\n lang: Lang | null;\n }): Promise<\n SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null\n > {\n const { updateProfile } = 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 updateProfile: [\n {\n firstname,\n lastname,\n lang\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on UpdateProfileResponse\": {\n __typename: true,\n updateProfile: {\n id: true,\n firstname: true,\n lastname: true,\n lang: true,\n email: true,\n phone: true,\n role: true,\n deletedAt: true,\n lastLogin: true\n }\n }\n }\n ]\n });\n\n if (!updateProfile) {\n return null;\n }\n\n if (updateProfile.__typename === \"ErrorAccessDenied\") {\n return updateProfile;\n }\n\n if (updateProfile.__typename === \"ErrorNotFound\") {\n return updateProfile;\n }\n\n if (!updateProfile.updateProfile) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: updateProfile.updateProfile\n };\n }\n\n static async isCryptoTransactionDone({\n env,\n idOrHash,\n network = InfuraNetwork.mainnet\n }: {\n env: SecrecyEnv;\n idOrHash: string;\n network?: InfuraNetwork;\n }): Promise<boolean> {\n const { isCryptoTransactionDone } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n isCryptoTransactionDone: [\n {\n idOrHash,\n network\n },\n {\n __typename: true,\n \"...on IsCryptoTransactionDoneResponse\": {\n done: true\n },\n \"...on ErrorNotExist\": {\n message: true\n }\n }\n ]\n });\n\n if (!isCryptoTransactionDone) {\n return false;\n }\n\n return isCryptoTransactionDone.__typename ===\n \"IsCryptoTransactionDoneResponse\"\n ? isCryptoTransactionDone.done\n : false;\n }\n\n async limits(): Promise<\n | SuccessResponse<QueryLimits>\n | ErrorNotExist\n | ErrorLimit\n | ErrorNotFound\n | null\n > {\n const { limits } = await this.thunder(\"query\", {\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 limits: {\n \"...on ErrorLimit\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotExist\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on QueryLimits\": {\n __typename: true,\n cloud: {\n size: true,\n maxSize: true,\n count: true,\n maxCount: true\n },\n mail: {\n received: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n },\n sent: {\n count: true,\n maxCount: true,\n fileCount: true,\n maxFileCount: true,\n fileSize: true,\n maxFileSize: true\n }\n }\n }\n }\n });\n\n if (!limits) {\n return null;\n }\n\n if (limits.__typename === \"ErrorNotExist\") {\n return limits;\n }\n if (limits.__typename === \"ErrorLimit\") {\n return limits;\n }\n if (limits.__typename === \"ErrorNotFound\") {\n return limits;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: limits\n };\n }\n\n async reportUser(\n reportedUserId: string,\n customMessage?: string\n ): Promise<\n SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null\n > {\n const { sendReport } = await this.thunder(\"mutation\")({\n sendReport: [\n {\n reportedUserId,\n customMessage\n },\n {\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n message: true\n },\n \"...on SendReportResponse\": {\n __typename: true,\n sendReport: {\n id: true,\n customMessage: true,\n user: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n },\n reportedUser: {\n id: true,\n firstname: true,\n lastname: true,\n email: true\n }\n }\n }\n }\n ]\n });\n\n if (!sendReport) {\n return null;\n }\n\n if (sendReport.__typename === \"ErrorAccessDenied\") {\n return sendReport;\n }\n\n if (sendReport.__typename === \"ErrorNotFound\") {\n return sendReport;\n }\n\n if (!sendReport.sendReport) {\n return null;\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: sendReport.sendReport\n };\n }\n\n async getSponsorshipLink({\n backUrl\n }: {\n backUrl: string;\n }): Promise<string | null> {\n const me = await this.me({ withPublicKey: false });\n\n if (!me) {\n return null;\n }\n\n if (me.__typename === \"ErrorNotFound\") {\n return null;\n }\n\n return getLink({\n app: \"auth\",\n path: `/sign-up?gf=${btoa(me.data.email)}&au=${btoa(backUrl)}`\n });\n }\n\n public static getPaymentRequest = async ({\n env,\n paymentRequestId,\n secrecyIdSeller,\n secrecyId,\n appCode\n }: {\n env: SecrecyEnv;\n paymentRequestId: string;\n secrecyIdSeller: string;\n secrecyId?: string;\n appCode?: string;\n }): Promise<\n | SuccessResponse<GraphQLTypes[\"GetPaymentRequestToPay\"]>\n | ErrorAccessDenied\n | ErrorNotFound\n > => {\n const { getPaymentRequestToPay } = await BaseClient.getBaseClient(env)(\n \"query\"\n )({\n getPaymentRequestToPay: [\n {\n paymentRequestId,\n secrecyIdSeller,\n secrecyId,\n appCode\n },\n {\n __typename: true,\n \"...on ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\n \"...on ErrorNotFound\": {\n __typename: true,\n field: true,\n message: true\n },\n \"...on GetPaymentRequestToPayResponse\": {\n __typename: true,\n paymentRequestToPay: {\n __typename: true,\n accountId: true,\n id: true,\n amount: true,\n amount_capturable: true,\n amount_received: true,\n application_id: true,\n application_name: true,\n application_fee_amount: true,\n canceled_at: true,\n cancellation_reason: true,\n capture_method: true,\n client_secret: true,\n confirmation_method: true,\n created: true,\n currency: true,\n customer: true,\n description: true,\n invoice: true,\n livemode: true,\n payment_method: true,\n status: true\n }\n }\n }\n ]\n });\n\n if (!getPaymentRequestToPay) {\n return {\n __typename: \"ErrorNotFound\",\n message: \"No payment request found\"\n };\n }\n\n if (\n getPaymentRequestToPay.__typename === \"ErrorAccessDenied\" ||\n getPaymentRequestToPay.__typename === \"ErrorNotFound\"\n ) {\n return getPaymentRequestToPay;\n }\n\n if (!getPaymentRequestToPay.paymentRequestToPay) {\n return {\n __typename: \"ErrorNotFound\",\n message: \"No payment request found\"\n };\n }\n\n return {\n __typename: \"SuccessResponse\",\n data: getPaymentRequestToPay.paymentRequestToPay\n };\n };\n}\n"],"mappings":"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","names":["getLink","usersCache","getStorage","InfuraNetwork","Selector","createThunder","getUserSelector","userId","withPublicKey","user","getUser","params","selector","userResponse","e","BaseClient","env","graphcdn","apiUrl","session","sessionId","local","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","paymentRequestId","secrecyIdSeller","secrecyId","appCode","getPaymentRequestToPay"]}
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }const m={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let h=1;function O(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function v(){return h+=1,`Popup ${h}`}function W(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t={...n},e=window.outerWidth-n.width,i=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+i/2.5),delete t.centered),t}function C(n,t,e,i){const o=document.createElement("form");let r=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),r=window.open("/",e,i),_optionalChain([r, 'optionalAccess', _ => _.document, 'access', _2 => _2.write, 'call', _3 => _3("Loading...")]),o.submit(),document.body.removeChild(o),r}function b(n,t,e,i,o){const r=e||v(),l=W(Object.assign({},m,i)),u=o||function(){},s=O(l),a=n(t,r,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===r&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function y(n,t,e,i){return b(window.open,n,t,e,i)}function E(n,t,e,i,o){function r(l,u,s){return C(l,t,u,s)}return b(r,n,e,i,o)}function P(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}exports.popup = y; exports.popupResponse = P; exports.popupWithPost = E;
2
- //# sourceMappingURL=PopupTools.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/PopupTools.ts"],"names":["defaultOptions","popupCount","optionsToString","options","k","v","defaultPopupName","optionsResolveCentered","result","width","height","openPopupWithPost","url","postData","name","form","win","key","input","popupExecute","execute","callback","popupName","popupOptions","popupCallback","optionsString","isMessageSent","interval","popupCallbackOnce","err","data","onMessage","message","popup","popupWithPost","openWithPostData","popupUrl","popupResponse","id"],"mappings":"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","sourcesContent":["/**\n * TS Rewrite of https://github.com/enhancv/popup-tools\n */\n\ntype YesNo = \"yes\" | \"no\";\ntype Options = {\n width?: number;\n height?: number;\n menubar: YesNo;\n resizable: YesNo;\n location: YesNo;\n scrollbars: YesNo;\n centered?: boolean;\n left?: number;\n top?: number;\n};\n\nconst defaultOptions: Options = {\n width: 700,\n height: 520,\n menubar: \"no\",\n resizable: \"yes\",\n location: \"yes\",\n scrollbars: \"no\",\n centered: true\n};\n\ntype Callback = (err?: Error, data?: unknown) => void;\n\ntype WindowOpen = (\n popupUrl: string,\n popupName: string,\n optionsString: string\n) => Window | null;\n\nlet popupCount = 1;\n\n/**\n * Return options converted to a string\n *\n * @param {Object} options\n * @return {String}\n */\nfunction optionsToString<T extends Options>(options: T): string {\n return Object.entries(options)\n .map(([k, v]) => `${k}=${v}`)\n .join(\",\");\n}\n\n/**\n * Get a unique name on each call\n * @return {String}\n */\nfunction defaultPopupName(): string {\n popupCount += 1;\n return `Popup ${popupCount}`;\n}\n\n/**\n * Convert \"centered: true\" key into concrete left and top arguments\n * Both can be overwritten\n *\n * @param {Object} options\n * @return {Object}\n */\nfunction optionsResolveCentered(options: Options): Options {\n if (!options.width || !options.height) {\n throw new Error(\"Should have width and height\");\n }\n const result = { ...options };\n const width = window.outerWidth - options.width;\n const height = window.outerHeight - options.height;\n\n if (options.centered) {\n result.left = options.left || Math.round(window.screenX + width / 2);\n result.top = options.top || Math.round(window.screenY + height / 2.5);\n delete result.centered;\n }\n return result;\n}\n\n/**\n * Create a form element, add hidden inputs for all the post data\n * and post it into a newly opened popup\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @return {Object}\n */\nfunction openPopupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: string\n): Window | null {\n const form = document.createElement(\"form\");\n let win: Window | null = null;\n\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n form.setAttribute(\"target\", name);\n\n Object.keys(postData).forEach(function addFormItem(key) {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = key;\n input.value = postData[key];\n form.appendChild(input);\n });\n\n document.body.appendChild(form);\n\n win = window.open(\"/\", name, options);\n win?.document.write(\"Loading...\");\n\n form.submit();\n document.body.removeChild(form);\n\n return win;\n}\n\n/**\n * Open a popup using the first argument. Wait for it to close.\n * Returns the window object\n *\n * @param {Function}\n * @param {String}\n * @param {String}\n * @param {Object}\n * @param {Function}\n * @return {Object}\n */\nfunction popupExecute(\n execute: WindowOpen,\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n const popupName = name || defaultPopupName();\n const popupOptions = optionsResolveCentered(\n Object.assign({}, defaultOptions, options)\n );\n const popupCallback =\n callback ||\n function noop(): void {\n //\n };\n const optionsString = optionsToString(popupOptions);\n const win = execute(url, popupName, optionsString);\n let isMessageSent = false;\n let interval: number;\n\n function popupCallbackOnce(err?: Error, data?: unknown): void {\n if (!isMessageSent) {\n isMessageSent = true;\n popupCallback(err, data);\n }\n }\n\n function onMessage(message?: MessageEvent): void {\n const data = message ? message.data : undefined;\n\n if (data && data.id === popupName) {\n popupCallbackOnce(undefined, data.data);\n window.removeEventListener(\"message\", onMessage);\n clearInterval(interval);\n }\n }\n\n window.addEventListener(\"message\", onMessage, false);\n\n if (win) {\n interval = window.setInterval(function closePopupCallback() {\n if (win === null || win.closed) {\n setTimeout(function delayWindowClosing() {\n clearInterval(interval);\n popupCallbackOnce(new Error(\"Popup closed\"));\n }, 500);\n }\n }, 100);\n } else {\n popupCallbackOnce(new Error(\"Popup blocked\"));\n }\n\n return win;\n}\n\n/**\n * Open a popup using the first argument.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popup(\n url: string,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n return popupExecute(window.open, url, name, options, callback);\n}\n\n/**\n * Open a popup using the first argument.\n * Post the data into the open popup.\n * Wait for it to close and call the callback.\n * Set the options string using the options object\n * Returns the window object\n *\n * @param {String} url\n * @param {Object} postData\n * @param {String} name\n * @param {Object} options\n * @param {Function} callback\n * @return {Object}\n */\nexport function popupWithPost(\n url: string,\n postData: Record<string, string>,\n name: string,\n options: Partial<Options>,\n callback: Callback\n): Window | null {\n function openWithPostData(\n popupUrl: string,\n popupName: string,\n optionsString: string\n ): Window | null {\n return openPopupWithPost(popupUrl, postData, popupName, optionsString);\n }\n\n return popupExecute(openWithPostData, url, name, options, callback);\n}\n\n/**\n * Return html that when executed, will trigger the popup to callback with a response\n *\n * @param {Object}\n * @return {String}\n */\nexport function popupResponse<T>(id: string, data: T): string {\n const jsonData = JSON.stringify({ id, data });\n\n return `<script>window.opener.postMessage(${jsonData}, \"*\");setTimeout(function() { window.close(); }, 50);</script>`;\n}\n"]}
@@ -1,18 +0,0 @@
1
- type YesNo = "yes" | "no";
2
- type Options = {
3
- width?: number;
4
- height?: number;
5
- menubar: YesNo;
6
- resizable: YesNo;
7
- location: YesNo;
8
- scrollbars: YesNo;
9
- centered?: boolean;
10
- left?: number;
11
- top?: number;
12
- };
13
- type Callback = (err?: Error, data?: unknown) => void;
14
- declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
- declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
16
- declare function popupResponse<T>(id: string, data: T): string;
17
-
18
- export { popup, popupResponse, popupWithPost };
@@ -1,2 +0,0 @@
1
- const m={width:700,height:520,menubar:"no",resizable:"yes",location:"yes",scrollbars:"no",centered:!0};let h=1;function O(n){return Object.entries(n).map(([t,e])=>`${t}=${e}`).join(",")}function v(){return h+=1,`Popup ${h}`}function W(n){if(!n.width||!n.height)throw new Error("Should have width and height");const t={...n},e=window.outerWidth-n.width,i=window.outerHeight-n.height;return n.centered&&(t.left=n.left||Math.round(window.screenX+e/2),t.top=n.top||Math.round(window.screenY+i/2.5),delete t.centered),t}function C(n,t,e,i){const o=document.createElement("form");let r=null;return o.setAttribute("method","post"),o.setAttribute("action",n),o.setAttribute("target",e),Object.keys(t).forEach(function(u){const s=document.createElement("input");s.type="hidden",s.name=u,s.value=t[u],o.appendChild(s)}),document.body.appendChild(o),r=window.open("/",e,i),r?.document.write("Loading..."),o.submit(),document.body.removeChild(o),r}function b(n,t,e,i,o){const r=e||v(),l=W(Object.assign({},m,i)),u=o||function(){},s=O(l),a=n(t,r,s);let g=!1,c;function w(p,d){g||(g=!0,u(p,d))}function f(p){const d=p?p.data:void 0;d&&d.id===r&&(w(void 0,d.data),window.removeEventListener("message",f),clearInterval(c))}return window.addEventListener("message",f,!1),a?c=window.setInterval(function(){(a===null||a.closed)&&setTimeout(function(){clearInterval(c),w(new Error("Popup closed"))},500)},100):w(new Error("Popup blocked")),a}function y(n,t,e,i){return b(window.open,n,t,e,i)}function E(n,t,e,i,o){function r(l,u,s){return C(l,t,u,s)}return b(r,n,e,i,o)}function P(n,t){return`<script>window.opener.postMessage(${JSON.stringify({id:n,data:t})}, "*");setTimeout(function() { window.close(); }, 50);<\/script>`}export{y as popup,P as popupResponse,E as popupWithPost};
2
- //# sourceMappingURL=PopupTools.js.map