@secrecy/lib 1.6.0 → 1.6.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 (197) hide show
  1. package/dist/BaseClient-ca94a07f.d.ts +405 -0
  2. package/dist/BaseClient.cjs +2 -0
  3. package/dist/BaseClient.cjs.map +1 -0
  4. package/dist/BaseClient.d.ts +16 -111
  5. package/dist/BaseClient.js +2 -506
  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 -195
  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 -65
  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/client/SecrecyAppClient.cjs +2 -0
  23. package/dist/client/SecrecyAppClient.cjs.map +1 -0
  24. package/dist/client/SecrecyAppClient.d.ts +16 -17
  25. package/dist/client/SecrecyAppClient.js +2 -226
  26. package/dist/client/SecrecyAppClient.js.map +1 -0
  27. package/dist/client/SecrecyCloudClient.cjs +2 -0
  28. package/dist/client/SecrecyCloudClient.cjs.map +1 -0
  29. package/dist/client/SecrecyCloudClient.d.ts +16 -89
  30. package/dist/client/SecrecyCloudClient.js +2 -1405
  31. package/dist/client/SecrecyCloudClient.js.map +1 -0
  32. package/dist/client/SecrecyDbClient.cjs +2 -0
  33. package/dist/client/SecrecyDbClient.cjs.map +1 -0
  34. package/dist/client/SecrecyDbClient.d.ts +16 -48
  35. package/dist/client/SecrecyDbClient.js +2 -419
  36. package/dist/client/SecrecyDbClient.js.map +1 -0
  37. package/dist/client/SecrecyMailClient.cjs +2 -0
  38. package/dist/client/SecrecyMailClient.cjs.map +1 -0
  39. package/dist/client/SecrecyMailClient.d.ts +16 -42
  40. package/dist/client/SecrecyMailClient.js +2 -1022
  41. package/dist/client/SecrecyMailClient.js.map +1 -0
  42. package/dist/client/SecrecyPayClient.cjs +2 -0
  43. package/dist/client/SecrecyPayClient.cjs.map +1 -0
  44. package/dist/client/SecrecyPayClient.d.ts +16 -28
  45. package/dist/client/SecrecyPayClient.js +2 -68
  46. package/dist/client/SecrecyPayClient.js.map +1 -0
  47. package/dist/client/SecrecyWalletClient.cjs +2 -0
  48. package/dist/client/SecrecyWalletClient.cjs.map +1 -0
  49. package/dist/client/SecrecyWalletClient.d.ts +16 -30
  50. package/dist/client/SecrecyWalletClient.js +2 -73
  51. package/dist/client/SecrecyWalletClient.js.map +1 -0
  52. package/dist/client/convert/file.cjs +2 -0
  53. package/dist/client/convert/file.cjs.map +1 -0
  54. package/dist/client/convert/file.d.ts +11 -5
  55. package/dist/client/convert/file.js +2 -33
  56. package/dist/client/convert/file.js.map +1 -0
  57. package/dist/client/convert/mail.cjs +2 -0
  58. package/dist/client/convert/mail.cjs.map +1 -0
  59. package/dist/client/convert/mail.d.ts +13 -3
  60. package/dist/client/convert/mail.js +2 -42
  61. package/dist/client/convert/mail.js.map +1 -0
  62. package/dist/client/convert/node.cjs +2 -0
  63. package/dist/client/convert/node.cjs.map +1 -0
  64. package/dist/client/convert/node.d.ts +18 -9
  65. package/dist/client/convert/node.js +2 -87
  66. package/dist/client/convert/node.js.map +1 -0
  67. package/dist/client/helpers.cjs +2 -0
  68. package/dist/client/helpers.cjs.map +1 -0
  69. package/dist/client/helpers.d.ts +16 -28
  70. package/dist/client/helpers.js +2 -119
  71. package/dist/client/helpers.js.map +1 -0
  72. package/dist/client/index.cjs +2 -0
  73. package/dist/client/index.cjs.map +1 -0
  74. package/dist/client/index.d.ts +16 -34
  75. package/dist/client/index.js +2 -46
  76. package/dist/client/index.js.map +1 -0
  77. package/dist/client/storage.cjs +2 -0
  78. package/dist/client/storage.cjs.map +1 -0
  79. package/dist/client/storage.d.ts +6 -3
  80. package/dist/client/storage.js +2 -12
  81. package/dist/client/storage.js.map +1 -0
  82. package/dist/client/types/File.cjs +1 -0
  83. package/dist/client/types/File.cjs.map +1 -0
  84. package/dist/client/types/File.d.ts +9 -5
  85. package/dist/client/types/File.js +1 -3
  86. package/dist/client/types/File.js.map +1 -0
  87. package/dist/client/types/Inputs.cjs +1 -0
  88. package/dist/client/types/Inputs.cjs.map +1 -0
  89. package/dist/client/types/Inputs.d.ts +6 -4
  90. package/dist/client/types/Inputs.js +1 -3
  91. package/dist/client/types/Inputs.js.map +1 -0
  92. package/dist/client/types/Node.cjs +1 -0
  93. package/dist/client/types/Node.cjs.map +1 -0
  94. package/dist/client/types/Node.d.ts +9 -56
  95. package/dist/client/types/Node.js +1 -3
  96. package/dist/client/types/Node.js.map +1 -0
  97. package/dist/client/types/UserAppNotifications.cjs +1 -0
  98. package/dist/client/types/UserAppNotifications.cjs.map +1 -0
  99. package/dist/client/types/UserAppNotifications.d.ts +3 -1
  100. package/dist/client/types/UserAppNotifications.js +1 -3
  101. package/dist/client/types/UserAppNotifications.js.map +1 -0
  102. package/dist/client/types/UserAppSettings.cjs +1 -0
  103. package/dist/client/types/UserAppSettings.cjs.map +1 -0
  104. package/dist/client/types/UserAppSettings.d.ts +3 -1
  105. package/dist/client/types/UserAppSettings.js +1 -3
  106. package/dist/client/types/UserAppSettings.js.map +1 -0
  107. package/dist/client/types/index.cjs +2 -0
  108. package/dist/client/types/index.cjs.map +1 -0
  109. package/dist/client/types/index.d.ts +86 -30
  110. package/dist/client/types/index.js +2 -8
  111. package/dist/client/types/index.js.map +1 -0
  112. package/dist/client/types/selectors.cjs +2 -0
  113. package/dist/client/types/selectors.cjs.map +1 -0
  114. package/dist/client/types/selectors.d.ts +7 -5
  115. package/dist/client/types/selectors.js +2 -135
  116. package/dist/client/types/selectors.js.map +1 -0
  117. package/dist/crypto/file.cjs +2 -0
  118. package/dist/crypto/file.cjs.map +1 -0
  119. package/dist/crypto/file.d.ts +8 -6
  120. package/dist/crypto/file.js +2 -195
  121. package/dist/crypto/file.js.map +1 -0
  122. package/dist/crypto/index.cjs +2 -0
  123. package/dist/crypto/index.cjs.map +1 -0
  124. package/dist/crypto/index.d.ts +11 -9
  125. package/dist/crypto/index.js +2 -45
  126. package/dist/crypto/index.js.map +1 -0
  127. package/dist/error.cjs +1 -0
  128. package/dist/error.cjs.map +1 -0
  129. package/dist/error.d.ts +13 -11
  130. package/dist/error.js +1 -3
  131. package/dist/error.js.map +1 -0
  132. package/dist/index.cjs +2 -0
  133. package/dist/index.cjs.map +1 -0
  134. package/dist/index.d.ts +19 -14
  135. package/dist/index.js +2 -10
  136. package/dist/index.js.map +1 -0
  137. package/dist/minify/index.cjs +2 -0
  138. package/dist/minify/index.cjs.map +1 -0
  139. package/dist/minify/index.d.ts +4 -2
  140. package/dist/minify/index.js +2 -23
  141. package/dist/minify/index.js.map +1 -0
  142. package/dist/minify/lz4.cjs +3 -0
  143. package/dist/minify/lz4.cjs.map +1 -0
  144. package/dist/minify/lz4.d.ts +7 -5
  145. package/dist/minify/lz4.js +2 -538
  146. package/dist/minify/lz4.js.map +1 -0
  147. package/dist/sodium.cjs +2 -0
  148. package/dist/sodium.cjs.map +1 -0
  149. package/dist/sodium.d.ts +5 -3
  150. package/dist/sodium.js +2 -6
  151. package/dist/sodium.js.map +1 -0
  152. package/dist/utils/encoders.cjs +2 -0
  153. package/dist/utils/encoders.cjs.map +1 -0
  154. package/dist/utils/encoders.d.ts +6 -4
  155. package/dist/utils/encoders.js +2 -18
  156. package/dist/utils/encoders.js.map +1 -0
  157. package/dist/utils/store-buddy.cjs +2 -0
  158. package/dist/utils/store-buddy.cjs.map +1 -0
  159. package/dist/utils/store-buddy.d.ts +4 -3
  160. package/dist/utils/store-buddy.js +2 -58
  161. package/dist/utils/store-buddy.js.map +1 -0
  162. package/dist/utils/time.cjs +2 -0
  163. package/dist/utils/time.cjs.map +1 -0
  164. package/dist/utils/time.d.ts +4 -2
  165. package/dist/utils/time.js +2 -12
  166. package/dist/utils/time.js.map +1 -0
  167. package/dist/utils/utils.cjs +2 -0
  168. package/dist/utils/utils.cjs.map +1 -0
  169. package/dist/utils/utils.d.ts +6 -4
  170. package/dist/utils/utils.js +2 -47
  171. package/dist/utils/utils.js.map +1 -0
  172. package/dist/worker/md5.cjs +2 -0
  173. package/dist/worker/md5.cjs.map +1 -0
  174. package/dist/worker/md5.d.ts +3 -1
  175. package/dist/worker/md5.js +2 -24
  176. package/dist/worker/md5.js.map +1 -0
  177. package/dist/worker/sodium.cjs +2 -0
  178. package/dist/worker/sodium.cjs.map +1 -0
  179. package/dist/worker/sodium.d.ts +6 -3
  180. package/dist/worker/sodium.js +2 -118
  181. package/dist/worker/sodium.js.map +1 -0
  182. package/dist/worker/workerCodes.cjs +254 -0
  183. package/dist/worker/workerCodes.cjs.map +1 -0
  184. package/dist/worker/workerCodes.d.ts +4 -2
  185. package/dist/worker/workerCodes.js +4 -5
  186. package/dist/worker/workerCodes.js.map +1 -0
  187. package/dist/zeus/const.cjs +2 -0
  188. package/dist/zeus/const.cjs.map +1 -0
  189. package/dist/zeus/const.d.ts +5 -3
  190. package/dist/zeus/const.js +2 -1846
  191. package/dist/zeus/const.js.map +1 -0
  192. package/dist/zeus/index.cjs +5 -0
  193. package/dist/zeus/index.cjs.map +1 -0
  194. package/dist/zeus/index.d.ts +91 -89
  195. package/dist/zeus/index.js +5 -642
  196. package/dist/zeus/index.js.map +1 -0
  197. package/package.json +2 -2
