@staticbackend/backend 1.5.0 → 1.7.0

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.
package/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # backend-node
2
- Node client library for [StaticBackend](https://staticbackend.com)'s API.
2
+ Node client library for [StaticBackend](https://staticbackend.dev)'s API.
3
3
 
4
4
  ## Install
5
5
 
@@ -10,7 +10,7 @@ $> npm i @staticbackend/backend
10
10
  ## Usage
11
11
 
12
12
  You'll need a public key to use this library. Please refer to our
13
- [getting started guide](https://staticbackend.com/getting-started/) to help you get up and running.
13
+ [getting started guide](https://staticbackend.dev/getting-started/) to help you get up and running.
14
14
 
15
15
  ### Importing and creating an instance
16
16
 
@@ -22,6 +22,9 @@ const bkn = new Backend("your-pub-key", "region");
22
22
  Only the `na1` region is supported. Your public key will be sent after you create
23
23
  your account.
24
24
 
25
+ Use `"dev"` for a local StaticBackend server at `http://localhost:8099`, or pass a
26
+ self-hosted base URL as the second argument.
27
+
25
28
  ### Format
26
29
 
27
30
  The function calls, say to create a database document (all every other functions)
@@ -48,3 +51,45 @@ For `login` and `register` the `content` field contains the user's session `toke
48
51
 
49
52
  You'll need this token for all your interaction with the backend.
50
53
 
54
+ ### Server-side API
55
+
56
+ This package is intended for trusted Node.js environments and includes root-token
57
+ helpers that are not available in the browser client:
58
+
59
+ - Database sudo operations: `sudoCreate`, `sudoList`, `sudoQuery`, `sudoUpdate`,
60
+ `sudoDelete`, `sudoListRepositories`, `sudoAddIndex`
61
+ - Account helpers: `sudoGetToken`, `sudoGetAuthTokenByUserID`,
62
+ `sudoGetUserByID`, `sudoGetUserAccounts`
63
+ - Storage and extras: `storageUsage`, `listFiles`, `deleteFile`, `sendMail`,
64
+ `sudoSendSMS`, `convertURLToX`
65
+ - Functions, forms, and pub/sub: `addFunction`, `listFunctions`,
66
+ `updateFunction`, `deleteFunction`, `functionInfo`, `execFunction`,
67
+ `sudoExecFunction`, `listForm`, `publish`
68
+
69
+ ## Development
70
+
71
+ ### Building
72
+
73
+ ```bash
74
+ npm run build
75
+ ```
76
+
77
+ ### Testing
78
+
79
+ This library includes a comprehensive test suite that mirrors the Go client tests.
80
+
81
+ **Prerequisites:**
82
+ - StaticBackend server running in development mode at `http://localhost:8099`
83
+ - Default admin account: `admin@dev.com` / `devpw1234`
84
+
85
+ **Run tests:**
86
+ ```bash
87
+ npm test
88
+ ```
89
+
90
+ **Run tests in watch mode:**
91
+ ```bash
92
+ npm test:watch
93
+ ```
94
+
95
+ See [tests/README.md](tests/README.md) for detailed testing documentation.
package/dist/backend.d.ts CHANGED
@@ -1,12 +1,21 @@
1
+ export type Operator = "==" | "!=" | "<" | "<=" | ">" | ">=" | "in" | "!in";
2
+ export type Filter = [string, Operator, any];
1
3
  export interface ListParam {
2
- page: number;
3
- size: number;
4
- descending: boolean;
4
+ page?: number;
5
+ size?: number;
6
+ descending?: boolean;
7
+ desc?: boolean;
5
8
  }
6
9
  export interface BulkUpdate {
7
10
  update: any;
8
11
  clauses: Array<Array<any>>;
9
12
  }
13
+ export interface Attachment {
14
+ url?: string;
15
+ body?: Buffer | string;
16
+ contentType?: string;
17
+ filename?: string;
18
+ }
10
19
  export interface EmailData {
11
20
  fromName: string;
12
21
  from: string;
@@ -14,6 +23,7 @@ export interface EmailData {
14
23
  subject: string;
15
24
  body: string;
16
25
  replyTo: string;
26
+ attachments?: Attachment[];
17
27
  }
18
28
  export interface ConvertData {
19
29
  toPDF: boolean;
@@ -27,17 +37,105 @@ export interface SMSData {
27
37
  fromNumber: string;
28
38
  body: string;
29
39
  }
40
+ export interface MagicLinkData {
41
+ fromEmail: string;
42
+ fromName: string;
43
+ email: string;
44
+ subject: string;
45
+ body: string;
46
+ link: string;
47
+ }
48
+ export interface AccountUser {
49
+ id: string;
50
+ userId: string;
51
+ accountId: string;
52
+ email: string;
53
+ role: number;
54
+ token: string;
55
+ }
56
+ export interface UserAccountEntry {
57
+ accountId: string;
58
+ role: number;
59
+ home: boolean;
60
+ token?: string;
61
+ }
62
+ export interface User {
63
+ id: string;
64
+ accountId: string;
65
+ token: string;
66
+ email: string;
67
+ role: number;
68
+ created: string;
69
+ }
70
+ export interface UploadedFile {
71
+ id: string;
72
+ url: string;
73
+ }
74
+ export interface FileUsage {
75
+ bytes: number;
76
+ gb: number;
77
+ }
78
+ export interface StoredFile {
79
+ id: string;
80
+ accountId: string;
81
+ key: string;
82
+ url: string;
83
+ size: number;
84
+ uploaded: string;
85
+ }
86
+ export interface StorageListParam {
87
+ page?: number;
88
+ sort?: "size";
89
+ }
90
+ export interface FileListResult {
91
+ page: number;
92
+ size: number;
93
+ total: number;
94
+ results: StoredFile[];
95
+ }
96
+ export interface RunHistory {
97
+ id: string;
98
+ functionId?: string;
99
+ version: number;
100
+ started: string;
101
+ completed: string;
102
+ success: boolean;
103
+ output: string[];
104
+ }
105
+ export interface FunctionData {
106
+ id?: string;
107
+ accountId?: string;
108
+ name: string;
109
+ trigger: string;
110
+ code: string;
111
+ version?: number;
112
+ lastUpdated?: string;
113
+ lastRun?: string;
114
+ history?: RunHistory[];
115
+ }
30
116
  export declare class Backend {
31
117
  private baseURL;
32
118
  private pubKey;
33
119
  constructor(key: string, region: string);
34
120
  private rawreq;
35
121
  private req;
36
- register(email: string, pw: string): Promise<{
122
+ register(email: string, pw: string, accountId?: string): Promise<{
37
123
  ok: boolean;
38
124
  content: any;
39
125
  }>;
40
- login(email: string, pw: string): Promise<{
126
+ login(email: string, pw: string, accountId?: string): Promise<{
127
+ ok: boolean;
128
+ content: any;
129
+ }>;
130
+ emailExists(email: string): Promise<{
131
+ ok: boolean;
132
+ content: any;
133
+ }>;
134
+ requestMagicLink(data: MagicLinkData): Promise<{
135
+ ok: boolean;
136
+ content: any;
137
+ }>;
138
+ loginWithMagicLink(email: string, code: string): Promise<{
41
139
  ok: boolean;
42
140
  content: any;
43
141
  }>;
@@ -57,10 +155,26 @@ export declare class Backend {
57
155
  ok: boolean;
58
156
  content: any;
59
157
  }>;
158
+ sudoGetAuthTokenByUserID(rootToken: string, accountId: string, userId: string): Promise<{
159
+ ok: boolean;
160
+ content: any;
161
+ }>;
162
+ sudoGetUserByID(rootToken: string, accountId: string, userId: string): Promise<{
163
+ ok: boolean;
164
+ content: any;
165
+ }>;
60
166
  me(token: string): Promise<{
61
167
  ok: boolean;
62
168
  content: any;
63
169
  }>;
170
+ changeEmail(token: string, email: string): Promise<{
171
+ ok: boolean;
172
+ content: any;
173
+ }>;
174
+ setRole(token: string, email: string, role: number, accountId?: string): Promise<{
175
+ ok: boolean;
176
+ content: any;
177
+ }>;
64
178
  addUser(token: string, email: string, password: string): Promise<{
65
179
  ok: boolean;
66
180
  content: any;
@@ -73,6 +187,18 @@ export declare class Backend {
73
187
  ok: boolean;
74
188
  content: any;
75
189
  }>;
190
+ listAssociations(token: string): Promise<{
191
+ ok: boolean;
192
+ content: any;
193
+ }>;
194
+ promoteUser(token: string): Promise<{
195
+ ok: boolean;
196
+ content: any;
197
+ }>;
198
+ sudoGetUserAccounts(rootToken: string, email: string): Promise<{
199
+ ok: boolean;
200
+ content: any;
201
+ }>;
76
202
  cacheGet(rootToken: string, key: string): Promise<{
77
203
  ok: boolean;
78
204
  content: any;
@@ -81,6 +207,14 @@ export declare class Backend {
81
207
  ok: boolean;
82
208
  content: any;
83
209
  }>;
210
+ queueWork(rootToken: string, key: string, value: string): Promise<{
211
+ ok: boolean;
212
+ content: any;
213
+ }>;
214
+ dequeueWork(rootToken: string, key: string): Promise<{
215
+ ok: boolean;
216
+ content: any;
217
+ }>;
84
218
  create(token: string, repo: string, doc: any): Promise<{
85
219
  ok: boolean;
86
220
  content: any;
@@ -97,7 +231,11 @@ export declare class Backend {
97
231
  ok: boolean;
98
232
  content: any;
99
233
  }>;
100
- query(token: string, repo: string, filters: any, param?: ListParam): Promise<{
234
+ getByIds(token: string, repo: string, ids: string[]): Promise<{
235
+ ok: boolean;
236
+ content: any;
237
+ }>;
238
+ query(token: string, repo: string, filters: Filter[], param?: ListParam): Promise<{
101
239
  ok: boolean;
102
240
  content: any;
103
241
  }>;
@@ -113,11 +251,11 @@ export declare class Backend {
113
251
  ok: boolean;
114
252
  content: any;
115
253
  }>;
116
- deleteBulk(token: string, repo: string, filters: any): Promise<{
254
+ deleteBulk(token: string, repo: string, filters: Filter[]): Promise<{
117
255
  ok: boolean;
118
256
  content: any;
119
257
  }>;
120
- count(token: string, repo: string, filters: any): Promise<{
258
+ count(token: string, repo: string, filters: Filter[]): Promise<{
121
259
  ok: boolean;
122
260
  content: any;
123
261
  }>;
@@ -129,15 +267,47 @@ export declare class Backend {
129
267
  ok: boolean;
130
268
  content: any;
131
269
  }>;
270
+ sudoCreate(rootToken: string, repo: string, doc: any): Promise<{
271
+ ok: boolean;
272
+ content: any;
273
+ }>;
274
+ sudoCreateBulk(rootToken: string, repo: string, docs: Array<any>): Promise<{
275
+ ok: boolean;
276
+ content: any;
277
+ }>;
132
278
  sudoGetById(rootToken: string, repo: string, id: string): Promise<{
133
279
  ok: boolean;
134
280
  content: any;
135
281
  }>;
282
+ sudoGetByIds(token: string, repo: string, ids: string[]): Promise<{
283
+ ok: boolean;
284
+ content: any;
285
+ }>;
136
286
  sudoUpdate(rootToken: string, repo: string, id: string, doc: any): Promise<{
137
287
  ok: boolean;
138
288
  content: any;
139
289
  }>;
140
- sudoQuery(rootToken: string, repo: string, filters: any, param?: ListParam): Promise<{
290
+ sudoUpdateBulk(rootToken: string, repo: string, data: BulkUpdate): Promise<{
291
+ ok: boolean;
292
+ content: any;
293
+ }>;
294
+ sudoQuery(rootToken: string, repo: string, filters: Filter[], param?: ListParam): Promise<{
295
+ ok: boolean;
296
+ content: any;
297
+ }>;
298
+ sudoFind(rootToken: string, repo: string, filters: Filter[], param?: ListParam): Promise<{
299
+ ok: boolean;
300
+ content: any;
301
+ }>;
302
+ sudoDelete(rootToken: string, repo: string, id: string): Promise<{
303
+ ok: boolean;
304
+ content: any;
305
+ }>;
306
+ sudoDeleteBulk(rootToken: string, repo: string, filters: Filter[]): Promise<{
307
+ ok: boolean;
308
+ content: any;
309
+ }>;
310
+ sudoListRepositories(rootToken: string): Promise<{
141
311
  ok: boolean;
142
312
  content: any;
143
313
  }>;
@@ -145,15 +315,23 @@ export declare class Backend {
145
315
  ok: boolean;
146
316
  content: any;
147
317
  }>;
148
- sudoAddIndex(rootToken: string, repo: string, field: string): Promise<{
318
+ sudoAddIndex(rootToken: string, repo: string, field: string, type?: "text" | "number" | "boolean" | "date"): Promise<{
149
319
  ok: boolean;
150
320
  content: any;
151
321
  }>;
152
- storeFile(token: string, buf: ArrayBuffer): Promise<{
322
+ storeFile(token: string, buf: Buffer | ArrayBuffer, name?: string): Promise<{
153
323
  ok: boolean;
154
324
  content: any;
155
325
  }>;
156
- deleteFile(token: string, id: string): Promise<{
326
+ storageUsage(token: string): Promise<{
327
+ ok: boolean;
328
+ content: any;
329
+ }>;
330
+ listFiles(token: string, param?: StorageListParam): Promise<{
331
+ ok: boolean;
332
+ content: any;
333
+ }>;
334
+ deleteFile(rootToken: string, id: string): Promise<{
157
335
  ok: boolean;
158
336
  content: any;
159
337
  }>;
@@ -161,6 +339,10 @@ export declare class Backend {
161
339
  ok: boolean;
162
340
  content: any;
163
341
  }>;
342
+ sendMailWithAttachments(rootToken: string, data: EmailData): Promise<{
343
+ ok: boolean;
344
+ content: any;
345
+ }>;
164
346
  resizeImage(token: string, maxWidth: number, buf: ArrayBuffer): Promise<{
165
347
  ok: boolean;
166
348
  content: any;
@@ -177,5 +359,39 @@ export declare class Backend {
177
359
  ok: boolean;
178
360
  content: any;
179
361
  }>;
362
+ listForm(rootToken: string, name?: string): Promise<{
363
+ ok: boolean;
364
+ content: any;
365
+ }>;
366
+ addFunction(rootToken: string, fn: FunctionData): Promise<{
367
+ ok: boolean;
368
+ content: any;
369
+ }>;
370
+ listFunctions(rootToken: string): Promise<{
371
+ ok: boolean;
372
+ content: any;
373
+ }>;
374
+ updateFunction(rootToken: string, fn: FunctionData): Promise<{
375
+ ok: boolean;
376
+ content: any;
377
+ }>;
378
+ deleteFunction(rootToken: string, name: string): Promise<{
379
+ ok: boolean;
380
+ content: any;
381
+ }>;
382
+ functionInfo(rootToken: string, name: string): Promise<{
383
+ ok: boolean;
384
+ content: any;
385
+ }>;
386
+ execFunction(token: string, name: string, data?: any): Promise<{
387
+ ok: boolean;
388
+ content: any;
389
+ }>;
390
+ sudoExecFunction(rootToken: string, name: string, data?: any): Promise<{
391
+ ok: boolean;
392
+ content: any;
393
+ }>;
180
394
  private listParamToQuerystring;
395
+ private storageListParamToQuerystring;
181
396
  }
397
+ //# sourceMappingURL=backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAE5E,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AAE7C,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,OAAO,CAA2C;IAC1D,OAAO,CAAC,MAAM,CAAc;gBAEhB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;YAezB,MAAM;YAqDN,GAAG;IAIX,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;IAKtD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;IAKnD,WAAW,CAAC,KAAK,EAAE,MAAM;;;;IAKzB,gBAAgB,CAAC,IAAI,EAAE,aAAa;;;;IAIpC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;IAK9C,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;;;;IAMX,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAMrD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;IAK1D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;IAQjD,wBAAwB,CAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM;;;;IAWV,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAUpE,EAAE,CAAC,KAAK,EAAE,MAAM;;;;IAIhB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAIxC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;;;;IAKtE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;IAKtD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAIxC,KAAK,CAAC,KAAK,EAAE,MAAM;;;;IAInB,gBAAgB,CAAC,KAAK,EAAE,MAAM;;;;IAI9B,WAAW,CAAC,KAAK,EAAE,MAAM;;;;IAIzB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAKpD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;;;;IAKvC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;;;;IAKnD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAKvD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;;;;IAK1C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAA;;;;IAIvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;;;;IAIxD,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS;;;;IAKnD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAI/C,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;;;;IAInD,KAAK,CACT,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,CAAC,EAAE,SAAS;;;;IAMb,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAA;;;;IAInD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;;;;IAIxD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAI9C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;;;;IAKzD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;;;;IAIpD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;IAKpD,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS;;;;IAK3D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAA;;;;IAI/C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;;;;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAIvD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE;;;;IAIvD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,KAAA;;;;IAI3D,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;;;;IAIhE,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,CAAC,EAAE,SAAS;;;;IAWb,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,CAAC,EAAE,SAAS;;;;IAKb,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAItD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;;;;IAKjE,oBAAoB,CAAC,SAAS,EAAE,MAAM;;;;IAItC,QAAQ,CACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM;;;;IAML,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM;;;;IAUzC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM;;;;IAcjE,YAAY,CAAC,KAAK,EAAE,MAAM;;;;IAI1B,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,gBAAgB;;;;IAKjD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;;IAKxC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;;;;IAI3C,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;;;;IAI1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW;;;;IAY7D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW;;;;IAI9C,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;;;;IAS/D,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;;;;IAI5C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;;;;IASzC,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY;;;;IAI/C,aAAa,CAAC,SAAS,EAAE,MAAM;;;;IAI/B,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY;;;;IAIlD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;IAQ9C,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;IAQ5C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;;;;IASpD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;;;;IASlE,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,6BAA6B;CActC"}
package/dist/backend.js CHANGED
@@ -8,13 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.Backend = void 0;
13
- const fetch = require("node-fetch");
14
- const formData = require("form-data");
16
+ const node_fetch_1 = __importDefault(require("node-fetch"));
17
+ const form_data_1 = __importDefault(require("form-data"));
15
18
  class Backend {
16
19
  constructor(key, region) {
17
- this.baseURL = "https://na1.staticbackend.com";
20
+ this.baseURL = "https://na1.staticbackend.dev";
18
21
  this.pubKey = "";
19
22
  this.pubKey = key;
20
23
  if (region) {
@@ -26,7 +29,7 @@ class Backend {
26
29
  this.baseURL = region;
27
30
  }
28
31
  else {
29
- this.baseURL = `https://${region}.staticbackend.com`;
32
+ this.baseURL = `https://${region}.staticbackend.dev`;
30
33
  }
31
34
  }
32
35
  }
@@ -38,13 +41,15 @@ class Backend {
38
41
  rawBody = ct == "application/json" ? JSON.stringify(body) : body;
39
42
  }
40
43
  let headers = {
41
- "Content-Type": ct,
42
44
  "SB-PUBLIC-KEY": this.pubKey,
43
45
  };
46
+ if (ct) {
47
+ headers["Content-Type"] = ct;
48
+ }
44
49
  if (token) {
45
50
  headers["Authorization"] = `Bearer ${token}`;
46
51
  }
47
- const resp = yield fetch(`${this.baseURL}${path}`, {
52
+ const resp = yield (0, node_fetch_1.default)(`${this.baseURL}${path}`, {
48
53
  method: method,
49
54
  headers: headers,
50
55
  body: rawBody,
@@ -54,7 +59,14 @@ class Backend {
54
59
  content = yield resp.text();
55
60
  return { ok: false, content: content };
56
61
  }
57
- content = yield resp.json();
62
+ const text = yield resp.text();
63
+ if (!text) {
64
+ return { ok: true, content: true };
65
+ }
66
+ const contentType = resp.headers.get("content-type") || "";
67
+ content = contentType.includes("application/json")
68
+ ? JSON.parse(text)
69
+ : text;
58
70
  return { ok: true, content: content };
59
71
  }
60
72
  catch (err) {
@@ -68,18 +80,35 @@ class Backend {
68
80
  return yield this.rawreq("application/json", token, method, path, body);
69
81
  });
70
82
  }
71
- register(email, pw) {
83
+ register(email, pw, accountId) {
72
84
  return __awaiter(this, void 0, void 0, function* () {
73
- const body = { email: email, password: pw };
85
+ const body = { email: email, password: pw, accountId: accountId };
74
86
  return yield this.req("", "POST", "/register", body);
75
87
  });
76
88
  }
77
- login(email, pw) {
89
+ login(email, pw, accountId) {
78
90
  return __awaiter(this, void 0, void 0, function* () {
79
- const body = { email: email, password: pw };
91
+ const body = { email: email, password: pw, accountId: accountId };
80
92
  return yield this.req("", "POST", "/login", body);
81
93
  });
82
94
  }
95
+ emailExists(email) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const qs = new URLSearchParams({ e: email });
98
+ return yield this.req("", "GET", `/email?${qs.toString()}`);
99
+ });
100
+ }
101
+ requestMagicLink(data) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ return yield this.req("", "POST", "/login/magic", data);
104
+ });
105
+ }
106
+ loginWithMagicLink(email, code) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ const qs = new URLSearchParams({ email: email, code: code });
109
+ return yield this.req("", "GET", `/login/magic?${qs.toString()}`);
110
+ });
111
+ }
83
112
  changePassword(token, email, oldPass, newPass) {
84
113
  return __awaiter(this, void 0, void 0, function* () {
85
114
  const body = { email: email, oldPassword: oldPass, newPassword: newPass };
@@ -88,7 +117,8 @@ class Backend {
88
117
  }
89
118
  getPasswordResetCode(rootToken, email) {
90
119
  return __awaiter(this, void 0, void 0, function* () {
91
- const path = `/password/resetcode?${encodeURIComponent(email)}`;
120
+ const qs = new URLSearchParams({ e: email });
121
+ const path = `/password/resetcode?${qs.toString()}`;
92
122
  return yield this.req(rootToken, "GET", path);
93
123
  });
94
124
  }
@@ -100,7 +130,17 @@ class Backend {
100
130
  }
101
131
  sudoGetToken(rootToken, accountId) {
102
132
  return __awaiter(this, void 0, void 0, function* () {
103
- return yield this.req(rootToken, "GET", `/sudogettoken/${accountId}`);
133
+ return yield this.req(rootToken, "GET", `/sudogettoken/${encodeURIComponent(accountId)}`);
134
+ });
135
+ }
136
+ sudoGetAuthTokenByUserID(rootToken, accountId, userId) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ return yield this.req(rootToken, "GET", `/sudogetauthtokenbyuserid/${encodeURIComponent(accountId)}/${encodeURIComponent(userId)}`);
139
+ });
140
+ }
141
+ sudoGetUserByID(rootToken, accountId, userId) {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ return yield this.req(rootToken, "GET", `/sudogetuserbyid/${encodeURIComponent(accountId)}/${encodeURIComponent(userId)}`);
104
144
  });
105
145
  }
106
146
  me(token) {
@@ -108,6 +148,17 @@ class Backend {
108
148
  return yield this.req(token, "GET", "/me");
109
149
  });
110
150
  }
151
+ changeEmail(token, email) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ return yield this.req(token, "POST", "/me/email", { email: email });
154
+ });
155
+ }
156
+ setRole(token, email, role, accountId) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ const body = { email: email, role: role, accountId: accountId };
159
+ return yield this.req(token, "POST", "/setrole", body);
160
+ });
161
+ }
111
162
  addUser(token, email, password) {
112
163
  return __awaiter(this, void 0, void 0, function* () {
113
164
  const body = { email: email, password: password };
@@ -124,9 +175,26 @@ class Backend {
124
175
  return yield this.req(token, "GET", "/account/users");
125
176
  });
126
177
  }
178
+ listAssociations(token) {
179
+ return __awaiter(this, void 0, void 0, function* () {
180
+ return yield this.req(token, "GET", "/account/associations");
181
+ });
182
+ }
183
+ promoteUser(token) {
184
+ return __awaiter(this, void 0, void 0, function* () {
185
+ return yield this.req(token, "POST", "/account/promote");
186
+ });
187
+ }
188
+ sudoGetUserAccounts(rootToken, email) {
189
+ return __awaiter(this, void 0, void 0, function* () {
190
+ const qs = new URLSearchParams({ email: email });
191
+ return yield this.req(rootToken, "GET", `/account/user-accounts?${qs}`);
192
+ });
193
+ }
127
194
  cacheGet(rootToken, key) {
128
195
  return __awaiter(this, void 0, void 0, function* () {
129
- return yield this.req(rootToken, "GET", `/sudo/cache?key=${key}`);
196
+ const qs = new URLSearchParams({ key: key });
197
+ return yield this.req(rootToken, "GET", `/sudo/cache?${qs}`);
130
198
  });
131
199
  }
132
200
  cacheSet(rootToken, key, value) {
@@ -135,6 +203,18 @@ class Backend {
135
203
  return yield this.req(rootToken, "POST", "/sudo/cache", body);
136
204
  });
137
205
  }
206
+ queueWork(rootToken, key, value) {
207
+ return __awaiter(this, void 0, void 0, function* () {
208
+ const body = { key: key, value: value, type: "queue" };
209
+ return yield this.req(rootToken, "POST", "/sudo/cache", body);
210
+ });
211
+ }
212
+ dequeueWork(rootToken, key) {
213
+ return __awaiter(this, void 0, void 0, function* () {
214
+ const qs = new URLSearchParams({ type: "queue", key: key });
215
+ return yield this.req(rootToken, "GET", `/sudo/cache?${qs}`);
216
+ });
217
+ }
138
218
  create(token, repo, doc) {
139
219
  return __awaiter(this, void 0, void 0, function* () {
140
220
  return yield this.req(token, "POST", `/db/${repo}`, doc);
@@ -156,6 +236,11 @@ class Backend {
156
236
  return yield this.req(token, "GET", `/db/${repo}/${id}`);
157
237
  });
158
238
  }
239
+ getByIds(token, repo, ids) {
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ return yield this.req(token, "POST", `/db/${repo}?ids=true`, ids);
242
+ });
243
+ }
159
244
  query(token, repo, filters, param) {
160
245
  return __awaiter(this, void 0, void 0, function* () {
161
246
  const qs = this.listParamToQuerystring(param);
@@ -200,48 +285,108 @@ class Backend {
200
285
  return yield this.req(rootToken, "GET", `/sudo/${repo}${qs}`);
201
286
  });
202
287
  }
288
+ sudoCreate(rootToken, repo, doc) {
289
+ return __awaiter(this, void 0, void 0, function* () {
290
+ return yield this.req(rootToken, "POST", `/sudo/${repo}`, doc);
291
+ });
292
+ }
293
+ sudoCreateBulk(rootToken, repo, docs) {
294
+ return __awaiter(this, void 0, void 0, function* () {
295
+ return yield this.req(rootToken, "POST", `/sudo/${repo}?bulk=1`, docs);
296
+ });
297
+ }
203
298
  sudoGetById(rootToken, repo, id) {
204
299
  return __awaiter(this, void 0, void 0, function* () {
205
300
  return yield this.req(rootToken, "GET", `/sudo/${repo}/${id}`);
206
301
  });
207
302
  }
303
+ sudoGetByIds(token, repo, ids) {
304
+ return __awaiter(this, void 0, void 0, function* () {
305
+ return yield this.req(token, "POST", `/sudo/${repo}?ids=true`, ids);
306
+ });
307
+ }
208
308
  sudoUpdate(rootToken, repo, id, doc) {
209
309
  return __awaiter(this, void 0, void 0, function* () {
210
310
  return yield this.req(rootToken, "PUT", `/sudo/${repo}/${id}`, doc);
211
311
  });
212
312
  }
313
+ sudoUpdateBulk(rootToken, repo, data) {
314
+ return __awaiter(this, void 0, void 0, function* () {
315
+ return yield this.req(rootToken, "PUT", `/sudo/${repo}?bulk=1`, data);
316
+ });
317
+ }
213
318
  sudoQuery(rootToken, repo, filters, param) {
214
319
  return __awaiter(this, void 0, void 0, function* () {
215
320
  const qs = this.listParamToQuerystring(param);
216
321
  return yield this.req(rootToken, "POST", `/sudoquery/${repo}${qs}`, filters);
217
322
  });
218
323
  }
324
+ sudoFind(rootToken, repo, filters, param) {
325
+ return __awaiter(this, void 0, void 0, function* () {
326
+ return yield this.sudoQuery(rootToken, repo, filters, param);
327
+ });
328
+ }
329
+ sudoDelete(rootToken, repo, id) {
330
+ return __awaiter(this, void 0, void 0, function* () {
331
+ return yield this.req(rootToken, "DELETE", `/sudo/${repo}/${id}`);
332
+ });
333
+ }
334
+ sudoDeleteBulk(rootToken, repo, filters) {
335
+ return __awaiter(this, void 0, void 0, function* () {
336
+ const x = Buffer.from(JSON.stringify(filters)).toString("base64");
337
+ return yield this.req(rootToken, "DELETE", `/sudo/${repo}?bulk=1&x=${x}`);
338
+ });
339
+ }
340
+ sudoListRepositories(rootToken) {
341
+ return __awaiter(this, void 0, void 0, function* () {
342
+ return yield this.req(rootToken, "GET", "/sudolistall");
343
+ });
344
+ }
219
345
  increase(token, repo, id, field, n) {
220
346
  return __awaiter(this, void 0, void 0, function* () {
221
347
  const body = { field: field, range: n };
222
348
  return yield this.req(token, "PUT", `/inc/${repo}/${id}`, body);
223
349
  });
224
350
  }
225
- sudoAddIndex(rootToken, repo, field) {
351
+ sudoAddIndex(rootToken, repo, field, type) {
226
352
  return __awaiter(this, void 0, void 0, function* () {
227
- const qs = `?col=${repo}&field=${field}`;
353
+ const params = { col: repo, field: field };
354
+ if (type) {
355
+ params.type = type;
356
+ }
357
+ const qs = `?${new URLSearchParams(params)}`;
228
358
  return yield this.req(rootToken, "POST", `/sudo/index${qs}`, null);
229
359
  });
230
360
  }
231
- storeFile(token, buf) {
361
+ storeFile(token, buf, name) {
232
362
  return __awaiter(this, void 0, void 0, function* () {
233
- let fd = new formData();
363
+ let fd = new form_data_1.default();
234
364
  fd.append("file", buf, {
235
365
  contentType: "application/octect-stream",
236
366
  filename: "file-upload",
237
367
  });
368
+ if (name) {
369
+ fd.append("name", name);
370
+ }
238
371
  const ct = `multipart/form-data; boundary=${fd.getBoundary()}`;
239
372
  return yield this.rawreq(ct, token, "POST", "/storage/upload", fd);
240
373
  });
241
374
  }
242
- deleteFile(token, id) {
375
+ storageUsage(token) {
243
376
  return __awaiter(this, void 0, void 0, function* () {
244
- return yield this.req(token, "GET", `/sudostorage/delete?id=${id}`);
377
+ return yield this.req(token, "GET", "/storage/usage");
378
+ });
379
+ }
380
+ listFiles(token, param) {
381
+ return __awaiter(this, void 0, void 0, function* () {
382
+ const qs = this.storageListParamToQuerystring(param);
383
+ return yield this.req(token, "GET", `/storage/files${qs}`);
384
+ });
385
+ }
386
+ deleteFile(rootToken, id) {
387
+ return __awaiter(this, void 0, void 0, function* () {
388
+ const qs = new URLSearchParams({ id: id });
389
+ return yield this.req(rootToken, "GET", `/sudostorage/delete?${qs}`);
245
390
  });
246
391
  }
247
392
  sendMail(rootToken, data) {
@@ -249,9 +394,14 @@ class Backend {
249
394
  return yield this.req(rootToken, "POST", "/sudo/sendmail", data);
250
395
  });
251
396
  }
397
+ sendMailWithAttachments(rootToken, data) {
398
+ return __awaiter(this, void 0, void 0, function* () {
399
+ return yield this.sendMail(rootToken, data);
400
+ });
401
+ }
252
402
  resizeImage(token, maxWidth, buf) {
253
403
  return __awaiter(this, void 0, void 0, function* () {
254
- let fd = new formData();
404
+ let fd = new form_data_1.default();
255
405
  fd.append("file", buf, {
256
406
  contentType: "application/octect-stream",
257
407
  filename: "file-upload",
@@ -271,9 +421,9 @@ class Backend {
271
421
  const payload = {
272
422
  channel: channel,
273
423
  type: type,
274
- data: data,
424
+ data: typeof data == "string" ? data : JSON.stringify(data),
275
425
  };
276
- return yield this.req(token, "POST", "/publish", payload);
426
+ return yield this.req(token, "POST", "/publish-message", payload);
277
427
  });
278
428
  }
279
429
  sudoSendSMS(rootToken, data) {
@@ -281,15 +431,82 @@ class Backend {
281
431
  return yield this.req(rootToken, "POST", "/extra/sms", data);
282
432
  });
283
433
  }
284
- listParamToQuerystring(param) {
285
- var qs = "";
286
- if (param) {
287
- qs = `?page=${param.page}&size=${param.size}`;
288
- if (param.descending) {
289
- qs += "&desc=true";
434
+ listForm(rootToken, name) {
435
+ return __awaiter(this, void 0, void 0, function* () {
436
+ const qs = new URLSearchParams();
437
+ if (name) {
438
+ qs.set("name", name);
290
439
  }
440
+ const query = qs.toString();
441
+ return yield this.req(rootToken, "GET", `/form${query ? `?${query}` : ""}`);
442
+ });
443
+ }
444
+ addFunction(rootToken, fn) {
445
+ return __awaiter(this, void 0, void 0, function* () {
446
+ return yield this.req(rootToken, "POST", "/fn/add", fn);
447
+ });
448
+ }
449
+ listFunctions(rootToken) {
450
+ return __awaiter(this, void 0, void 0, function* () {
451
+ return yield this.req(rootToken, "GET", "/fn");
452
+ });
453
+ }
454
+ updateFunction(rootToken, fn) {
455
+ return __awaiter(this, void 0, void 0, function* () {
456
+ return yield this.req(rootToken, "POST", "/fn/update", fn);
457
+ });
458
+ }
459
+ deleteFunction(rootToken, name) {
460
+ return __awaiter(this, void 0, void 0, function* () {
461
+ return yield this.req(rootToken, "GET", `/fn/del/${encodeURIComponent(name)}`);
462
+ });
463
+ }
464
+ functionInfo(rootToken, name) {
465
+ return __awaiter(this, void 0, void 0, function* () {
466
+ return yield this.req(rootToken, "GET", `/fn/info/${encodeURIComponent(name)}`);
467
+ });
468
+ }
469
+ execFunction(token, name, data) {
470
+ return __awaiter(this, void 0, void 0, function* () {
471
+ return yield this.req(token, "POST", `/fn/exec/${encodeURIComponent(name)}`, data);
472
+ });
473
+ }
474
+ sudoExecFunction(rootToken, name, data) {
475
+ return __awaiter(this, void 0, void 0, function* () {
476
+ return yield this.req(rootToken, "POST", `/fn/sudoexec/${encodeURIComponent(name)}`, data);
477
+ });
478
+ }
479
+ listParamToQuerystring(param) {
480
+ const qs = new URLSearchParams();
481
+ if (!param) {
482
+ return "";
483
+ }
484
+ if (param.page && param.page > 0) {
485
+ qs.set("page", param.page.toString());
486
+ }
487
+ if (param.size && param.size > 0) {
488
+ qs.set("size", param.size.toString());
489
+ }
490
+ if (param.descending || param.desc) {
491
+ qs.set("desc", "true");
492
+ }
493
+ const query = qs.toString();
494
+ return query ? `?${query}` : "";
495
+ }
496
+ storageListParamToQuerystring(param) {
497
+ const qs = new URLSearchParams();
498
+ if (!param) {
499
+ return "";
500
+ }
501
+ if (param.page && param.page > 0) {
502
+ qs.set("page", param.page.toString());
503
+ }
504
+ if (param.sort) {
505
+ qs.set("sort", param.sort);
291
506
  }
292
- return qs;
507
+ const query = qs.toString();
508
+ return query ? `?${query}` : "";
293
509
  }
294
510
  }
295
511
  exports.Backend = Backend;
512
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAA+B;AAC/B,0DAAiC;AAwIjC,MAAa,OAAO;IAIlB,YAAY,GAAW,EAAE,MAAc;QAH/B,YAAO,GAAW,+BAA+B,CAAC;QAClD,WAAM,GAAW,EAAE,CAAC;QAG1B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAElB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,uBAAuB,CAAC;YACzC,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,2BAA2B;gBAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,OAAO,GAAG,WAAW,MAAM,oBAAoB,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAEa,MAAM,CAClB,EAAU,EACV,KAAa,EACb,MAAc,EACd,IAAY,EACZ,IAAU;;YAEV,IAAI,CAAC;gBACH,IAAI,OAAO,GAAG,IAAI,CAAC;gBACnB,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,GAAG,EAAE,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,CAAC;gBAED,IAAI,OAAO,GAA2B;oBACpC,eAAe,EAAE,IAAI,CAAC,MAAM;iBAC7B,CAAC;gBAEF,IAAI,EAAE,EAAE,CAAC;oBACP,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;gBAC/B,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;gBAC/C,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;oBACjD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,OAAO;iBACd,CAAC,CAAC;gBAEH,IAAI,OAAO,GAAQ,IAAI,CAAC;gBACxB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBACtB,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;gBACzC,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACrC,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC3D,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;oBAChD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClB,CAAC,CAAC,IAAI,CAAC;gBACT,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;YACrC,CAAC;QACH,CAAC;KAAA;IAEa,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY,EAAE,IAAU;;YACvE,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAa,EAAE,EAAU,EAAE,SAAkB;;YAC1D,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YAClE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;KAAA;IAEK,KAAK,CAAC,KAAa,EAAE,EAAU,EAAE,SAAkB;;YACvD,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YAClE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa;;YAC7B,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;KAAA;IAEK,gBAAgB,CAAC,IAAmB;;YACxC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,kBAAkB,CAAC,KAAa,EAAE,IAAY;;YAClD,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,cAAc,CAClB,KAAa,EACb,KAAa,EACb,OAAe,EACf,OAAe;;YAEf,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YAC1E,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,oBAAoB,CAAC,SAAiB,EAAE,KAAa;;YACzD,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,uBAAuB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,aAAa,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe;;YAC9D,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC7D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,YAAY,CAAC,SAAiB,EAAE,SAAiB;;YACrD,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,KAAK,EACL,iBAAiB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CACjD,CAAC;QACJ,CAAC;KAAA;IAEK,wBAAwB,CAC5B,SAAiB,EACjB,SAAiB,EACjB,MAAc;;YAEd,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,KAAK,EACL,6BAA6B,kBAAkB,CAC7C,SAAS,CACV,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAClC,CAAC;QACJ,CAAC;KAAA;IAEK,eAAe,CAAC,SAAiB,EAAE,SAAiB,EAAE,MAAc;;YACxE,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,KAAK,EACL,oBAAoB,kBAAkB,CAAC,SAAS,CAAC,IAAI,kBAAkB,CACrE,MAAM,CACP,EAAE,CACJ,CAAC;QACJ,CAAC;KAAA;IAEK,EAAE,CAAC,KAAa;;YACpB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa,EAAE,KAAa;;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,IAAY,EAAE,SAAkB;;YAC1E,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;YAChE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa,EAAE,KAAa,EAAE,QAAgB;;YAC1D,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAClD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa,EAAE,MAAc;;YAC5C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,kBAAkB,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,KAAK,CAAC,KAAa;;YACvB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,gBAAgB,CAAC,KAAa;;YAClC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa;;YAC7B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,mBAAmB,CAAC,SAAiB,EAAE,KAAa;;YACxD,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEK,QAAQ,CAAC,SAAiB,EAAE,GAAW;;YAC3C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,QAAQ,CAAC,SAAiB,EAAE,GAAW,EAAE,KAAU;;YACvD,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;KAAA;IAEK,SAAS,CAAC,SAAiB,EAAE,GAAW,EAAE,KAAa;;YAC3D,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,GAAW;;YAC9C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,GAAG;;YAC3C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,IAAgB;;YAC5D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;KAAA;IAEK,IAAI,CAAC,KAAa,EAAE,IAAY,EAAE,KAAiB;;YACvD,MAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU;;YACnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3D,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAa,EAAE,IAAY,EAAE,GAAa;;YACvD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,KAAK,CACT,KAAa,EACb,IAAY,EACZ,OAAiB,EACjB,KAAiB;;YAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,IAAI,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU,EAAE,GAAG;;YACvD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,IAAgB;;YAC5D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,EAAU;;YAClD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;KAAA;IAEK,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,OAAiB;;YAC7D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,KAAK,CAAC,KAAa,EAAE,IAAY,EAAE,OAAiB;;YACxD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,MAAM,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;;YACxD,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;YAC/C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,QAAQ,CAAC,SAAiB,EAAE,IAAY,EAAE,KAAiB;;YAC/D,MAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;KAAA;IAEK,UAAU,CAAC,SAAiB,EAAE,IAAY,EAAE,GAAG;;YACnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,cAAc,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAgB;;YACpE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,IAAY,EAAE,EAAU;;YAC3D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,GAAa;;YAC3D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,WAAW,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,UAAU,CAAC,SAAiB,EAAE,IAAY,EAAE,EAAU,EAAE,GAAG;;YAC/D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,cAAc,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAgB;;YACpE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,SAAS,CACb,SAAiB,EACjB,IAAY,EACZ,OAAiB,EACjB,KAAiB;;YAEjB,MAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC9C,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,MAAM,EACN,cAAc,IAAI,GAAG,EAAE,EAAE,EACzB,OAAO,CACR,CAAC;QACJ,CAAC;KAAA;IAEK,QAAQ,CACZ,SAAiB,EACjB,IAAY,EACZ,OAAiB,EACjB,KAAiB;;YAEjB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,UAAU,CAAC,SAAiB,EAAE,IAAY,EAAE,EAAU;;YAC1D,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,cAAc,CAAC,SAAiB,EAAE,IAAY,EAAE,OAAiB;;YACrE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;KAAA;IAEK,oBAAoB,CAAC,SAAiB;;YAC1C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,QAAQ,CACZ,KAAa,EACb,IAAY,EACZ,EAAU,EACV,KAAa,EACb,CAAS;;YAET,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;KAAA;IAEK,YAAY,CAChB,SAAiB,EACjB,IAAY,EACZ,KAAa,EACb,IAA6C;;YAE7C,MAAM,MAAM,GAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YACnE,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,SAAS,CAAC,KAAa,EAAE,GAAyB,EAAE,IAAa;;YACrE,IAAI,EAAE,GAAG,IAAI,mBAAQ,EAAE,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,WAAW,EAAE,2BAA2B;gBACxC,QAAQ,EAAE,aAAa;aACxB,CAAC,CAAC;YACH,IAAI,IAAI,EAAE,CAAC;gBACT,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YAED,MAAM,EAAE,GAAG,iCAAiC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;KAAA;IAEK,YAAY,CAAC,KAAa;;YAC9B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;QACxD,CAAC;KAAA;IAEK,SAAS,CAAC,KAAa,EAAE,KAAwB;;YACrD,MAAM,EAAE,GAAG,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;YACrD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,UAAU,CAAC,SAAiB,EAAE,EAAU;;YAC5C,MAAM,EAAE,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;KAAA;IAEK,QAAQ,CAAC,SAAiB,EAAE,IAAe;;YAC/C,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;KAAA;IAEK,uBAAuB,CAAC,SAAiB,EAAE,IAAe;;YAC9D,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,WAAW,CAAC,KAAa,EAAE,QAAgB,EAAE,GAAgB;;YACjE,IAAI,EAAE,GAAG,IAAI,mBAAQ,EAAE,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;gBACrB,WAAW,EAAE,2BAA2B;gBACxC,QAAQ,EAAE,aAAa;aACxB,CAAC,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAE7B,MAAM,EAAE,GAAG,iCAAiC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/D,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACtE,CAAC;KAAA;IAEK,aAAa,CAAC,KAAa,EAAE,IAAiB;;YAClD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,OAAO,CAAC,KAAa,EAAE,OAAe,EAAE,IAAY,EAAE,IAAS;;YACnE,MAAM,OAAO,GAAG;gBACd,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,OAAO,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC5D,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,IAAa;;YAChD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;KAAA;IAEK,QAAQ,CAAC,SAAiB,EAAE,IAAa;;YAC7C,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC5B,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;KAAA;IAEK,WAAW,CAAC,SAAiB,EAAE,EAAgB;;YACnD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,aAAa,CAAC,SAAiB;;YACnC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;KAAA;IAEK,cAAc,CAAC,SAAiB,EAAE,EAAgB;;YACtD,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,cAAc,CAAC,SAAiB,EAAE,IAAY;;YAClD,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,KAAK,EACL,WAAW,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAAC,SAAiB,EAAE,IAAY;;YAChD,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,KAAK,EACL,YAAY,kBAAkB,CAAC,IAAI,CAAC,EAAE,CACvC,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,IAAU;;YACxD,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,KAAK,EACL,MAAM,EACN,YAAY,kBAAkB,CAAC,IAAI,CAAC,EAAE,EACtC,IAAI,CACL,CAAC;QACJ,CAAC;KAAA;IAEK,gBAAgB,CAAC,SAAiB,EAAE,IAAY,EAAE,IAAU;;YAChE,OAAO,MAAM,IAAI,CAAC,GAAG,CACnB,SAAS,EACT,MAAM,EACN,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAC1C,IAAI,CACL,CAAC;QACJ,CAAC;KAAA;IAEO,sBAAsB,CAAC,KAAiB;QAC9C,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACnC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,CAAC;IAEO,6BAA6B,CAAC,KAAwB;QAC5D,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,CAAC;CACF;AAhgBD,0BAggBC"}
package/dist/index.d.ts CHANGED
@@ -1 +1,2 @@
1
- export { Backend } from "./backend";
1
+ export { Backend, Operator, Filter, ListParam, BulkUpdate, Attachment, EmailData, ConvertData, SMSData, MagicLinkData, AccountUser, UserAccountEntry, User, UploadedFile, FileUsage, StoredFile, StorageListParam, FileListResult, RunHistory, FunctionData, } from "./backend";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,OAAO,EACP,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -3,3 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Backend = void 0;
4
4
  var backend_1 = require("./backend");
5
5
  Object.defineProperty(exports, "Backend", { enumerable: true, get: function () { return backend_1.Backend; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAqBmB;AApBjB,kGAAA,OAAO,OAAA"}
package/package.json CHANGED
@@ -1,10 +1,19 @@
1
1
  {
2
2
  "name": "@staticbackend/backend",
3
- "version": "1.5.0",
3
+ "version": "1.7.0",
4
4
  "description": "Client library for StaticBackend API",
5
5
  "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ }
12
+ },
6
13
  "scripts": {
7
- "build": "tsc"
14
+ "build": "tsc",
15
+ "test": "jest",
16
+ "test:watch": "jest --watch"
8
17
  },
9
18
  "repository": {
10
19
  "type": "git",
@@ -21,8 +30,12 @@
21
30
  },
22
31
  "homepage": "https://github.com/staticbackendhq/backend-node#readme",
23
32
  "devDependencies": {
24
- "@types/node": "^14.14.13",
25
- "typescript": "^4.4.4"
33
+ "@types/jest": "^29.5.12",
34
+ "@types/node": "^20.11.0",
35
+ "@types/node-fetch": "^2.6.11",
36
+ "jest": "^29.7.0",
37
+ "ts-jest": "^29.1.2",
38
+ "typescript": "^5.3.3"
26
39
  },
27
40
  "dependencies": {
28
41
  "form-data": "^3.0.0",