cocobase 1.1.4 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/core/core.d.ts +239 -2
  2. package/dist/cjs/core/core.d.ts.map +1 -1
  3. package/dist/cjs/core/core.js +272 -23
  4. package/dist/cjs/core/core.js.map +1 -1
  5. package/dist/cjs/core/file.d.ts +27 -1
  6. package/dist/cjs/core/file.d.ts.map +1 -1
  7. package/dist/cjs/core/file.js +24 -2
  8. package/dist/cjs/core/file.js.map +1 -1
  9. package/dist/cjs/core/functions.d.ts +70 -0
  10. package/dist/cjs/core/functions.d.ts.map +1 -1
  11. package/dist/cjs/core/functions.js +55 -0
  12. package/dist/cjs/core/functions.js.map +1 -1
  13. package/dist/cjs/index.d.ts +4 -4
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +10 -10
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/types/types.d.ts +98 -0
  18. package/dist/cjs/types/types.d.ts.map +1 -1
  19. package/dist/cjs/utils/utils.d.ts +2 -2
  20. package/dist/cjs/utils/utils.d.ts.map +1 -1
  21. package/dist/core/core.d.ts +239 -2
  22. package/dist/core/core.d.ts.map +1 -1
  23. package/dist/core/core.js +259 -10
  24. package/dist/core/core.js.map +1 -1
  25. package/dist/core/file.d.ts +27 -1
  26. package/dist/core/file.d.ts.map +1 -1
  27. package/dist/core/file.js +23 -1
  28. package/dist/core/file.js.map +1 -1
  29. package/dist/core/functions.d.ts +70 -0
  30. package/dist/core/functions.d.ts.map +1 -1
  31. package/dist/core/functions.js +55 -0
  32. package/dist/core/functions.js.map +1 -1
  33. package/dist/index.d.ts +4 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +3 -3
  36. package/dist/index.js.map +1 -1
  37. package/dist/types/types.d.ts +98 -0
  38. package/dist/types/types.d.ts.map +1 -1
  39. package/dist/utils/utils.d.ts +2 -2
  40. package/dist/utils/utils.d.ts.map +1 -1
  41. package/package.json +1 -1
@@ -1,16 +1,67 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Cocobase = void 0;
4
- const utils_1 = require("../utils/utils");
5
- const socket_1 = require("../utils/socket");
6
- const functions_1 = require("./functions");
4
+ const utils_js_1 = require("../utils/utils.js");
5
+ const socket_js_1 = require("../utils/socket.js");
6
+ const functions_js_1 = require("./functions.js");
7
+ /**
8
+ * Main Cocobase client for interacting with the Cocobase backend API.
9
+ *
10
+ * Provides methods for:
11
+ * - Document CRUD operations (Create, Read, Update, Delete)
12
+ * - User authentication and management
13
+ * - File uploads
14
+ * - Real-time data synchronization
15
+ * - Cloud functions execution
16
+ * - Batch operations
17
+ * - Advanced querying and aggregations
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * // Initialize the client
22
+ * const db = new Cocobase({
23
+ * apiKey: 'your-api-key',
24
+ * projectId: 'your-project-id'
25
+ * });
26
+ *
27
+ * // Create a document
28
+ * await db.createDocument('users', { name: 'John Doe' });
29
+ *
30
+ * // Query documents
31
+ * const users = await db.listDocuments('users', {
32
+ * filters: { status: 'active' },
33
+ * limit: 10
34
+ * });
35
+ * ```
36
+ */
7
37
  class Cocobase {
38
+ /**
39
+ * Creates a new Cocobase client instance.
40
+ *
41
+ * @param config - Configuration object for the client
42
+ * @param config.apiKey - Your Cocobase API key (required for most operations)
43
+ * @param config.projectId - Your Cocobase project ID (required for cloud functions)
44
+ * @param config.baseURL - Optional custom base URL (defaults to https://api.cocobase.buzz)
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const db = new Cocobase({
49
+ * apiKey: 'your-api-key',
50
+ * projectId: 'your-project-id'
51
+ * });
52
+ * ```
53
+ */
8
54
  constructor(config) {
9
- this.baseURL = config.baseURL ?? utils_1.BASEURL;
55
+ this.baseURL = config.baseURL ?? utils_js_1.BASEURL;
10
56
  this.apiKey = config.apiKey;
11
57
  this.projectId = config.projectId;
12
- this.functions = new functions_1.CloudFunction(config.projectId || "project id required", () => this.token);
58
+ this.functions = new functions_js_1.CloudFunction(config.projectId || "project id required", () => this.token);
13
59
  }
60
+ /**
61
+ * Gets the current authentication token.
62
+ *
63
+ * @returns The current JWT token, or undefined if not authenticated
64
+ */
14
65
  getToken() {
15
66
  return this.token;
16
67
  }
@@ -70,11 +121,40 @@ class Cocobase {
70
121
  return "Check the API documentation and verify your request format";
71
122
  }
72
123
  }