@@ -0,0 +1,405 @@
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, ErrorLimit, ErrorNotFound, 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 | ErrorLimit | 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 | ErrorLimit | ErrorNotFound | ErrorBasic | ErrorNotExist | 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 | null>;
78
+ deleteFile({ fileId, nodeId }: {
79
+ fileId: string;
80
+ nodeId: string;
81
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | 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 | ErrorNotExist | 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> | ErrorAccessDenied | 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 };
@@ -0,0 +1,2 @@
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 ErrorAccessDenied":{__typename:!0,message:!0},"...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==="ErrorAccessDenied"||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
@@ -0,0 +1 @@
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 | ErrorAccessDenied\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 ErrorAccessDenied\": {\n __typename: true,\n message: true\n },\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 === \"ErrorAccessDenied\") {\n return limits;\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,111 +1,16 @@
1
- import type { DownloadProgress as DLProgress } from "ky";
2
- import type { SecrecyEnv } from "./client/helpers.js";
3
- import type { GraphQLTypes, Lang, Thunder, UserRole } from "./zeus/index.js";
4
- import { InfuraNetwork } from "./zeus/index.js";
5
- import type { ErrorAccessDenied, ErrorLimit, ErrorNotFound, ErrorNotExist } from "./error.js";
6
- export type SuccessResponse<T> = {
7
- __typename: "SuccessResponse";
8
- data: T;
9
- };
10
- export type DownloadProgress = DLProgress;
11
- export type SendReport = {
12
- id: string;
13
- user: {
14
- id: string;
15
- firstname: string;
16
- lastname: string;
17
- email: string;
18
- };
19
- reportedUser: {
20
- id: string;
21
- firstname: string;
22
- lastname: string;
23
- email: string;
24
- };
25
- customMessage?: string | undefined;
26
- };
27
- export type UserData<T extends Record<string, unknown> = Record<string, unknown>> = {
28
- isSuperuser: boolean;
29
- isSearchable: boolean;
30
- } & T;
31
- export type UserBase = {
32
- email: string;
33
- phone: string;
34
- lastname: string;
35
- role: UserRole;
36
- firstname: string;
37
- id: string;
38
- deletedAt?: Date;
39
- lastLogin: Date;
40
- lang: Lang;
41
- };
42
- type WithPublicKey = {
43
- withPublicKey?: boolean;
44
- };
45
- export type User<T extends WithPublicKey = WithPublicKey> = T extends {
46
- withPublicKey: true;
47
- } ? UserBase & {
48
- publicKey: string;
49
- } : UserBase;
50
- type ClassGetUserParams = WithPublicKey & {
51
- userId?: string;
52
- userEmail?: string;
53
- };
54
- type StaticGetUserParams = ClassGetUserParams & {
55
- env: SecrecyEnv;
56
- };
57
- export type CloudLimits = {
58
- count: bigint;
59
- maxCount?: bigint | undefined;
60
- size: bigint;
61
- maxSize?: bigint | undefined;
62
- };
63
- export type MailLimitsValues = {
64
- count: bigint;
65
- maxCount?: bigint | undefined;
66
- fileSize: bigint;
67
- maxFileSize?: bigint | undefined;
68
- fileCount: bigint;
69
- maxFileCount?: bigint | undefined;
70
- };
71
- export type QueryLimits = {
72
- cloud: CloudLimits;
73
- mail: {
74
- sent: MailLimitsValues;
75
- received: MailLimitsValues;
76
- };
77
- };
78
- export declare class BaseClient {
79
- static readonly getBaseUrl: (env?: SecrecyEnv, graphcdn?: boolean) => string;
80
- static readonly getBaseClient: (env: SecrecyEnv, session?: string | null | undefined) => ReturnType<typeof Thunder>;
81
- protected thunder: ReturnType<typeof Thunder>;
82
- sessionId: string;
83
- constructor(session: string, env: SecrecyEnv);
84
- logout(sessionId?: string | null | undefined): Promise<void>;
85
- me<T extends WithPublicKey = WithPublicKey>(params?: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
86
- static user<T extends StaticGetUserParams>(params: T, sessionId?: string | null | undefined): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
87
- user<T extends ClassGetUserParams>(params: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
88
- updateProfile({ firstname, lastname, lang }: {
89
- firstname: string | null;
90
- lastname: string | null;
91
- lang: Lang | null;
92
- }): Promise<SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null>;
93
- static isCryptoTransactionDone({ env, idOrHash, network }: {
94
- env: SecrecyEnv;
95
- idOrHash: string;
96
- network?: InfuraNetwork;
97
- }): Promise<boolean>;
98
- limits(): Promise<SuccessResponse<QueryLimits> | ErrorAccessDenied | ErrorNotExist | ErrorLimit | ErrorNotFound | null>;
99
- reportUser(reportedUserId: string, customMessage?: string): Promise<SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null>;
100
- getSponsorshipLink({ backUrl }: {
101
- backUrl: string;
102
- }): Promise<string | null>;
103
- static getPaymentRequest: ({ env, paymentRequestId, secrecyIdSeller, secrecyId, appCode }: {
104
- env: SecrecyEnv;
105
- paymentRequestId: string;
106
- secrecyIdSeller: string;
107
- secrecyId?: string | undefined;
108
- appCode?: string | undefined;
109
- }) => Promise<SuccessResponse<GraphQLTypes["GetPaymentRequestToPay"]> | ErrorAccessDenied | ErrorNotFound>;
110
- }
111
- export {};
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-ca94a07f.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';