@secrecy/lib 1.0.0-dev.54 → 1.0.0-dev.55

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.
@@ -0,0 +1,17 @@
1
+ import type { SecrecyClient, SuccessResponse, UserAppNotifications, UserAppSettings } from "../index.js";
2
+ import type { KeyPair } from "../crypto/index.js";
3
+ import type { ErrorAccessDenied, ErrorBasic, ErrorNotFound } from "../error.js";
4
+ import type { Thunder } from "../zeus/index.js";
5
+ import type { JwtPayload } from "jsonwebtoken";
6
+ export declare class SecrecyAppClient {
7
+ #private;
8
+ jwt: string;
9
+ jwtDecoded: JwtPayload;
10
+ constructor(uaJwt: string, _client: SecrecyClient, _keys: KeyPair, thunder: ReturnType<typeof Thunder>);
11
+ get userId(): string;
12
+ getJwt(): Promise<string>;
13
+ updateNotifications(notifications: Partial<UserAppNotifications>): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | null>;
14
+ notifications(): Promise<SuccessResponse<UserAppNotifications> | ErrorAccessDenied | ErrorNotFound | null>;
15
+ settings(): Promise<SuccessResponse<UserAppSettings> | ErrorNotFound | null>;
16
+ updateSettings(settings: Partial<UserAppSettings>): Promise<SuccessResponse<UserAppSettings> | ErrorAccessDenied | ErrorBasic | null>;
17
+ }
@@ -0,0 +1,258 @@
1
+ import _classPrivateFieldLooseBase from "@babel/runtime/helpers/classPrivateFieldLooseBase";
2
+ import _classPrivateFieldLooseKey from "@babel/runtime/helpers/classPrivateFieldLooseKey";
3
+
4
+ /* eslint-disable @typescript-eslint/naming-convention */
5
+ import { decode } from "jsonwebtoken";
6
+ import { getStorage } from "./storage.js";
7
+
8
+ var _thunder = /*#__PURE__*/_classPrivateFieldLooseKey("thunder");
9
+
10
+ export class SecrecyAppClient {
11
+ // #client: SecrecyClient;
12
+ // #keys: KeyPair;
13
+ constructor(uaJwt, _client, _keys, thunder) {
14
+ Object.defineProperty(this, _thunder, {
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ this.jwt = uaJwt;
19
+ this.jwtDecoded = decode(uaJwt); // this.#client = client;
20
+ // this.#keys = keys;
21
+
22
+ _classPrivateFieldLooseBase(this, _thunder)[_thunder] = thunder;
23
+ }
24
+
25
+ get userId() {
26
+ var _this$jwtDecoded$sub;
27
+
28
+ return (_this$jwtDecoded$sub = this.jwtDecoded.sub) != null ? _this$jwtDecoded$sub : "";
29
+ }
30
+
31
+ async getJwt() {
32
+ // TODO useful?
33
+ // if (this.jwtDecoded.exp && this.jwtDecoded.exp * 1000 < Date.now()) {
34
+ // return this.jwt;
35
+ // }
36
+ const {
37
+ getJwt
38
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query")({
39
+ getJwt: [{
40
+ includeEmail: !!this.jwtDecoded.email
41
+ }, {
42
+ "...on ErrorAccessDenied": {
43
+ __typename: true,
44
+ message: true
45
+ },
46
+ "...on JwtResponse": {
47
+ __typename: true,
48
+ jwt: true
49
+ }
50
+ }]
51
+ });
52
+
53
+ if (!getJwt) {
54
+ return this.jwt;
55
+ }
56
+
57
+ if (getJwt.__typename === "ErrorAccessDenied") {
58
+ throw new Error(getJwt.message);
59
+ }
60
+
61
+ this.jwt = getJwt.jwt;
62
+ this.jwtDecoded = decode(getJwt.jwt);
63
+ const sessionStorage = getStorage(true);
64
+ const localStorage = getStorage(false);
65
+ const sessionJwt = sessionStorage.jwt.load();
66
+ const localJwt = localStorage.jwt.load();
67
+
68
+ if (sessionJwt) {
69
+ sessionStorage.jwt.save(getJwt.jwt);
70
+ }
71
+
72
+ if (localJwt) {
73
+ localStorage.jwt.save(getJwt.jwt);
74
+ }
75
+
76
+ return getJwt.jwt;
77
+ }
78
+
79
+ async updateNotifications(notifications) {
80
+ const {
81
+ updateAppNotifications
82
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("mutation", {
83
+ scalars: {
84
+ DateTime: {
85
+ decode: e => new Date(e),
86
+ encode: e => e.toISOString()
87
+ }
88
+ }
89
+ })({
90
+ updateAppNotifications: [notifications, {
91
+ "...on ErrorAccessDenied": {
92
+ __typename: true,
93
+ message: true
94
+ },
95
+ "...on UpdateAppNotificationsResponse": {
96
+ __typename: true,
97
+ updateAppNotifications: {
98
+ enableAll: true,
99
+ mail: true,
100
+ cloud: true,
101
+ disableAllUntil: true
102
+ }
103
+ }
104
+ }]
105
+ });
106
+
107
+ if (!updateAppNotifications) {
108
+ return null;
109
+ }
110
+
111
+ if (updateAppNotifications.__typename === "ErrorAccessDenied") {
112
+ return updateAppNotifications;
113
+ }
114
+
115
+ if (!updateAppNotifications.updateAppNotifications) {
116
+ return null;
117
+ }
118
+
119
+ return {
120
+ __typename: "SuccessResponse",
121
+ data: updateAppNotifications.updateAppNotifications
122
+ };
123
+ }
124
+
125
+ async notifications() {
126
+ const {
127
+ appNotifications
128
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query", {
129
+ scalars: {
130
+ DateTime: {
131
+ decode: e => new Date(e),
132
+ encode: e => e.toISOString()
133
+ }
134
+ }
135
+ })({
136
+ appNotifications: {
137
+ "...on ErrorAccessDenied": {
138
+ __typename: true,
139
+ message: true
140
+ },
141
+ "...on ErrorNotFound": {
142
+ __typename: true,
143
+ message: true
144
+ },
145
+ "...on UserAppNotifications": {
146
+ __typename: true,
147
+ enableAll: true,
148
+ mail: true,
149
+ cloud: true,
150
+ disableAllUntil: true
151
+ }
152
+ }
153
+ });
154
+
155
+ if (!appNotifications) {
156
+ return null;
157
+ }
158
+
159
+ if (appNotifications.__typename === "ErrorAccessDenied") {
160
+ return appNotifications;
161
+ }
162
+
163
+ if (appNotifications.__typename === "ErrorNotFound") {
164
+ return appNotifications;
165
+ }
166
+
167
+ return {
168
+ __typename: "SuccessResponse",
169
+ data: appNotifications
170
+ };
171
+ }
172
+
173
+ async settings() {
174
+ var _user$user;
175
+
176
+ const {
177
+ user
178
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("query")({
179
+ user: [{}, {
180
+ "...on ErrorNotFound": {
181
+ __typename: true,
182
+ message: true
183
+ },
184
+ "...on UserResponse": {
185
+ __typename: true,
186
+ user: {
187
+ appSettings: {
188
+ cloudNodeDaysForDelete: true,
189
+ historyFileDaysForDelete: true,
190
+ historyMaxFileCount: true
191
+ }
192
+ }
193
+ }
194
+ }]
195
+ });
196
+
197
+ if (!user) {
198
+ return null;
199
+ }
200
+
201
+ if (user.__typename === "ErrorNotFound") {
202
+ return user;
203
+ }
204
+
205
+ if (!((_user$user = user.user) != null && _user$user.appSettings)) {
206
+ return null;
207
+ }
208
+
209
+ return {
210
+ __typename: "SuccessResponse",
211
+ data: user.user.appSettings
212
+ };
213
+ }
214
+
215
+ async updateSettings(settings) {
216
+ const {
217
+ updateAppSettings
218
+ } = await _classPrivateFieldLooseBase(this, _thunder)[_thunder]("mutation")({
219
+ updateAppSettings: [settings, {
220
+ "...on ErrorAccessDenied": {
221
+ __typename: true,
222
+ message: true
223
+ },
224
+ "...on ErrorBasic": {
225
+ __typename: true,
226
+ message: true
227
+ },
228
+ "...on UpdateAppSettingsResponse": {
229
+ __typename: true,
230
+ updateAppSettings: {
231
+ cloudNodeDaysForDelete: true,
232
+ historyFileDaysForDelete: true,
233
+ historyMaxFileCount: true
234
+ }
235
+ }
236
+ }]
237
+ });
238
+
239
+ if (!updateAppSettings) {
240
+ return null;
241
+ }
242
+
243
+ if (updateAppSettings.__typename === "ErrorAccessDenied") {
244
+ return updateAppSettings;
245
+ }
246
+
247
+ if (updateAppSettings.__typename === "ErrorBasic") {
248
+ return updateAppSettings;
249
+ }
250
+
251
+ return {
252
+ __typename: "SuccessResponse",
253
+ data: updateAppSettings.updateAppSettings
254
+ };
255
+ }
256
+
257
+ }
258
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWNvZGUiLCJnZXRTdG9yYWdlIiwiU2VjcmVjeUFwcENsaWVudCIsImNvbnN0cnVjdG9yIiwidWFKd3QiLCJfY2xpZW50IiwiX2tleXMiLCJ0aHVuZGVyIiwiand0Iiwiand0RGVjb2RlZCIsInVzZXJJZCIsInN1YiIsImdldEp3dCIsImluY2x1ZGVFbWFpbCIsImVtYWlsIiwiX190eXBlbmFtZSIsIm1lc3NhZ2UiLCJFcnJvciIsInNlc3Npb25TdG9yYWdlIiwibG9jYWxTdG9yYWdlIiwic2Vzc2lvbkp3dCIsImxvYWQiLCJsb2NhbEp3dCIsInNhdmUiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwibm90aWZpY2F0aW9ucyIsInVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMiLCJzY2FsYXJzIiwiRGF0ZVRpbWUiLCJlIiwiRGF0ZSIsImVuY29kZSIsInRvSVNPU3RyaW5nIiwiZW5hYmxlQWxsIiwibWFpbCIsImNsb3VkIiwiZGlzYWJsZUFsbFVudGlsIiwiZGF0YSIsImFwcE5vdGlmaWNhdGlvbnMiLCJzZXR0aW5ncyIsInVzZXIiLCJhcHBTZXR0aW5ncyIsImNsb3VkTm9kZURheXNGb3JEZWxldGUiLCJoaXN0b3J5RmlsZURheXNGb3JEZWxldGUiLCJoaXN0b3J5TWF4RmlsZUNvdW50IiwidXBkYXRlU2V0dGluZ3MiLCJ1cGRhdGVBcHBTZXR0aW5ncyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGllbnQvU2VjcmVjeUFwcENsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cbmltcG9ydCB0eXBlIHtcbiAgU2VjcmVjeUNsaWVudCxcbiAgU3VjY2Vzc1Jlc3BvbnNlLFxuICBVc2VyQXBwTm90aWZpY2F0aW9ucyxcbiAgVXNlckFwcFNldHRpbmdzXG59IGZyb20gXCIuLi9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHR5cGUgeyBFcnJvckFjY2Vzc0RlbmllZCwgRXJyb3JCYXNpYywgRXJyb3JOb3RGb3VuZCB9IGZyb20gXCIuLi9lcnJvci5qc1wiO1xuaW1wb3J0IHR5cGUgeyBUaHVuZGVyIH0gZnJvbSBcIi4uL3pldXMvaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHsgSnd0UGF5bG9hZCB9IGZyb20gXCJqc29ud2VidG9rZW5cIjtcbmltcG9ydCB7IGRlY29kZSB9IGZyb20gXCJqc29ud2VidG9rZW5cIjtcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiLi9zdG9yYWdlLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWNyZWN5QXBwQ2xpZW50IHtcbiAgand0OiBzdHJpbmc7XG5cbiAgand0RGVjb2RlZDogSnd0UGF5bG9hZDtcblxuICAvLyAjY2xpZW50OiBTZWNyZWN5Q2xpZW50O1xuXG4gIC8vICNrZXlzOiBLZXlQYWlyO1xuXG4gICN0aHVuZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBUaHVuZGVyPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB1YUp3dDogc3RyaW5nLFxuICAgIF9jbGllbnQ6IFNlY3JlY3lDbGllbnQsXG4gICAgX2tleXM6IEtleVBhaXIsXG4gICAgdGh1bmRlcjogUmV0dXJuVHlwZTx0eXBlb2YgVGh1bmRlcj5cbiAgKSB7XG4gICAgdGhpcy5qd3QgPSB1YUp3dDtcbiAgICB0aGlzLmp3dERlY29kZWQgPSBkZWNvZGUodWFKd3QpIGFzIEp3dFBheWxvYWQ7XG4gICAgLy8gdGhpcy4jY2xpZW50ID0gY2xpZW50O1xuICAgIC8vIHRoaXMuI2tleXMgPSBrZXlzO1xuICAgIHRoaXMuI3RodW5kZXIgPSB0aHVuZGVyO1xuICB9XG5cbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmp3dERlY29kZWQuc3ViID8/IFwiXCI7XG4gIH1cblxuICBhc3luYyBnZXRKd3QoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAvLyBUT0RPIHVzZWZ1bD9cbiAgICAvLyBpZiAodGhpcy5qd3REZWNvZGVkLmV4cCAmJiB0aGlzLmp3dERlY29kZWQuZXhwICogMTAwMCA8IERhdGUubm93KCkpIHtcbiAgICAvLyAgIHJldHVybiB0aGlzLmp3dDtcbiAgICAvLyB9XG5cbiAgICBjb25zdCB7IGdldEp3dCB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIGdldEp3dDogW1xuICAgICAgICB7XG4gICAgICAgICAgaW5jbHVkZUVtYWlsOiAhIXRoaXMuand0RGVjb2RlZC5lbWFpbFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBKd3RSZXNwb25zZVwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgand0OiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIWdldEp3dCkge1xuICAgICAgcmV0dXJuIHRoaXMuand0O1xuICAgIH1cblxuICAgIGlmIChnZXRKd3QuX190eXBlbmFtZSA9PT0gXCJFcnJvckFjY2Vzc0RlbmllZFwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZ2V0Snd0Lm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRoaXMuand0ID0gZ2V0Snd0Lmp3dDtcbiAgICB0aGlzLmp3dERlY29kZWQgPSBkZWNvZGUoZ2V0Snd0Lmp3dCkgYXMgSnd0UGF5bG9hZDtcblxuICAgIGNvbnN0IHNlc3Npb25TdG9yYWdlID0gZ2V0U3RvcmFnZSh0cnVlKTtcbiAgICBjb25zdCBsb2NhbFN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZhbHNlKTtcblxuICAgIGNvbnN0IHNlc3Npb25Kd3QgPSBzZXNzaW9uU3RvcmFnZS5qd3QubG9hZCgpO1xuICAgIGNvbnN0IGxvY2FsSnd0ID0gbG9jYWxTdG9yYWdlLmp3dC5sb2FkKCk7XG5cbiAgICBpZiAoc2Vzc2lvbkp3dCkge1xuICAgICAgc2Vzc2lvblN0b3JhZ2Uuand0LnNhdmUoZ2V0Snd0Lmp3dCk7XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsSnd0KSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuand0LnNhdmUoZ2V0Snd0Lmp3dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldEp3dC5qd3Q7XG4gIH1cblxuICBhc3luYyB1cGRhdGVOb3RpZmljYXRpb25zKFxuICAgIG5vdGlmaWNhdGlvbnM6IFBhcnRpYWw8VXNlckFwcE5vdGlmaWNhdGlvbnM+XG4gICk6IFByb21pc2U8U3VjY2Vzc1Jlc3BvbnNlPFVzZXJBcHBOb3RpZmljYXRpb25zPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgdXBkYXRlQXBwTm90aWZpY2F0aW9ucyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcIm11dGF0aW9uXCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgdXBkYXRlQXBwTm90aWZpY2F0aW9uczogW1xuICAgICAgICBub3RpZmljYXRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBVcGRhdGVBcHBOb3RpZmljYXRpb25zUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM6IHtcbiAgICAgICAgICAgICAgZW5hYmxlQWxsOiB0cnVlLFxuICAgICAgICAgICAgICBtYWlsOiB0cnVlLFxuICAgICAgICAgICAgICBjbG91ZDogdHJ1ZSxcbiAgICAgICAgICAgICAgZGlzYWJsZUFsbFVudGlsOiB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVBcHBOb3RpZmljYXRpb25zLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcE5vdGlmaWNhdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKCF1cGRhdGVBcHBOb3RpZmljYXRpb25zLnVwZGF0ZUFwcE5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXBkYXRlQXBwTm90aWZpY2F0aW9ucy51cGRhdGVBcHBOb3RpZmljYXRpb25zXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIG5vdGlmaWNhdGlvbnMoKTogUHJvbWlzZTxcbiAgICB8IFN1Y2Nlc3NSZXNwb25zZTxVc2VyQXBwTm90aWZpY2F0aW9ucz5cbiAgICB8IEVycm9yQWNjZXNzRGVuaWVkXG4gICAgfCBFcnJvck5vdEZvdW5kXG4gICAgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgYXBwTm90aWZpY2F0aW9ucyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIsIHtcbiAgICAgIHNjYWxhcnM6IHtcbiAgICAgICAgRGF0ZVRpbWU6IHtcbiAgICAgICAgICBkZWNvZGU6IChlOiB1bmtub3duKSA9PiBuZXcgRGF0ZShlIGFzIHN0cmluZyksXG4gICAgICAgICAgZW5jb2RlOiAoZTogdW5rbm93bikgPT4gKGUgYXMgRGF0ZSkudG9JU09TdHJpbmcoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkoe1xuICAgICAgYXBwTm90aWZpY2F0aW9uczoge1xuICAgICAgICBcIi4uLm9uIEVycm9yQWNjZXNzRGVuaWVkXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCIuLi5vbiBFcnJvck5vdEZvdW5kXCI6IHtcbiAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgXCIuLi5vbiBVc2VyQXBwTm90aWZpY2F0aW9uc1wiOiB7XG4gICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVBbGw6IHRydWUsXG4gICAgICAgICAgbWFpbDogdHJ1ZSxcbiAgICAgICAgICBjbG91ZDogdHJ1ZSxcbiAgICAgICAgICBkaXNhYmxlQWxsVW50aWw6IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFhcHBOb3RpZmljYXRpb25zKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYXBwTm90aWZpY2F0aW9ucy5fX3R5cGVuYW1lID09PSBcIkVycm9yQWNjZXNzRGVuaWVkXCIpIHtcbiAgICAgIHJldHVybiBhcHBOb3RpZmljYXRpb25zO1xuICAgIH1cblxuICAgIGlmIChhcHBOb3RpZmljYXRpb25zLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gYXBwTm90aWZpY2F0aW9ucztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgX190eXBlbmFtZTogXCJTdWNjZXNzUmVzcG9uc2VcIixcbiAgICAgIGRhdGE6IGFwcE5vdGlmaWNhdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc2V0dGluZ3MoKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8VXNlckFwcFNldHRpbmdzPiB8IEVycm9yTm90Rm91bmQgfCBudWxsXG4gID4ge1xuICAgIGNvbnN0IHsgdXNlciB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcInF1ZXJ5XCIpKHtcbiAgICAgIHVzZXI6IFtcbiAgICAgICAge30sXG4gICAgICAgIHtcbiAgICAgICAgICBcIi4uLm9uIEVycm9yTm90Rm91bmRcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRydWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIFwiLi4ub24gVXNlclJlc3BvbnNlXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgIGFwcFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgICAgY2xvdWROb2RlRGF5c0ZvckRlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBoaXN0b3J5RmlsZURheXNGb3JEZWxldGU6IHRydWUsXG4gICAgICAgICAgICAgICAgaGlzdG9yeU1heEZpbGVDb3VudDogdHJ1ZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICBdXG4gICAgfSk7XG5cbiAgICBpZiAoIXVzZXIpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh1c2VyLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JOb3RGb3VuZFwiKSB7XG4gICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBpZiAoIXVzZXIudXNlcj8uYXBwU2V0dGluZ3MpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXNlci51c2VyLmFwcFNldHRpbmdzXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVNldHRpbmdzKFxuICAgIHNldHRpbmdzOiBQYXJ0aWFsPFVzZXJBcHBTZXR0aW5ncz5cbiAgKTogUHJvbWlzZTxcbiAgICBTdWNjZXNzUmVzcG9uc2U8VXNlckFwcFNldHRpbmdzPiB8IEVycm9yQWNjZXNzRGVuaWVkIHwgRXJyb3JCYXNpYyB8IG51bGxcbiAgPiB7XG4gICAgY29uc3QgeyB1cGRhdGVBcHBTZXR0aW5ncyB9ID0gYXdhaXQgdGhpcy4jdGh1bmRlcihcIm11dGF0aW9uXCIpKHtcbiAgICAgIHVwZGF0ZUFwcFNldHRpbmdzOiBbXG4gICAgICAgIHNldHRpbmdzLFxuICAgICAgICB7XG4gICAgICAgICAgXCIuLi5vbiBFcnJvckFjY2Vzc0RlbmllZFwiOiB7XG4gICAgICAgICAgICBfX3R5cGVuYW1lOiB0cnVlLFxuICAgICAgICAgICAgbWVzc2FnZTogdHJ1ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCIuLi5vbiBFcnJvckJhc2ljXCI6IHtcbiAgICAgICAgICAgIF9fdHlwZW5hbWU6IHRydWUsXG4gICAgICAgICAgICBtZXNzYWdlOiB0cnVlXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcIi4uLm9uIFVwZGF0ZUFwcFNldHRpbmdzUmVzcG9uc2VcIjoge1xuICAgICAgICAgICAgX190eXBlbmFtZTogdHJ1ZSxcbiAgICAgICAgICAgIHVwZGF0ZUFwcFNldHRpbmdzOiB7XG4gICAgICAgICAgICAgIGNsb3VkTm9kZURheXNGb3JEZWxldGU6IHRydWUsXG4gICAgICAgICAgICAgIGhpc3RvcnlGaWxlRGF5c0ZvckRlbGV0ZTogdHJ1ZSxcbiAgICAgICAgICAgICAgaGlzdG9yeU1heEZpbGVDb3VudDogdHJ1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCF1cGRhdGVBcHBTZXR0aW5ncykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZUFwcFNldHRpbmdzLl9fdHlwZW5hbWUgPT09IFwiRXJyb3JBY2Nlc3NEZW5pZWRcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcFNldHRpbmdzO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVBcHBTZXR0aW5ncy5fX3R5cGVuYW1lID09PSBcIkVycm9yQmFzaWNcIikge1xuICAgICAgcmV0dXJuIHVwZGF0ZUFwcFNldHRpbmdzO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBfX3R5cGVuYW1lOiBcIlN1Y2Nlc3NSZXNwb25zZVwiLFxuICAgICAgZGF0YTogdXBkYXRlQXBwU2V0dGluZ3MudXBkYXRlQXBwU2V0dGluZ3NcbiAgICB9O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBV0EsU0FBU0EsTUFBVCxRQUF1QixjQUF2QjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIsY0FBM0I7Ozs7QUFFQSxPQUFPLE1BQU1DLGdCQUFOLENBQXVCO0VBSzVCO0VBRUE7RUFJQUMsV0FBVyxDQUNUQyxLQURTLEVBRVRDLE9BRlMsRUFHVEMsS0FIUyxFQUlUQyxPQUpTLEVBS1Q7SUFBQTtNQUFBO01BQUE7SUFBQTtJQUNBLEtBQUtDLEdBQUwsR0FBV0osS0FBWDtJQUNBLEtBQUtLLFVBQUwsR0FBa0JULE1BQU0sQ0FBQ0ksS0FBRCxDQUF4QixDQUZBLENBR0E7SUFDQTs7SUFDQSx3REFBZ0JHLE9BQWhCO0VBQ0Q7O0VBRVMsSUFBTkcsTUFBTSxHQUFXO0lBQUE7O0lBQ25CLCtCQUFPLEtBQUtELFVBQUwsQ0FBZ0JFLEdBQXZCLG1DQUE4QixFQUE5QjtFQUNEOztFQUVXLE1BQU5DLE1BQU0sR0FBb0I7SUFDOUI7SUFDQTtJQUNBO0lBQ0E7SUFFQSxNQUFNO01BQUVBO0lBQUYsSUFBYSxNQUFNLHNEQUFjLE9BQWQsRUFBdUI7TUFDOUNBLE1BQU0sRUFBRSxDQUNOO1FBQ0VDLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBS0osVUFBTCxDQUFnQks7TUFEbEMsQ0FETSxFQUlOO1FBQ0UsMkJBQTJCO1VBQ3pCQyxVQUFVLEVBQUUsSUFEYTtVQUV6QkMsT0FBTyxFQUFFO1FBRmdCLENBRDdCO1FBS0UscUJBQXFCO1VBQ25CRCxVQUFVLEVBQUUsSUFETztVQUVuQlAsR0FBRyxFQUFFO1FBRmM7TUFMdkIsQ0FKTTtJQURzQyxDQUF2QixDQUF6Qjs7SUFrQkEsSUFBSSxDQUFDSSxNQUFMLEVBQWE7TUFDWCxPQUFPLEtBQUtKLEdBQVo7SUFDRDs7SUFFRCxJQUFJSSxNQUFNLENBQUNHLFVBQVAsS0FBc0IsbUJBQTFCLEVBQStDO01BQzdDLE1BQU0sSUFBSUUsS0FBSixDQUFVTCxNQUFNLENBQUNJLE9BQWpCLENBQU47SUFDRDs7SUFFRCxLQUFLUixHQUFMLEdBQVdJLE1BQU0sQ0FBQ0osR0FBbEI7SUFDQSxLQUFLQyxVQUFMLEdBQWtCVCxNQUFNLENBQUNZLE1BQU0sQ0FBQ0osR0FBUixDQUF4QjtJQUVBLE1BQU1VLGNBQWMsR0FBR2pCLFVBQVUsQ0FBQyxJQUFELENBQWpDO0lBQ0EsTUFBTWtCLFlBQVksR0FBR2xCLFVBQVUsQ0FBQyxLQUFELENBQS9CO0lBRUEsTUFBTW1CLFVBQVUsR0FBR0YsY0FBYyxDQUFDVixHQUFmLENBQW1CYSxJQUFuQixFQUFuQjtJQUNBLE1BQU1DLFFBQVEsR0FBR0gsWUFBWSxDQUFDWCxHQUFiLENBQWlCYSxJQUFqQixFQUFqQjs7SUFFQSxJQUFJRCxVQUFKLEVBQWdCO01BQ2RGLGNBQWMsQ0FBQ1YsR0FBZixDQUFtQmUsSUFBbkIsQ0FBd0JYLE1BQU0sQ0FBQ0osR0FBL0I7SUFDRDs7SUFFRCxJQUFJYyxRQUFKLEVBQWM7TUFDWkgsWUFBWSxDQUFDWCxHQUFiLENBQWlCZSxJQUFqQixDQUFzQlgsTUFBTSxDQUFDSixHQUE3QjtJQUNEOztJQUVELE9BQU9JLE1BQU0sQ0FBQ0osR0FBZDtFQUNEOztFQUV3QixNQUFuQmdCLG1CQUFtQixDQUN2QkMsYUFEdUIsRUFFb0Q7SUFDM0UsTUFBTTtNQUFFQztJQUFGLElBQTZCLE1BQU0sc0RBQWMsVUFBZCxFQUEwQjtNQUNqRUMsT0FBTyxFQUFFO1FBQ1BDLFFBQVEsRUFBRTtVQUNSNUIsTUFBTSxFQUFHNkIsQ0FBRCxJQUFnQixJQUFJQyxJQUFKLENBQVNELENBQVQsQ0FEaEI7VUFFUkUsTUFBTSxFQUFHRixDQUFELElBQWlCQSxDQUFELENBQVlHLFdBQVo7UUFGaEI7TUFESDtJQUR3RCxDQUExQixFQU90QztNQUNETixzQkFBc0IsRUFBRSxDQUN0QkQsYUFEc0IsRUFFdEI7UUFDRSwyQkFBMkI7VUFDekJWLFVBQVUsRUFBRSxJQURhO1VBRXpCQyxPQUFPLEVBQUU7UUFGZ0IsQ0FEN0I7UUFLRSx3Q0FBd0M7VUFDdENELFVBQVUsRUFBRSxJQUQwQjtVQUV0Q1csc0JBQXNCLEVBQUU7WUFDdEJPLFNBQVMsRUFBRSxJQURXO1lBRXRCQyxJQUFJLEVBQUUsSUFGZ0I7WUFHdEJDLEtBQUssRUFBRSxJQUhlO1lBSXRCQyxlQUFlLEVBQUU7VUFKSztRQUZjO01BTDFDLENBRnNCO0lBRHZCLENBUHNDLENBQXpDOztJQTRCQSxJQUFJLENBQUNWLHNCQUFMLEVBQTZCO01BQzNCLE9BQU8sSUFBUDtJQUNEOztJQUVELElBQUlBLHNCQUFzQixDQUFDWCxVQUF2QixLQUFzQyxtQkFBMUMsRUFBK0Q7TUFDN0QsT0FBT1csc0JBQVA7SUFDRDs7SUFFRCxJQUFJLENBQUNBLHNCQUFzQixDQUFDQSxzQkFBNUIsRUFBb0Q7TUFDbEQsT0FBTyxJQUFQO0lBQ0Q7O0lBRUQsT0FBTztNQUNMWCxVQUFVLEVBQUUsaUJBRFA7TUFFTHNCLElBQUksRUFBRVgsc0JBQXNCLENBQUNBO0lBRnhCLENBQVA7RUFJRDs7RUFFa0IsTUFBYkQsYUFBYSxHQUtqQjtJQUNBLE1BQU07TUFBRWE7SUFBRixJQUF1QixNQUFNLHNEQUFjLE9BQWQsRUFBdUI7TUFDeERYLE9BQU8sRUFBRTtRQUNQQyxRQUFRLEVBQUU7VUFDUjVCLE1BQU0sRUFBRzZCLENBQUQsSUFBZ0IsSUFBSUMsSUFBSixDQUFTRCxDQUFULENBRGhCO1VBRVJFLE1BQU0sRUFBR0YsQ0FBRCxJQUFpQkEsQ0FBRCxDQUFZRyxXQUFaO1FBRmhCO01BREg7SUFEK0MsQ0FBdkIsRUFPaEM7TUFDRE0sZ0JBQWdCLEVBQUU7UUFDaEIsMkJBQTJCO1VBQ3pCdkIsVUFBVSxFQUFFLElBRGE7VUFFekJDLE9BQU8sRUFBRTtRQUZnQixDQURYO1FBS2hCLHVCQUF1QjtVQUNyQkQsVUFBVSxFQUFFLElBRFM7VUFFckJDLE9BQU8sRUFBRTtRQUZZLENBTFA7UUFTaEIsOEJBQThCO1VBQzVCRCxVQUFVLEVBQUUsSUFEZ0I7VUFFNUJrQixTQUFTLEVBQUUsSUFGaUI7VUFHNUJDLElBQUksRUFBRSxJQUhzQjtVQUk1QkMsS0FBSyxFQUFFLElBSnFCO1VBSzVCQyxlQUFlLEVBQUU7UUFMVztNQVRkO0lBRGpCLENBUGdDLENBQW5DOztJQTJCQSxJQUFJLENBQUNFLGdCQUFMLEVBQXVCO01BQ3JCLE9BQU8sSUFBUDtJQUNEOztJQUVELElBQUlBLGdCQUFnQixDQUFDdkIsVUFBakIsS0FBZ0MsbUJBQXBDLEVBQXlEO01BQ3ZELE9BQU91QixnQkFBUDtJQUNEOztJQUVELElBQUlBLGdCQUFnQixDQUFDdkIsVUFBakIsS0FBZ0MsZUFBcEMsRUFBcUQ7TUFDbkQsT0FBT3VCLGdCQUFQO0lBQ0Q7O0lBRUQsT0FBTztNQUNMdkIsVUFBVSxFQUFFLGlCQURQO01BRUxzQixJQUFJLEVBQUVDO0lBRkQsQ0FBUDtFQUlEOztFQUVhLE1BQVJDLFFBQVEsR0FFWjtJQUFBOztJQUNBLE1BQU07TUFBRUM7SUFBRixJQUFXLE1BQU0sc0RBQWMsT0FBZCxFQUF1QjtNQUM1Q0EsSUFBSSxFQUFFLENBQ0osRUFESSxFQUVKO1FBQ0UsdUJBQXVCO1VBQ3JCekIsVUFBVSxFQUFFLElBRFM7VUFFckJDLE9BQU8sRUFBRTtRQUZZLENBRHpCO1FBS0Usc0JBQXNCO1VBQ3BCRCxVQUFVLEVBQUUsSUFEUTtVQUVwQnlCLElBQUksRUFBRTtZQUNKQyxXQUFXLEVBQUU7Y0FDWEMsc0JBQXNCLEVBQUUsSUFEYjtjQUVYQyx3QkFBd0IsRUFBRSxJQUZmO2NBR1hDLG1CQUFtQixFQUFFO1lBSFY7VUFEVDtRQUZjO01BTHhCLENBRkk7SUFEc0MsQ0FBdkIsQ0FBdkI7O0lBc0JBLElBQUksQ0FBQ0osSUFBTCxFQUFXO01BQ1QsT0FBTyxJQUFQO0lBQ0Q7O0lBRUQsSUFBSUEsSUFBSSxDQUFDekIsVUFBTCxLQUFvQixlQUF4QixFQUF5QztNQUN2QyxPQUFPeUIsSUFBUDtJQUNEOztJQUVELElBQUksZ0JBQUNBLElBQUksQ0FBQ0EsSUFBTixhQUFDLFdBQVdDLFdBQVosQ0FBSixFQUE2QjtNQUMzQixPQUFPLElBQVA7SUFDRDs7SUFFRCxPQUFPO01BQ0wxQixVQUFVLEVBQUUsaUJBRFA7TUFFTHNCLElBQUksRUFBRUcsSUFBSSxDQUFDQSxJQUFMLENBQVVDO0lBRlgsQ0FBUDtFQUlEOztFQUVtQixNQUFkSSxjQUFjLENBQ2xCTixRQURrQixFQUlsQjtJQUNBLE1BQU07TUFBRU87SUFBRixJQUF3QixNQUFNLHNEQUFjLFVBQWQsRUFBMEI7TUFDNURBLGlCQUFpQixFQUFFLENBQ2pCUCxRQURpQixFQUVqQjtRQUNFLDJCQUEyQjtVQUN6QnhCLFVBQVUsRUFBRSxJQURhO1VBRXpCQyxPQUFPLEVBQUU7UUFGZ0IsQ0FEN0I7UUFLRSxvQkFBb0I7VUFDbEJELFVBQVUsRUFBRSxJQURNO1VBRWxCQyxPQUFPLEVBQUU7UUFGUyxDQUx0QjtRQVNFLG1DQUFtQztVQUNqQ0QsVUFBVSxFQUFFLElBRHFCO1VBRWpDK0IsaUJBQWlCLEVBQUU7WUFDakJKLHNCQUFzQixFQUFFLElBRFA7WUFFakJDLHdCQUF3QixFQUFFLElBRlQ7WUFHakJDLG1CQUFtQixFQUFFO1VBSEo7UUFGYztNQVRyQyxDQUZpQjtJQUR5QyxDQUExQixDQUFwQzs7SUF3QkEsSUFBSSxDQUFDRSxpQkFBTCxFQUF3QjtNQUN0QixPQUFPLElBQVA7SUFDRDs7SUFFRCxJQUFJQSxpQkFBaUIsQ0FBQy9CLFVBQWxCLEtBQWlDLG1CQUFyQyxFQUEwRDtNQUN4RCxPQUFPK0IsaUJBQVA7SUFDRDs7SUFFRCxJQUFJQSxpQkFBaUIsQ0FBQy9CLFVBQWxCLEtBQWlDLFlBQXJDLEVBQW1EO01BQ2pELE9BQU8rQixpQkFBUDtJQUNEOztJQUVELE9BQU87TUFDTC9CLFVBQVUsRUFBRSxpQkFEUDtNQUVMc0IsSUFBSSxFQUFFUyxpQkFBaUIsQ0FBQ0E7SUFGbkIsQ0FBUDtFQUlEOztBQTVRMkIifQ==
@@ -0,0 +1,89 @@
1
+ import type { DownloadProgress, ProgressCallback, SecrecyClient, SuccessResponse } from "../index.js";
2
+ import type { KeyPair } from "../crypto/index.js";
3
+ import type { ErrorAccessDenied, ErrorBasic, ErrorLimit, ErrorNotExist, ErrorNotFound } from "../error.js";
4
+ import type { NodeType, Rights, Thunder } from "../zeus/index.js";
5
+ import type { FileMetadata, Node, NodeFull } from "./types/index.js";
6
+ export declare class SecrecyCloudClient {
7
+ #private;
8
+ constructor(client: SecrecyClient, keys: KeyPair, thunder: ReturnType<typeof Thunder>);
9
+ addFileToHistory({ fileId, nodeId }: {
10
+ fileId: string;
11
+ nodeId: string;
12
+ }): Promise<SuccessResponse<Node> | ErrorAccessDenied | ErrorNotExist | null>;
13
+ uploadFile({ file, encryptProgress, uploadProgress, signal }: {
14
+ file: globalThis.File | Uint8Array;
15
+ encryptProgress?: ProgressCallback;
16
+ uploadProgress?: ProgressCallback;
17
+ signal?: AbortSignal;
18
+ }): Promise<SuccessResponse<string> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | null>;
19
+ uploadFileInCloud({ file, name, nodeId, encryptProgress, uploadProgress, signal }: {
20
+ file: globalThis.File | Uint8Array;
21
+ name: string;
22
+ nodeId?: string;
23
+ encryptProgress?: ProgressCallback;
24
+ uploadProgress?: ProgressCallback;
25
+ signal?: AbortSignal;
26
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorLimit | ErrorNotFound | ErrorBasic | ErrorNotExist | null>;
27
+ deletedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
28
+ sharedNodes(): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
29
+ nodesSharedWithMe(type?: NodeType | null | undefined): Promise<SuccessResponse<Node[]> | ErrorAccessDenied | null>;
30
+ deleteNodeSharing({ nodeId, userId }: {
31
+ nodeId: string;
32
+ userId: string;
33
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
34
+ duplicateNode({ nodeId, folderId, customName }: {
35
+ nodeId: string;
36
+ folderId?: string | null | undefined;
37
+ customName?: string | null | undefined;
38
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
39
+ deleteNodeCloudTrash({ ids }: {
40
+ ids: Array<string>;
41
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
42
+ createFolder({ name, parentFolderId }: {
43
+ name: string;
44
+ parentFolderId?: string | null;
45
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
46
+ node({ id, deleted }?: {
47
+ id?: string | null | undefined;
48
+ deleted?: boolean | null | undefined;
49
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | null>;
50
+ file({ id }: {
51
+ id: string;
52
+ }): Promise<SuccessResponse<FileMetadata> | ErrorAccessDenied | null>;
53
+ shareNode({ nodeId, userId, rights }: {
54
+ nodeId: string;
55
+ userId: string;
56
+ rights: Rights;
57
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotFound | null>;
58
+ updateNode({ nodeId, name, isFavorite, deletedAt }: {
59
+ nodeId: string;
60
+ name?: string | null | undefined;
61
+ isFavorite?: boolean | null | undefined;
62
+ deletedAt?: Date | null | undefined;
63
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorNotExist | null>;
64
+ fileContent({ fileId, onDownloadProgress, progressDecrypt, signal }: {
65
+ fileId: string;
66
+ onDownloadProgress?: (progress: DownloadProgress) => void;
67
+ progressDecrypt?: ProgressCallback;
68
+ signal?: AbortSignal;
69
+ }): Promise<SuccessResponse<Uint8Array> | ErrorAccessDenied | ErrorBasic | null>;
70
+ deleteFile({ fileId, nodeId }: {
71
+ fileId: string;
72
+ nodeId: string;
73
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
74
+ deleteNode({ nodeId }: {
75
+ nodeId: string;
76
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
77
+ emptyTrash(): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
78
+ recoverNode(id: string): Promise<SuccessResponse<boolean> | ErrorAccessDenied | ErrorNotExist | null>;
79
+ moveNodes({ nodeIds, parentNodeId }: {
80
+ nodeIds: string[];
81
+ parentNodeId?: string | null | undefined;
82
+ }): Promise<SuccessResponse<boolean> | ErrorAccessDenied | null>;
83
+ saveInCloud({ fileId, name, nodeId }: {
84
+ fileId: string;
85
+ name: string;
86
+ nodeId?: string;
87
+ }): Promise<SuccessResponse<NodeFull> | ErrorAccessDenied | ErrorBasic | ErrorLimit | ErrorNotFound | ErrorNotExist | null>;
88
+ private perNode;
89
+ }