@secrecy/lib 1.0.0-dev.64 → 1.0.0-dev.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/dist/BaseClient-7c38f650.d.ts +351 -0
  2. package/dist/BaseClient.cjs +2 -0
  3. package/dist/BaseClient.cjs.map +1 -0
  4. package/dist/BaseClient.d.ts +16 -104
  5. package/dist/BaseClient.js +2 -430
  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 -196
  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/chunk-5WPCTUWH.cjs +2 -0
  23. package/dist/chunk-5WPCTUWH.cjs.map +1 -0
  24. package/dist/chunk-KMTF2BZE.js +2 -0
  25. package/dist/chunk-KMTF2BZE.js.map +1 -0
  26. package/dist/client/SecrecyAppClient.cjs +2 -0
  27. package/dist/client/SecrecyAppClient.cjs.map +1 -0
  28. package/dist/client/SecrecyAppClient.d.ts +16 -17
  29. package/dist/client/SecrecyAppClient.js +2 -227
  30. package/dist/client/SecrecyAppClient.js.map +1 -0
  31. package/dist/client/SecrecyCloudClient.cjs +2 -0
  32. package/dist/client/SecrecyCloudClient.cjs.map +1 -0
  33. package/dist/client/SecrecyCloudClient.d.ts +16 -89
  34. package/dist/client/SecrecyCloudClient.js +2 -1411
  35. package/dist/client/SecrecyCloudClient.js.map +1 -0
  36. package/dist/client/SecrecyDbClient.cjs +2 -0
  37. package/dist/client/SecrecyDbClient.cjs.map +1 -0
  38. package/dist/client/SecrecyDbClient.d.ts +16 -21
  39. package/dist/client/SecrecyDbClient.js +2 -177
  40. package/dist/client/SecrecyDbClient.js.map +1 -0
  41. package/dist/client/SecrecyMailClient.cjs +2 -0
  42. package/dist/client/SecrecyMailClient.cjs.map +1 -0
  43. package/dist/client/SecrecyMailClient.d.ts +16 -42
  44. package/dist/client/SecrecyMailClient.js +2 -1022
  45. package/dist/client/SecrecyMailClient.js.map +1 -0
  46. package/dist/client/SecrecyPayClient.cjs +2 -0
  47. package/dist/client/SecrecyPayClient.cjs.map +1 -0
  48. package/dist/client/SecrecyPayClient.d.ts +16 -7
  49. package/dist/client/SecrecyPayClient.js +2 -36
  50. package/dist/client/SecrecyPayClient.js.map +1 -0
  51. package/dist/client/SecrecyWalletClient.cjs +2 -0
  52. package/dist/client/SecrecyWalletClient.cjs.map +1 -0
  53. package/dist/client/SecrecyWalletClient.d.ts +16 -30
  54. package/dist/client/SecrecyWalletClient.js +2 -73
  55. package/dist/client/SecrecyWalletClient.js.map +1 -0
  56. package/dist/client/convert/file.cjs +2 -0
  57. package/dist/client/convert/file.cjs.map +1 -0
  58. package/dist/client/convert/file.d.ts +11 -5
  59. package/dist/client/convert/file.js +2 -33
  60. package/dist/client/convert/file.js.map +1 -0
  61. package/dist/client/convert/mail.cjs +2 -0
  62. package/dist/client/convert/mail.cjs.map +1 -0
  63. package/dist/client/convert/mail.d.ts +13 -3
  64. package/dist/client/convert/mail.js +2 -43
  65. package/dist/client/convert/mail.js.map +1 -0
  66. package/dist/client/convert/node.cjs +2 -0
  67. package/dist/client/convert/node.cjs.map +1 -0
  68. package/dist/client/convert/node.d.ts +18 -9
  69. package/dist/client/convert/node.js +2 -88
  70. package/dist/client/convert/node.js.map +1 -0
  71. package/dist/client/helpers.cjs +2 -0
  72. package/dist/client/helpers.cjs.map +1 -0
  73. package/dist/client/helpers.d.ts +16 -28
  74. package/dist/client/helpers.js +2 -113
  75. package/dist/client/helpers.js.map +1 -0
  76. package/dist/client/index.cjs +2 -0
  77. package/dist/client/index.cjs.map +1 -0
  78. package/dist/client/index.d.ts +16 -34
  79. package/dist/client/index.js +2 -46
  80. package/dist/client/index.js.map +1 -0
  81. package/dist/client/storage.cjs +2 -0
  82. package/dist/client/storage.cjs.map +1 -0
  83. package/dist/client/storage.d.ts +6 -3
  84. package/dist/client/storage.js +2 -12
  85. package/dist/client/storage.js.map +1 -0
  86. package/dist/client/types/File.cjs +1 -0
  87. package/dist/client/types/File.cjs.map +1 -0
  88. package/dist/client/types/File.d.ts +9 -5
  89. package/dist/client/types/File.js +1 -3
  90. package/dist/client/types/File.js.map +1 -0
  91. package/dist/client/types/Inputs.cjs +1 -0
  92. package/dist/client/types/Inputs.cjs.map +1 -0
  93. package/dist/client/types/Inputs.d.ts +6 -4
  94. package/dist/client/types/Inputs.js +1 -3
  95. package/dist/client/types/Inputs.js.map +1 -0
  96. package/dist/client/types/Node.cjs +1 -0
  97. package/dist/client/types/Node.cjs.map +1 -0
  98. package/dist/client/types/Node.d.ts +9 -56
  99. package/dist/client/types/Node.js +1 -3
  100. package/dist/client/types/Node.js.map +1 -0
  101. package/dist/client/types/UserAppNotifications.cjs +1 -0
  102. package/dist/client/types/UserAppNotifications.cjs.map +1 -0
  103. package/dist/client/types/UserAppNotifications.d.ts +3 -1
  104. package/dist/client/types/UserAppNotifications.js +1 -3
  105. package/dist/client/types/UserAppNotifications.js.map +1 -0
  106. package/dist/client/types/UserAppSettings.cjs +1 -0
  107. package/dist/client/types/UserAppSettings.cjs.map +1 -0
  108. package/dist/client/types/UserAppSettings.d.ts +3 -1
  109. package/dist/client/types/UserAppSettings.js +1 -3
  110. package/dist/client/types/UserAppSettings.js.map +1 -0
  111. package/dist/client/types/index.cjs +2 -0
  112. package/dist/client/types/index.cjs.map +1 -0
  113. package/dist/client/types/index.d.ts +86 -30
  114. package/dist/client/types/index.js +2 -8
  115. package/dist/client/types/index.js.map +1 -0
  116. package/dist/client/types/selectors.cjs +2 -0
  117. package/dist/client/types/selectors.cjs.map +1 -0
  118. package/dist/client/types/selectors.d.ts +7 -5
  119. package/dist/client/types/selectors.js +2 -135
  120. package/dist/client/types/selectors.js.map +1 -0
  121. package/dist/crypto/file.cjs +2 -0
  122. package/dist/crypto/file.cjs.map +1 -0
  123. package/dist/crypto/file.d.ts +8 -6
  124. package/dist/crypto/file.js +2 -195
  125. package/dist/crypto/file.js.map +1 -0
  126. package/dist/crypto/index.cjs +2 -0
  127. package/dist/crypto/index.cjs.map +1 -0
  128. package/dist/crypto/index.d.ts +11 -9
  129. package/dist/crypto/index.js +2 -45
  130. package/dist/crypto/index.js.map +1 -0
  131. package/dist/error.cjs +1 -0
  132. package/dist/error.cjs.map +1 -0
  133. package/dist/error.d.ts +15 -10
  134. package/dist/error.js +1 -3
  135. package/dist/error.js.map +1 -0
  136. package/dist/index.cjs +2 -0
  137. package/dist/index.cjs.map +1 -0
  138. package/dist/index.d.ts +19 -11
  139. package/dist/index.js +2 -9
  140. package/dist/index.js.map +1 -0
  141. package/dist/minify/index.cjs +2 -0
  142. package/dist/minify/index.cjs.map +1 -0
  143. package/dist/minify/index.d.ts +4 -2
  144. package/dist/minify/index.js +2 -23
  145. package/dist/minify/index.js.map +1 -0
  146. package/dist/minify/lz4.cjs +3 -0
  147. package/dist/minify/lz4.cjs.map +1 -0
  148. package/dist/minify/lz4.d.ts +7 -5
  149. package/dist/minify/lz4.js +3 -539
  150. package/dist/minify/lz4.js.map +1 -0
  151. package/dist/sodium.cjs +2 -0
  152. package/dist/sodium.cjs.map +1 -0
  153. package/dist/sodium.d.ts +5 -3
  154. package/dist/sodium.js +2 -6
  155. package/dist/sodium.js.map +1 -0
  156. package/dist/utils/store-buddy.cjs +2 -0
  157. package/dist/utils/store-buddy.cjs.map +1 -0
  158. package/dist/utils/store-buddy.d.ts +4 -3
  159. package/dist/utils/store-buddy.js +2 -58
  160. package/dist/utils/store-buddy.js.map +1 -0
  161. package/dist/utils/time.cjs +2 -0
  162. package/dist/utils/time.cjs.map +1 -0
  163. package/dist/utils/time.d.ts +4 -2
  164. package/dist/utils/time.js +2 -12
  165. package/dist/utils/time.js.map +1 -0
  166. package/dist/utils/utils.cjs +2 -0
  167. package/dist/utils/utils.cjs.map +1 -0
  168. package/dist/utils/utils.d.ts +6 -4
  169. package/dist/utils/utils.js +2 -47
  170. package/dist/utils/utils.js.map +1 -0
  171. package/dist/worker/md5.cjs +2 -0
  172. package/dist/worker/md5.cjs.map +1 -0
  173. package/dist/worker/md5.d.ts +3 -1
  174. package/dist/worker/md5.js +2 -24
  175. package/dist/worker/md5.js.map +1 -0
  176. package/dist/worker/sodium.cjs +2 -0
  177. package/dist/worker/sodium.cjs.map +1 -0
  178. package/dist/worker/sodium.d.ts +6 -3
  179. package/dist/worker/sodium.js +2 -118
  180. package/dist/worker/sodium.js.map +1 -0
  181. package/dist/worker/workerCodes.cjs +254 -0
  182. package/dist/worker/workerCodes.cjs.map +1 -0
  183. package/dist/worker/workerCodes.d.ts +4 -2
  184. package/dist/worker/workerCodes.js +4 -5
  185. package/dist/worker/workerCodes.js.map +1 -0
  186. package/dist/zeus/const.cjs +2 -0
  187. package/dist/zeus/const.cjs.map +1 -0
  188. package/dist/zeus/const.d.ts +5 -3
  189. package/dist/zeus/const.js +2 -1287
  190. package/dist/zeus/const.js.map +1 -0
  191. package/dist/zeus/index.cjs +5 -0
  192. package/dist/zeus/index.cjs.map +1 -0
  193. package/dist/zeus/index.d.ts +2215 -116
  194. package/dist/zeus/index.js +5 -562
  195. package/dist/zeus/index.js.map +1 -0
  196. package/package.json +21 -21