73
- // Fetch a single document
124
+ /**
125
+ * Retrieves a single document by ID from a collection.
126
+ *
127
+ * @template T - The type of the document data
128
+ * @param collection - Name of the collection
129
+ * @param docId - Unique ID of the document
130
+ * @returns Promise resolving to the document with metadata
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const user = await db.getDocument('users', 'user-123');
135
+ * console.log(user.data.name);
136
+ * ```
137
+ */
74
138
  async getDocument(collection, docId) {
75
139
  return this.request("GET", `/collections/${collection}/documents/${docId}`);
76
140
  }
77
- // Create a new document
141
+ /**
142
+ * Creates a new document in a collection.
143
+ *
144
+ * @template T - The type of the document data
145
+ * @param collection - Name of the collection
146
+ * @param data - Document data to store
147
+ * @returns Promise resolving to the created document with metadata
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * const newUser = await db.createDocument('users', {
152
+ * name: 'John Doe',
153
+ * email: 'john@example.com',
154
+ * age: 30
155
+ * });
156
+ * ```
157
+ */
78
158
  async createDocument(collection, data) {
79
159
  return this.request("POST", `/collections/documents?collection=${collection}`, data);
80
160
  }
@@ -138,7 +218,23 @@ class Cocobase {
138
218
  }
139
219
  return res.json();
140
220
  }
141
- // Update a document
221
+ /**
222
+ * Updates an existing document in a collection.
223
+ *
224
+ * @template T - The type of the document data
225
+ * @param collection - Name of the collection
226
+ * @param docId - Unique ID of the document to update
227
+ * @param data - Partial document data to update (only specified fields are updated)
228
+ * @returns Promise resolving to the updated document with metadata
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * await db.updateDocument('users', 'user-123', {
233
+ * age: 31,
234
+ * status: 'active'
235
+ * });
236
+ * ```
237
+ */
142
238
  async updateDocument(collection, docId, data) {
143
239
  return this.request("PATCH", `/collections/${collection}/documents/${docId}`, data);
144
240
  }
@@ -199,19 +295,65 @@ class Cocobase {
199
295
  }
200
296
  return res.json();
201
297
  }
202
- // Delete a document
298
+ /**
299
+ * Deletes a document from a collection.
300
+ *
301
+ * @param collection - Name of the collection
302
+ * @param docId - Unique ID of the document to delete
303
+ * @returns Promise resolving to a success status object
304
+ *
305
+ * @example
306
+ * ```typescript
307
+ * await db.deleteDocument('users', 'user-123');
308
+ * ```
309
+ */
203
310
  async deleteDocument(collection, docId) {
204
311
  return this.request("DELETE", `/collections/${collection}/documents/${docId}`);
205
312
  }
206
- // List documents
313
+ /**
314
+ * Lists documents from a collection with optional filtering and pagination.
315
+ *
316
+ * @template T - The type of the document data
317
+ * @param collection - Name of the collection
318
+ * @param query - Optional query parameters for filtering, sorting, and pagination
319
+ * @returns Promise resolving to an array of documents
320
+ *
321
+ * @example
322
+ * ```typescript
323
+ * // Simple query
324
+ * const users = await db.listDocuments('users', {
325
+ * filters: { status: 'active' },
326
+ * limit: 10
327
+ * });
328
+ *
329
+ * // Advanced query with sorting
330
+ * const posts = await db.listDocuments('posts', {
331
+ * filters: { published: true },
332
+ * sort: 'createdAt',
333
+ * order: 'desc',
334
+ * limit: 20
335
+ * });
336
+ * ```
337
+ */
207
338
  async listDocuments(collection, query) {
208
- const query_str = (0, utils_1.buildFilterQuery)(query);
339
+ const query_str = (0, utils_js_1.buildFilterQuery)(query);
209
340
  return this.request("GET", `/collections/${collection}/documents${query_str ? `?${query_str}` : ""}`);
210
341
  }