@@ -0,0 +1,351 @@
1
+ import { DownloadProgress as DownloadProgress$1 } from 'ky';
2
+ import { Thunder, NodeType, Rights, MailType, InfuraNetwork, UserRole, Lang } 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
+ get<U>({ field, userId }: {
155
+ field: string;
156
+ userId?: string | null | undefined;
157
+ }): Promise<SuccessResponse<U> | ErrorAccessDenied | ErrorNotExist | ErrorNotFound | null>;
158
+ set<T extends UserData, U extends Document>({ value, userId }: {
159
+ value: U;
160
+ userId?: string | null | undefined;
161
+ }): Promise<SuccessResponse<T> | ErrorAccessDenied | ErrorNotFound | null>;
162
+ search<T>({ search, field }: {
163
+ field: string;
164
+ search: string;
165
+ }): Promise<SuccessResponse<T[]> | ErrorAccessDenied | ErrorBasic | ErrorNotExist | null>;
166
+ }
167
+
168
+ declare type SuccessWalletResponse<T> = {
169
+ success: true;
170
+ data: T;
171
+ };
172
+ declare type ErrorWalletResponse = {
173
+ success: false;
174
+ error: string;
175
+ };
176
+ declare type SecrecyWalletResponse<T> = SuccessWalletResponse<T> | ErrorWalletResponse;
177
+ declare class SecrecyWalletClient {
178
+ #private;
179
+ constructor(client: SecrecyClient);
180
+ createTransaction({ env, network, tx }: {
181
+ env?: SecrecyEnv;
182
+ network?: InfuraNetwork;
183
+ tx: providers.TransactionRequest;
184
+ }): Promise<SecrecyWalletResponse<{
185
+ id: string;
186
+ hash: string;
187
+ }>>;
188
+ createSignature({ env, network, message }: {
189
+ env?: SecrecyEnv;
190
+ network?: InfuraNetwork;
191
+ message: string;
192
+ }): Promise<SecrecyWalletResponse<string>>;
193
+ }
194
+
195
+ declare class SecrecyPayClient {
196
+ #private;
197
+ constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
198
+ }
199
+
200
+ declare type NewMail = {
201
+ body: string;
202
+ subject: string;
203
+ files: {
204
+ id: string;
205
+ name: string;
206
+ }[];
207
+ recipientsIds: string[];
208
+ replyTo?: string | null | undefined;
209
+ };
210
+ declare type ProgressCallback = (progress: Progress) => Promise<void>;
211
+ declare const encryptName: (name: string, nameKey: string) => Promise<string>;
212
+ declare class SecrecyClient extends BaseClient {
213
+ #private;
214
+ cloud: SecrecyCloudClient;
215
+ mail: SecrecyMailClient;
216
+ app: SecrecyAppClient;
217
+ db: SecrecyDbClient;
218
+ wallet: SecrecyWalletClient;
219
+ pay: SecrecyPayClient;
220
+ constructor(uaSession: string, uaKeys: KeyPair, uaJwt: string, env: SecrecyEnv);
221
+ get publicKey(): string;
222
+ logout(sessionId?: string | null | undefined): Promise<void>;
223
+ }
224
+
225
+ declare function parseInfos(): SecrecyUserApp | null;
226
+ declare const getUrl: ({ env, hash, path }: {
227
+ env: string;
228
+ hash: string;
229
+ path: string;
230
+ }) => string;
231
+ declare type HashInfos = {
232
+ appUrl: string;
233
+ backPath?: string;
234
+ appCode?: string | null | undefined;
235
+ path?: string | null | undefined;
236
+ redirect?: boolean;
237
+ scopes?: {
238
+ email: boolean;
239
+ };
240
+ };
241
+ declare type SecrecyEnv = "dev" | "prod";
242
+ declare type UseSecrecyParams = Omit<HashInfos, "appUrl"> & {
243
+ env: SecrecyEnv;
244
+ session?: boolean | undefined;
245
+ };
246
+ declare type Value<T extends UseSecrecyParams> = T extends {
247
+ redirect: true;
248
+ } ? SecrecyClient | null : SecrecyClient;
249
+ declare function getSecrecyClient(env: SecrecyEnv, session?: boolean | undefined): SecrecyClient | null;
250
+ declare function login<T extends UseSecrecyParams>({ appCode, path, redirect, scopes, backPath, env, session }?: T): Promise<Value<T>>;
251
+
252
+ declare type SuccessResponse<T> = {
253
+ __typename: "SuccessResponse";
254
+ data: T;
255
+ };
256
+ declare type DownloadProgress = DownloadProgress$1;
257
+ declare type SendReport = {
258
+ id: string;
259
+ user: {
260
+ id: string;
261
+ firstname: string;
262
+ lastname: string;
263
+ email: string;
264
+ };
265
+ reportedUser: {
266
+ id: string;
267
+ firstname: string;
268
+ lastname: string;
269
+ email: string;
270
+ };
271
+ customMessage?: string | undefined;
272
+ };
273
+ declare type UserData<T extends Record<string, unknown> = Record<string, unknown>> = {
274
+ isSuperuser: boolean;
275
+ isSearchable: boolean;
276
+ } & T;
277
+ declare type UserBase = {
278
+ email: string;
279
+ phone: string;
280
+ lastname: string;
281
+ role: UserRole;
282
+ firstname: string;
283
+ id: string;
284
+ deletedAt?: Date;
285
+ lastLogin: Date;
286
+ lang: Lang;
287
+ };
288
+ declare type WithPublicKey = {
289
+ withPublicKey?: boolean;
290
+ };
291
+ declare type User<T extends WithPublicKey = WithPublicKey> = T extends {
292
+ withPublicKey: true;
293
+ } ? UserBase & {
294
+ publicKey: string;
295
+ } : UserBase;
296
+ declare type ClassGetUserParams = WithPublicKey & {
297
+ userId?: string;
298
+ userEmail?: string;
299
+ };
300
+ declare type StaticGetUserParams = ClassGetUserParams & {
301
+ env: SecrecyEnv;
302
+ };
303
+ declare type CloudLimits = {
304
+ count: bigint;
305
+ maxCount?: bigint | undefined;
306
+ size: bigint;
307
+ maxSize?: bigint | undefined;
308
+ };
309
+ declare type MailLimitsValues = {
310
+ count: bigint;
311
+ maxCount?: bigint | undefined;
312
+ fileSize: bigint;
313
+ maxFileSize?: bigint | undefined;
314
+ fileCount: bigint;
315
+ maxFileCount?: bigint | undefined;
316
+ };
317
+ declare type QueryLimits = {
318
+ cloud: CloudLimits;
319
+ mail: {
320
+ sent: MailLimitsValues;
321
+ received: MailLimitsValues;
322
+ };
323
+ };
324
+ declare class BaseClient {
325
+ static readonly getBaseUrl: (env?: SecrecyEnv, graphcdn?: boolean) => string;
326
+ static readonly getBaseClient: (env: SecrecyEnv, session?: string | null | undefined) => ReturnType<typeof Thunder>;
327
+ protected thunder: ReturnType<typeof Thunder>;
328
+ sessionId: string;
329
+ constructor(session: string, env: SecrecyEnv);
330
+ logout(sessionId?: string | null | undefined): Promise<void>;
331
+ me<T extends WithPublicKey = WithPublicKey>(params?: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
332
+ static user<T extends StaticGetUserParams>(params: T, sessionId?: string | null | undefined): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
333
+ user<T extends ClassGetUserParams>(params: T): Promise<SuccessResponse<User<T>> | ErrorNotFound | null>;
334
+ updateProfile({ firstname, lastname, lang }: {
335
+ firstname: string | null;
336
+ lastname: string | null;
337
+ lang: Lang | null;
338
+ }): Promise<SuccessResponse<User> | ErrorNotFound | ErrorAccessDenied | null>;
339
+ static isCryptoTransactionDone({ env, idOrHash, network }: {
340
+ env: SecrecyEnv;
341
+ idOrHash: string;
342
+ network?: InfuraNetwork;
343
+ }): Promise<boolean>;
344
+ limits(): Promise<SuccessResponse<QueryLimits> | ErrorAccessDenied | ErrorNotExist | ErrorLimit | ErrorNotFound | null>;
345
+ reportUser(reportedUserId: string, customMessage?: string): Promise<SuccessResponse<SendReport> | ErrorAccessDenied | ErrorNotFound | null>;
346
+ getSponsorshipLink({ backUrl }: {
347
+ backUrl: string;
348
+ }): Promise<string | null>;
349
+ }
350
+
351
+ 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, SecrecyPayClient as r };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5WPCTUWHcjs = require('./chunk-5WPCTUWH.cjs');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 f=(i,r)=>{const{user:e}=_indexjs.Selector.call(void 0, "Query")({user:[{userId:i},{"...on ErrorNotFound":{__typename:!0,message:!0,field:!0},"...on UserResponse":{__typename:!0,user:{id:!0,firstname:!0,lastname:!0,lang:!0,publicKey:r?!0:void 0,email:!0,phone:!0,role:!0,deletedAt:!0,lastLogin:!0}}}]});return e};async function d(i){var t;const r=f((t=i.userId)!=null?t:i.userEmail,i.withPublicKey),{user:e}=await i.client("query",{scalars:{Json:{encode:n=>JSON.stringify(n),decode:n=>JSON.parse(n)},DateTime:{decode:n=>new Date(n),encode:n=>n.toISOString()},BigInt:{decode:n=>BigInt(n),encode:n=>n.toString()}}})({user:r});return e?e.__typename==="ErrorNotFound"?e:e.user?{__typename:"SuccessResponse",data:e.user}:null:null}const u=class{constructor(r,e){_chunk5WPCTUWHcjs.c.call(void 0, this,"thunder");_chunk5WPCTUWHcjs.c.call(void 0, this,"sessionId");this.sessionId=r,this.thunder=u.getBaseClient(e,r)}async logout(r){if(!r){const e=_storagejs.getStorage.call(void 0, !1),t=_storagejs.getStorage.call(void 0, !0);e.jwt.clear(),e.userAppKeys.clear(),e.userAppSession.clear(),t.jwt.clear(),t.userAppKeys.clear(),t.userAppSession.clear(),_cachejs.usersCache.clear()}try{await this.thunder("mutation")({logout:[{sessionId:r},{"...on ErrorAccessDenied":{__typename:!0,message:!0},"...on ErrorBasic":{__typename:!0,message:!0},"...on LogoutResponse":{__typename:!0,logout:!0}}]})}catch(e){}}async me(r){return this.user(r||{withPublicKey:!0})}static async user(r,e){var n;const t=await d({client:this.getBaseClient(r.env,e),userId:(n=r.userId)!=null?n:r.userEmail,withPublicKey:r.withPublicKey});return t?(t.__typename==="ErrorNotFound"||t&&_cachejs.usersCache.set(t.data.id,t.data),t):null}async user(r){var t;const e=await d({client:this.thunder,userId:(t=r.userId)!=null?t:r.userEmail,withPublicKey:r.withPublicKey});return e?(e.__typename==="ErrorNotFound"||e&&_cachejs.usersCache.set(e.data.id,e.data),e):null}async updateProfile({firstname:r,lastname:e,lang:t}){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:r,lastname:e,lang:t},{"...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:r,idOrHash:e,network:t=_indexjs.InfuraNetwork.mainnet}){const{isCryptoTransactionDone:n}=await u.getBaseClient(r)("query")({isCryptoTransactionDone:[{idOrHash:e,network:t},{__typename:!0,"...on IsCryptoTransactionDoneResponse":{done:!0},"...on ErrorNotExist":{message:!0}}]});return n&&n.__typename==="IsCryptoTransactionDoneResponse"?n.done:!1}async limits(){const{limits:r}=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 r?r.__typename==="ErrorAccessDenied"||r.__typename==="ErrorNotExist"||r.__typename==="ErrorLimit"||r.__typename==="ErrorNotFound"?r:{__typename:"SuccessResponse",data:r}:null}async reportUser(r,e){const{sendReport:t}=await this.thunder("mutation")({sendReport:[{reportedUserId:r,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 t?t.__typename==="ErrorAccessDenied"||t.__typename==="ErrorNotFound"?t:t.sendReport?{__typename:"SuccessResponse",data:t.sendReport}:null:null}async getSponsorshipLink({backUrl:r}){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(r)}`})}};let a=u;_chunk5WPCTUWHcjs.c.call(void 0, a,"getBaseUrl",(r="prod",e=!0)=>{const t=process.env.NEXT_PUBLIC_SECRECY_API_URL;if(t)return t;switch(r){case"prod":return e?"https://secrecy.graphcdn.app":"https://api.secrecy.me/graphql";case"dev":default:return"https://api.dev.secrecy.me/graphql"}}),_chunk5WPCTUWHcjs.c.call(void 0, a,"getBaseClient",(r,e)=>_ZeusThunderjs.createThunder.call(void 0, u.getBaseUrl(r),e));exports.BaseClient = a;
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","_a","selector","userResponse","e","_BaseClient","session","env","__publicField","sessionId","local","firstname","lastname","lang","updateProfile","idOrHash","network","isCryptoTransactionDone","limits","reportedUserId","customMessage","sendReport","backUrl","me","BaseClient","graphcdn","apiUrl"],"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 { 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"]}
@@ -1,104 +1,16 @@
1
- import type { DownloadProgress as DLProgress } from "ky";
2
- import type { SecrecyEnv } from "./client/helpers.js";
3
- import type { 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 declare type SuccessResponse<T> = {
7
- __typename: "SuccessResponse";
8
- data: T;
9
- };
10
- export declare type DownloadProgress = DLProgress;
11
- export declare 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 declare type UserData<T extends Record<string, unknown> = Record<string, unknown>> = {
28
- isSuperuser: boolean;
29
- isSearchable: boolean;
30
- } & T;
31
- export declare 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
- declare type WithPublicKey = {
43
- withPublicKey?: boolean;
44
- };
45
- export declare type User<T extends WithPublicKey = WithPublicKey> = T extends {
46
- withPublicKey: true;
47
- } ? UserBase & {
48
- publicKey: string;
49
- } : UserBase;
50
- declare type ClassGetUserParams = WithPublicKey & {
51
- userId?: string;
52
- userEmail?: string;
53
- };
54
- declare type StaticGetUserParams = ClassGetUserParams & {
55
- env: SecrecyEnv;
56
- };
57
- export declare type CloudLimits = {
58
- count: bigint;
59
- maxCount?: bigint | undefined;
60
- size: bigint;
61
- maxSize?: bigint | undefined;
62
- };
63
- export declare 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 declare 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
- }
104
- 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-7c38f650.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';