211
- // authentication features
342
+ /**
343
+ * Initializes authentication by restoring the session from local storage.
344
+ * Call this method when your application loads to restore user sessions.
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * await db.initAuth();
349
+ * if (db.isAuthenticated()) {
350
+ * console.log('User is logged in:', db.user);
351
+ * }
352
+ * ```
353
+ */
212
354
  async initAuth() {
213
- const token = (0, utils_1.getFromLocalStorage)("cocobase-token");
214
- const user = (0, utils_1.getFromLocalStorage)("cocobase-user");
355
+ const token = (0, utils_js_1.getFromLocalStorage)("cocobase-token");
356
+ const user = (0, utils_js_1.getFromLocalStorage)("cocobase-user");
215
357
  if (token) {
216
358
  this.token = token;
217
359
  if (user) {
@@ -226,17 +368,51 @@ class Cocobase {
226
368
  this.token = undefined;
227
369
  }
228
370
  }
371
+ /**
372
+ * Sets the authentication token and stores it in local storage.
373
+ *
374
+ * @param token - JWT authentication token
375
+ */
229
376
  setToken(token) {
230
377
  this.token = token;
231
- (0, utils_1.setToLocalStorage)("cocobase-token", token);
378
+ (0, utils_js_1.setToLocalStorage)("cocobase-token", token);
232
379
  }
380
+ /**
381
+ * Authenticates a user with email and password.
382
+ *
383
+ * @param email - User's email address
384
+ * @param password - User's password
385
+ * @returns Promise that resolves when login is complete
386
+ *
387
+ * @example
388
+ * ```typescript
389
+ * await db.login('user@example.com', 'password123');
390
+ * console.log('Logged in as:', db.user.email);
391
+ * ```
392
+ */
233
393
  async login(email, password) {
234
394
  const response = this.request(`POST`, `/auth-collections/login`, { email, password }, false // Do not use data key for auth endpoints
235
395
  );
236
396
  this.token = (await response).access_token;
237
397
  this.setToken(this.token);
238
- this.user = await this.getCurrentUser();
398
+ await this.getCurrentUser();
239
399
  }
400
+ /**
401
+ * Registers a new user with email, password, and optional additional data.
402
+ *
403
+ * @param email - User's email address
404
+ * @param password - User's password
405
+ * @param data - Optional additional user data
406
+ * @returns Promise that resolves when registration is complete
407
+ *
408
+ * @example
409
+ * ```typescript
410
+ * await db.register('user@example.com', 'password123', {
411
+ * username: 'johndoe',
412
+ * fullName: 'John Doe'
413
+ * });
414
+ * ```
415
+ */
240
416
  async register(email, password, data) {
241
417
  const response = this.request(`POST`, `/auth-collections/signup`, { email, password, data }, false // Do not use data key for auth endpoints
242
418
  );
@@ -244,6 +420,39 @@ class Cocobase {
244
420
  this.setToken(this.token);
245
421
  await this.getCurrentUser();
246
422
  }
423
+ /**
424
+ * Initiates Google OAuth login flow.
425
+ *
426
+ * @returns Promise resolving to an object with the Google OAuth URL
427
+ *
428
+ * @example
429
+ * ```typescript
430
+ * const { url } = await db.loginWithGoogle();
431
+ * window.location.href = url; // Redirect to Google login
432
+ * ```
433
+ */
434
+ async loginWithGoogle() {
435
+ return (await this.request(`GET`, "/auth-collections/login-google"));
436
+ }
437
+ /**
438
+ * Completes the Google OAuth login flow after redirect.
439
+ *
440
+ * @param token - JWT token received from OAuth callback
441
+ * @returns Promise that resolves when login is complete
442
+ *
443
+ * @example
444
+ * ```typescript
445
+ * // After Google redirects back to your app with a token
446
+ * const token = new URLSearchParams(window.location.search).get('token');
447
+ * if (token) {
448
+ * await db.completeGoogleLogin(token);
449
+ * }
450
+ * ```
451
+ */
452
+ async completeGoogleLogin(token) {
453
+ this.setToken(token);
454
+ await this.getCurrentUser();
455
+ }
247
456
  /**
248
457
  * Register a new user with file uploads (avatar, cover photo, etc.)
249
458
  *
@@ -304,7 +513,7 @@ class Cocobase {
304
513
  this.token = response.access_token;
305
514
  this.setToken(this.token);
306
515
  this.user = response.user;
307
- (0, utils_1.setToLocalStorage)("cocobase-user", JSON.stringify(response.user));
516
+ (0, utils_js_1.setToLocalStorage)("cocobase-user", JSON.stringify(response.user));
308
517
  return response.user;
309
518
  }
310
519
  logout() {
@@ -322,7 +531,7 @@ class Cocobase {
322
531
  throw new Error("Failed to fetch current user");
323
532
  }
324
533
  this.user = user;
325
- (0, utils_1.setToLocalStorage)("cocobase-user", JSON.stringify(user));
534
+ (0, utils_js_1.setToLocalStorage)("cocobase-user", JSON.stringify(user));
326
535
  return user;
327
536
  }
328
537
  async updateUser(data, email, password) {
@@ -332,14 +541,14 @@ class Cocobase {
332
541
  // Build request body by excluding null or undefined values
333
542
  const body = {};
334
543
  if (data != null)
335
- body.data = (0, utils_1.mergeUserData)(this.user?.data || {}, data);
544
+ body.data = (0, utils_js_1.mergeUserData)(this.user?.data || {}, data);
336
545
  if (email != null)
337
546
  body.email = email;
338
547
  if (password != null)
339
548
  body.password = password;
340
549
  const user = await this.request("PATCH", "/auth-collections/user", body, false);
341
550
  this.user = user;
342
- (0, utils_1.setToLocalStorage)("cocobase-user", JSON.stringify(user));
551
+ (0, utils_js_1.setToLocalStorage)("cocobase-user", JSON.stringify(user));
343
552
  return user;
344
553
  }
345
554
  /**
@@ -382,7 +591,7 @@ class Cocobase {
382
591
  // Build request body by excluding null or undefined values
383
592
  const body = {};
384
593
  if (data != null)
385
- body.data = (0, utils_1.mergeUserData)(this.user?.data || {}, data);
594
+ body.data = (0, utils_js_1.mergeUserData)(this.user?.data || {}, data);
386
595
  if (email != null)
387
596
  body.email = email;
388
597
  if (password != null)
@@ -418,7 +627,7 @@ class Cocobase {
418
627
  }
419
628
  const user = (await res.json());
420
629
  this.user = user;
421
- (0, utils_1.setToLocalStorage)("cocobase-user", JSON.stringify(user));
630
+ (0, utils_js_1.setToLocalStorage)("cocobase-user", JSON.stringify(user));
422
631
  return user;
423
632
  }
424
633
  watchCollection(collection, callback, connectionName, onOpen = () => { }, onError = () => { }) {
@@ -456,7 +665,47 @@ class Cocobase {
456
665
  return this.user.roles.includes(role);
457
666
  }
458
667
  closeConnection(name) {
459
- (0, socket_1.closeConnection)(name);
668
+ (0, socket_js_1.closeConnection)(name);
669
+ }
670
+ // AUTH COLLECTION ROUTES
671
+ listUsers(query) {
672
+ const query_str = (0, utils_js_1.buildFilterQuery)(query);
673
+ return this.request("GET", `/auth-collections/users${query_str ? `?${query_str}` : ""}`);
674
+ }
675
+ getUserById(userId) {
676
+ return this.request("GET", `/auth-collections/users/${userId}`);
677
+ }
678
+ // BATCH OPERATIONS
679
+ async deleteDocuments(collection, docIds) {
680
+ return this.request("POST", `/collections/${collection}/batch/documents/delete`, { document_ids: docIds }, false);
681
+ }
682
+ async createDocuments(collection, documents) {
683
+ return this.request("POST", `/collections/${collection}/batch/documents/create`, { documents }, false);
684
+ }
685
+ /**
686
+ * Batch update documents
687
+ *
688
+ * @param collection - Collection name
689
+ * @param updates - Object mapping document IDs to partial update objects.
690
+ * Example: { "docId1": { fieldA: "value" }, "docId2": { fieldB: 2 } }
691
+ */
692
+ async updateDocuments(collection, updates) {
693
+ return this.request("POST", `/collections/${collection}/batch/documents/update`, { updates }, false);
694
+ }
695
+ /**
696
+ * Count documents matching filters without returning the documents.
697
+ *
698
+ * Example:
699
+ * await db.countDocuments('users', { status: 'active', age_gte: 18 })
700
+ * // returns { count: 42 }
701
+ */
702
+ async countDocuments(collection, query) {
703
+ const query_str = (0, utils_js_1.buildFilterQuery)(query);
704
+ return this.request("GET", `/collections/${collection}/query/documents/count${query_str ? `?${query_str}` : ""}`);
705
+ }
706
+ async aggregateDocuments(collection, params) {
707
+ const query_str = (0, utils_js_1.buildFilterQuery)(params.query);
708
+ return (await this.request("GET", `/collections/${collection}/query/documents/aggregate?field=${params.field}&operation=${params.operation}&${query_str ? `${query_str}` : ""}`));
460
709
  }
461
710
  }
462
711
  exports.Cocobase = Cocobase;
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/core/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/core/core.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,33 @@
1
- import { Cocobase } from "./core";
1
+ import { Cocobase } from "./core.js";
2
+ /**
3
+ * Response from a successful file upload.
4
+ */
2
5
  interface UploadedFile {
6
+ /** Public URL of the uploaded file */
3
7
  url: string;
4
8
  }
9
+ /**
10
+ * Uploads a single file to Cocobase cloud storage.
11
+ *
12
+ * This is a standalone function for uploading files without associating them
13
+ * with a specific document. For document-related file uploads, use methods like
14
+ * `createDocumentWithFiles` or `updateDocumentWithFiles` instead.
15
+ *
16
+ * @param cb - Cocobase client instance
17
+ * @param file - File object to upload
18
+ * @returns Promise resolving to an object containing the file URL
19
+ * @throws Error if the upload fails or API key is missing
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const db = new Cocobase({ apiKey: 'your-key' });
24
+ * const fileInput = document.querySelector('input[type="file"]');
25
+ * const file = fileInput.files[0];
26
+ *
27
+ * const { url } = await uploadFile(db, file);
28
+ * console.log('File uploaded to:', url);
29
+ * ```
30
+ */
5
31
  declare const uploadFile: (cb: Cocobase, file: File) => Promise<UploadedFile>;
6
32
  export { uploadFile };
7
33
  //# sourceMappingURL=file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/core/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,UAAU,YAAY;IACpB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,QAAA,MAAM,UAAU,GAAU,IAAI,QAAQ,EAAE,MAAM,IAAI,0BAejD,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../src/core/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,UAAU,YAAY;IACpB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,QAAA,MAAM,UAAU,GAAU,IAAI,QAAQ,EAAE,MAAM,IAAI,KAAG,OAAO,CAAC,YAAY,CAexE,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,11 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.uploadFile = void 0;
4
- const utils_1 = require("../utils/utils");
4
+ const utils_js_1 = require("../utils/utils.js");
5
+ /**
6
+ * Uploads a single file to Cocobase cloud storage.
7
+ *
8
+ * This is a standalone function for uploading files without associating them
9
+ * with a specific document. For document-related file uploads, use methods like
10
+ * `createDocumentWithFiles` or `updateDocumentWithFiles` instead.
11
+ *
12
+ * @param cb - Cocobase client instance
13
+ * @param file - File object to upload
14
+ * @returns Promise resolving to an object containing the file URL
15
+ * @throws Error if the upload fails or API key is missing
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const db = new Cocobase({ apiKey: 'your-key' });
20
+ * const fileInput = document.querySelector('input[type="file"]');
21
+ * const file = fileInput.files[0];
22
+ *
23
+ * const { url } = await uploadFile(db, file);
24
+ * console.log('File uploaded to:', url);
25
+ * ```
26
+ */
5
27
  const uploadFile = async (cb, file) => {
6
28
  const formData = new FormData();
7
29
  formData.append("file", file);
8
- const req = await fetch(utils_1.BASEURL + "/collections/file", {
30
+ const req = await fetch(utils_js_1.BASEURL + "/collections/file", {
9
31
  method: "POST",
10
32
  body: formData,
11
33
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/core/file.ts"],"names":[],"mappings":";;;AAAA,0CAAyC;AAOzC,MAAM,UAAU,GAAG,KAAK,EAAE,EAAY,EAAE,IAAU,EAAE,EAAE;IACpD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,eAAO,GAAG,mBAAmB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,WAAW,EAAE,EAAE,CAAC,MAAO;SACxB;KACF,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiB,CAAC;AAC5C,CAAC,CAAC;AAEO,gCAAU"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../../src/core/file.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAW5C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,GAAG,KAAK,EAAE,EAAY,EAAE,IAAU,EAAyB,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,kBAAO,GAAG,mBAAmB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,WAAW,EAAE,EAAE,CAAC,MAAO;SACxB;KACF,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiB,CAAC;AAC5C,CAAC,CAAC;AAEO,gCAAU"}
@@ -1,18 +1,88 @@
1
+ /**
2
+ * Parameters for executing a cloud function.
3
+ */
1
4
  interface FunctionParams {
5
+ /** Optional payload to send to the function */
2
6
  payload?: Record<string, unknown>;
7
+ /** HTTP method to use (GET or POST) */
3
8
  method: "GET" | "POST";
4
9
  }
10
+ /**
11
+ * Response from a cloud function execution.
12
+ *
13
+ * @template T - The type of the function result
14
+ */
5
15
  interface FunctionResponse<T> {
16
+ /** The result returned by the function */
6
17
  result: T;
18
+ /** Whether the function executed successfully */
7
19
  success: boolean;
20
+ /** Error message if the function failed, null otherwise */
8
21
  error: string | null;
22
+ /** Time taken to execute the function in milliseconds */
9
23
  execution_time: number;
24
+ /** Console output from the function execution */
10
25
  output: string;
11
26
  }
27
+ /**
28
+ * CloudFunction client for executing server-side functions.
29
+ *
30
+ * Cloud functions allow you to run custom server-side logic without managing infrastructure.
31
+ * Functions are written in Python and deployed to your Cocobase project.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Access via the Cocobase instance
36
+ * const db = new Cocobase({
37
+ * apiKey: 'your-api-key',
38
+ * projectId: 'your-project-id'
39
+ * });
40
+ *
41
+ * // Execute a function
42
+ * const result = await db.functions.execute('sendEmail', {
43
+ * payload: { to: 'user@example.com', subject: 'Hello' },
44
+ * method: 'POST'
45
+ * });
46
+ * ```
47
+ */
12
48
  export declare class CloudFunction {
13
49
  projectId: string;
14
50
  private getToken;
51
+ /**
52
+ * Creates a new CloudFunction client.
53
+ *
54
+ * @param projectId - Your Cocobase project ID
55
+ * @param getToken - Function that returns the current authentication token
56
+ * @throws Error if projectId is empty or invalid
57
+ */
15
58
  constructor(projectId: string, getToken: () => string | undefined);
59
+ /**
60
+ * Executes a cloud function by name.
61
+ *
62
+ * @template T - The expected return type of the function
63
+ * @param functionName - Name of the cloud function to execute
64
+ * @param params - Optional parameters including payload and HTTP method
65
+ * @returns Promise resolving to the function response with result and metadata
66
+ * @throws Error if projectId is invalid
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * // Simple GET request
71
+ * const result = await db.functions.execute('getStats');
72
+ *
73
+ * // POST request with payload
74
+ * const result = await db.functions.execute('processOrder', {
75
+ * payload: {
76
+ * orderId: '12345',
77
+ * items: [{ id: 1, quantity: 2 }]
78
+ * },
79
+ * method: 'POST'
80
+ * });
81
+ *
82
+ * console.log(result.result); // Function output
83
+ * console.log(result.execution_time); // Execution time in ms
84
+ * ```
85
+ */
16
86
  execute<T>(functionName: string, params?: FunctionParams): Promise<FunctionResponse<T>>;
17
87
  }
18
88
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/core/functions.ts"],"names":[],"mappings":"AAEA,UAAU,cAAc;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,UAAU,gBAAgB,CAAC,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AACD,qBAAa,aAAa;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,QAAQ,CAA2B;gBAE/B,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,SAAS;IAY3D,OAAO,CAAC,CAAC,EACb,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAwChC"}
1
+ {"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../src/core/functions.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,cAAc;IACtB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,uCAAuC;IACvC,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,UAAU,gBAAgB,CAAC,CAAC;IAC1B,0CAA0C;IAC1C,MAAM,EAAE,CAAC,CAAC;IACV,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,aAAa;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,QAAQ,CAA2B;IAE3C;;;;;;OAMG;gBACS,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,MAAM,GAAG,SAAS;IAYjE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,OAAO,CAAC,CAAC,EACb,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAwChC"}