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.
- package/dist/cjs/core/core.d.ts +239 -2
- package/dist/cjs/core/core.d.ts.map +1 -1
- package/dist/cjs/core/core.js +272 -23
- package/dist/cjs/core/core.js.map +1 -1
- package/dist/cjs/core/file.d.ts +27 -1
- package/dist/cjs/core/file.d.ts.map +1 -1
- package/dist/cjs/core/file.js +24 -2
- package/dist/cjs/core/file.js.map +1 -1
- package/dist/cjs/core/functions.d.ts +70 -0
- package/dist/cjs/core/functions.d.ts.map +1 -1
- package/dist/cjs/core/functions.js +55 -0
- package/dist/cjs/core/functions.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/types.d.ts +98 -0
- package/dist/cjs/types/types.d.ts.map +1 -1
- package/dist/cjs/utils/utils.d.ts +2 -2
- package/dist/cjs/utils/utils.d.ts.map +1 -1
- package/dist/core/core.d.ts +239 -2
- package/dist/core/core.d.ts.map +1 -1
- package/dist/core/core.js +259 -10
- package/dist/core/core.js.map +1 -1
- package/dist/core/file.d.ts +27 -1
- package/dist/core/file.d.ts.map +1 -1
- package/dist/core/file.js +23 -1
- package/dist/core/file.js.map +1 -1
- package/dist/core/functions.d.ts +70 -0
- package/dist/core/functions.d.ts.map +1 -1
- package/dist/core/functions.js +55 -0
- package/dist/core/functions.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/types/types.d.ts +98 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/utils.d.ts +2 -2
- package/dist/utils/utils.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/core/core.js
CHANGED
|
@@ -1,13 +1,64 @@
|
|
|
1
|
-
import { BASEURL, buildFilterQuery, getFromLocalStorage, mergeUserData, setToLocalStorage, } from "../utils/utils";
|
|
2
|
-
import { closeConnection as closeCon } from "../utils/socket";
|
|
3
|
-
import { CloudFunction } from "./functions";
|
|
1
|
+
import { BASEURL, buildFilterQuery, getFromLocalStorage, mergeUserData, setToLocalStorage, } from "../utils/utils.js";
|
|
2
|
+
import { closeConnection as closeCon } from "../utils/socket.js";
|
|
3
|
+
import { CloudFunction } from "./functions.js";
|
|
4
|
+
/**
|
|
5
|
+
* Main Cocobase client for interacting with the Cocobase backend API.
|
|
6
|
+
*
|
|
7
|
+
* Provides methods for:
|
|
8
|
+
* - Document CRUD operations (Create, Read, Update, Delete)
|
|
9
|
+
* - User authentication and management
|
|
10
|
+
* - File uploads
|
|
11
|
+
* - Real-time data synchronization
|
|
12
|
+
* - Cloud functions execution
|
|
13
|
+
* - Batch operations
|
|
14
|
+
* - Advanced querying and aggregations
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // Initialize the client
|
|
19
|
+
* const db = new Cocobase({
|
|
20
|
+
* apiKey: 'your-api-key',
|
|
21
|
+
* projectId: 'your-project-id'
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // Create a document
|
|
25
|
+
* await db.createDocument('users', { name: 'John Doe' });
|
|
26
|
+
*
|
|
27
|
+
* // Query documents
|
|
28
|
+
* const users = await db.listDocuments('users', {
|
|
29
|
+
* filters: { status: 'active' },
|
|
30
|
+
* limit: 10
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
4
34
|
export class Cocobase {
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new Cocobase client instance.
|
|
37
|
+
*
|
|
38
|
+
* @param config - Configuration object for the client
|
|
39
|
+
* @param config.apiKey - Your Cocobase API key (required for most operations)
|
|
40
|
+
* @param config.projectId - Your Cocobase project ID (required for cloud functions)
|
|
41
|
+
* @param config.baseURL - Optional custom base URL (defaults to https://api.cocobase.buzz)
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const db = new Cocobase({
|
|
46
|
+
* apiKey: 'your-api-key',
|
|
47
|
+
* projectId: 'your-project-id'
|
|
48
|
+
* });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
5
51
|
constructor(config) {
|
|
6
52
|
this.baseURL = config.baseURL ?? BASEURL;
|
|
7
53
|
this.apiKey = config.apiKey;
|
|
8
54
|
this.projectId = config.projectId;
|
|
9
55
|
this.functions = new CloudFunction(config.projectId || "project id required", () => this.token);
|
|
10
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Gets the current authentication token.
|
|
59
|
+
*
|
|
60
|
+
* @returns The current JWT token, or undefined if not authenticated
|
|
61
|
+
*/
|
|
11
62
|
getToken() {
|
|
12
63
|
return this.token;
|
|
13
64
|
}
|
|
@@ -67,11 +118,40 @@ export class Cocobase {
|
|
|
67
118
|
return "Check the API documentation and verify your request format";
|
|
68
119
|
}
|
|
69
120
|
}
|
|
70
|
-
|
|
121
|
+
/**
|
|
122
|
+
* Retrieves a single document by ID from a collection.
|
|
123
|
+
*
|
|
124
|
+
* @template T - The type of the document data
|
|
125
|
+
* @param collection - Name of the collection
|
|
126
|
+
* @param docId - Unique ID of the document
|
|
127
|
+
* @returns Promise resolving to the document with metadata
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* const user = await db.getDocument('users', 'user-123');
|
|
132
|
+
* console.log(user.data.name);
|
|
133
|
+
* ```
|
|
134
|
+
*/
|
|
71
135
|
async getDocument(collection, docId) {
|
|
72
136
|
return this.request("GET", `/collections/${collection}/documents/${docId}`);
|
|
73
137
|
}
|
|
74
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Creates a new document in a collection.
|
|
140
|
+
*
|
|
141
|
+
* @template T - The type of the document data
|
|
142
|
+
* @param collection - Name of the collection
|
|
143
|
+
* @param data - Document data to store
|
|
144
|
+
* @returns Promise resolving to the created document with metadata
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* const newUser = await db.createDocument('users', {
|
|
149
|
+
* name: 'John Doe',
|
|
150
|
+
* email: 'john@example.com',
|
|
151
|
+
* age: 30
|
|
152
|
+
* });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
75
155
|
async createDocument(collection, data) {
|
|
76
156
|
return this.request("POST", `/collections/documents?collection=${collection}`, data);
|
|
77
157
|
}
|
|
@@ -135,7 +215,23 @@ export class Cocobase {
|
|
|
135
215
|
}
|
|
136
216
|
return res.json();
|
|
137
217
|
}
|
|
138
|
-
|
|
218
|
+
/**
|
|
219
|
+
* Updates an existing document in a collection.
|
|
220
|
+
*
|
|
221
|
+
* @template T - The type of the document data
|
|
222
|
+
* @param collection - Name of the collection
|
|
223
|
+
* @param docId - Unique ID of the document to update
|
|
224
|
+
* @param data - Partial document data to update (only specified fields are updated)
|
|
225
|
+
* @returns Promise resolving to the updated document with metadata
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* await db.updateDocument('users', 'user-123', {
|
|
230
|
+
* age: 31,
|
|
231
|
+
* status: 'active'
|
|
232
|
+
* });
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
139
235
|
async updateDocument(collection, docId, data) {
|
|
140
236
|
return this.request("PATCH", `/collections/${collection}/documents/${docId}`, data);
|
|
141
237
|
}
|
|
@@ -196,16 +292,62 @@ export class Cocobase {
|
|
|
196
292
|
}
|
|
197
293
|
return res.json();
|
|
198
294
|
}
|
|
199
|
-
|
|
295
|
+
/**
|
|
296
|
+
* Deletes a document from a collection.
|
|
297
|
+
*
|
|
298
|
+
* @param collection - Name of the collection
|
|
299
|
+
* @param docId - Unique ID of the document to delete
|
|
300
|
+
* @returns Promise resolving to a success status object
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* await db.deleteDocument('users', 'user-123');
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
200
307
|
async deleteDocument(collection, docId) {
|
|
201
308
|
return this.request("DELETE", `/collections/${collection}/documents/${docId}`);
|
|
202
309
|
}
|
|
203
|
-
|
|
310
|
+
/**
|
|
311
|
+
* Lists documents from a collection with optional filtering and pagination.
|
|
312
|
+
*
|
|
313
|
+
* @template T - The type of the document data
|
|
314
|
+
* @param collection - Name of the collection
|
|
315
|
+
* @param query - Optional query parameters for filtering, sorting, and pagination
|
|
316
|
+
* @returns Promise resolving to an array of documents
|
|
317
|
+
*
|
|
318
|
+
* @example
|
|
319
|
+
* ```typescript
|
|
320
|
+
* // Simple query
|
|
321
|
+
* const users = await db.listDocuments('users', {
|
|
322
|
+
* filters: { status: 'active' },
|
|
323
|
+
* limit: 10
|
|
324
|
+
* });
|
|
325
|
+
*
|
|
326
|
+
* // Advanced query with sorting
|
|
327
|
+
* const posts = await db.listDocuments('posts', {
|
|
328
|
+
* filters: { published: true },
|
|
329
|
+
* sort: 'createdAt',
|
|
330
|
+
* order: 'desc',
|
|
331
|
+
* limit: 20
|
|
332
|
+
* });
|
|
333
|
+
* ```
|
|
334
|
+
*/
|
|
204
335
|
async listDocuments(collection, query) {
|
|
205
336
|
const query_str = buildFilterQuery(query);
|
|
206
337
|
return this.request("GET", `/collections/${collection}/documents${query_str ? `?${query_str}` : ""}`);
|
|
207
338
|
}
|
|
208
|
-
|
|
339
|
+
/**
|
|
340
|
+
* Initializes authentication by restoring the session from local storage.
|
|
341
|
+
* Call this method when your application loads to restore user sessions.
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```typescript
|
|
345
|
+
* await db.initAuth();
|
|
346
|
+
* if (db.isAuthenticated()) {
|
|
347
|
+
* console.log('User is logged in:', db.user);
|
|
348
|
+
* }
|
|
349
|
+
* ```
|
|
350
|
+
*/
|
|
209
351
|
async initAuth() {
|
|
210
352
|
const token = getFromLocalStorage("cocobase-token");
|
|
211
353
|
const user = getFromLocalStorage("cocobase-user");
|
|
@@ -223,17 +365,51 @@ export class Cocobase {
|
|
|
223
365
|
this.token = undefined;
|
|
224
366
|
}
|
|
225
367
|
}
|
|
368
|
+
/**
|
|
369
|
+
* Sets the authentication token and stores it in local storage.
|
|
370
|
+
*
|
|
371
|
+
* @param token - JWT authentication token
|
|
372
|
+
*/
|
|
226
373
|
setToken(token) {
|
|
227
374
|
this.token = token;
|
|
228
375
|
setToLocalStorage("cocobase-token", token);
|
|
229
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Authenticates a user with email and password.
|
|
379
|
+
*
|
|
380
|
+
* @param email - User's email address
|
|
381
|
+
* @param password - User's password
|
|
382
|
+
* @returns Promise that resolves when login is complete
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* ```typescript
|
|
386
|
+
* await db.login('user@example.com', 'password123');
|
|
387
|
+
* console.log('Logged in as:', db.user.email);
|
|
388
|
+
* ```
|
|
389
|
+
*/
|
|
230
390
|
async login(email, password) {
|
|
231
391
|
const response = this.request(`POST`, `/auth-collections/login`, { email, password }, false // Do not use data key for auth endpoints
|
|
232
392
|
);
|
|
233
393
|
this.token = (await response).access_token;
|
|
234
394
|
this.setToken(this.token);
|
|
235
|
-
|
|
395
|
+
await this.getCurrentUser();
|
|
236
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Registers a new user with email, password, and optional additional data.
|
|
399
|
+
*
|
|
400
|
+
* @param email - User's email address
|
|
401
|
+
* @param password - User's password
|
|
402
|
+
* @param data - Optional additional user data
|
|
403
|
+
* @returns Promise that resolves when registration is complete
|
|
404
|
+
*
|
|
405
|
+
* @example
|
|
406
|
+
* ```typescript
|
|
407
|
+
* await db.register('user@example.com', 'password123', {
|
|
408
|
+
* username: 'johndoe',
|
|
409
|
+
* fullName: 'John Doe'
|
|
410
|
+
* });
|
|
411
|
+
* ```
|
|
412
|
+
*/
|
|
237
413
|
async register(email, password, data) {
|
|
238
414
|
const response = this.request(`POST`, `/auth-collections/signup`, { email, password, data }, false // Do not use data key for auth endpoints
|
|
239
415
|
);
|
|
@@ -241,6 +417,39 @@ export class Cocobase {
|
|
|
241
417
|
this.setToken(this.token);
|
|
242
418
|
await this.getCurrentUser();
|
|
243
419
|
}
|
|
420
|
+
/**
|
|
421
|
+
* Initiates Google OAuth login flow.
|
|
422
|
+
*
|
|
423
|
+
* @returns Promise resolving to an object with the Google OAuth URL
|
|
424
|
+
*
|
|
425
|
+
* @example
|
|
426
|
+
* ```typescript
|
|
427
|
+
* const { url } = await db.loginWithGoogle();
|
|
428
|
+
* window.location.href = url; // Redirect to Google login
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
async loginWithGoogle() {
|
|
432
|
+
return (await this.request(`GET`, "/auth-collections/login-google"));
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Completes the Google OAuth login flow after redirect.
|
|
436
|
+
*
|
|
437
|
+
* @param token - JWT token received from OAuth callback
|
|
438
|
+
* @returns Promise that resolves when login is complete
|
|
439
|
+
*
|
|
440
|
+
* @example
|
|
441
|
+
* ```typescript
|
|
442
|
+
* // After Google redirects back to your app with a token
|
|
443
|
+
* const token = new URLSearchParams(window.location.search).get('token');
|
|
444
|
+
* if (token) {
|
|
445
|
+
* await db.completeGoogleLogin(token);
|
|
446
|
+
* }
|
|
447
|
+
* ```
|
|
448
|
+
*/
|
|
449
|
+
async completeGoogleLogin(token) {
|
|
450
|
+
this.setToken(token);
|
|
451
|
+
await this.getCurrentUser();
|
|
452
|
+
}
|
|
244
453
|
/**
|
|
245
454
|
* Register a new user with file uploads (avatar, cover photo, etc.)
|
|
246
455
|
*
|
|
@@ -455,5 +664,45 @@ export class Cocobase {
|
|
|
455
664
|
closeConnection(name) {
|
|
456
665
|
closeCon(name);
|
|
457
666
|
}
|
|
667
|
+
// AUTH COLLECTION ROUTES
|
|
668
|
+
listUsers(query) {
|
|
669
|
+
const query_str = buildFilterQuery(query);
|
|
670
|
+
return this.request("GET", `/auth-collections/users${query_str ? `?${query_str}` : ""}`);
|
|
671
|
+
}
|
|
672
|
+
getUserById(userId) {
|
|
673
|
+
return this.request("GET", `/auth-collections/users/${userId}`);
|
|
674
|
+
}
|
|
675
|
+
// BATCH OPERATIONS
|
|
676
|
+
async deleteDocuments(collection, docIds) {
|
|
677
|
+
return this.request("POST", `/collections/${collection}/batch/documents/delete`, { document_ids: docIds }, false);
|
|
678
|
+
}
|
|
679
|
+
async createDocuments(collection, documents) {
|
|
680
|
+
return this.request("POST", `/collections/${collection}/batch/documents/create`, { documents }, false);
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Batch update documents
|
|
684
|
+
*
|
|
685
|
+
* @param collection - Collection name
|
|
686
|
+
* @param updates - Object mapping document IDs to partial update objects.
|
|
687
|
+
* Example: { "docId1": { fieldA: "value" }, "docId2": { fieldB: 2 } }
|
|
688
|
+
*/
|
|
689
|
+
async updateDocuments(collection, updates) {
|
|
690
|
+
return this.request("POST", `/collections/${collection}/batch/documents/update`, { updates }, false);
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Count documents matching filters without returning the documents.
|
|
694
|
+
*
|
|
695
|
+
* Example:
|
|
696
|
+
* await db.countDocuments('users', { status: 'active', age_gte: 18 })
|
|
697
|
+
* // returns { count: 42 }
|
|
698
|
+
*/
|
|
699
|
+
async countDocuments(collection, query) {
|
|
700
|
+
const query_str = buildFilterQuery(query);
|
|
701
|
+
return this.request("GET", `/collections/${collection}/query/documents/count${query_str ? `?${query_str}` : ""}`);
|
|
702
|
+
}
|
|
703
|
+
async aggregateDocuments(collection, params) {
|
|
704
|
+
const query_str = buildFilterQuery(params.query);
|
|
705
|
+
return (await this.request("GET", `/collections/${collection}/query/documents/aggregate?field=${params.field}&operation=${params.operation}&${query_str ? `${query_str}` : ""}`));
|
|
706
|
+
}
|
|
458
707
|
}
|
|
459
708
|
//# sourceMappingURL=core.js.map
|
package/dist/core/core.js.map
CHANGED
|
@@ -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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"}
|
package/dist/core/file.d.ts
CHANGED
|
@@ -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
|
package/dist/core/file.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/core/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
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"}
|
package/dist/core/file.js
CHANGED
|
@@ -1,4 +1,26 @@
|
|
|
1
|
-
import { BASEURL } from "../utils/utils";
|
|
1
|
+
import { BASEURL } from "../utils/utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* Uploads a single file to Cocobase cloud storage.
|
|
4
|
+
*
|
|
5
|
+
* This is a standalone function for uploading files without associating them
|
|
6
|
+
* with a specific document. For document-related file uploads, use methods like
|
|
7
|
+
* `createDocumentWithFiles` or `updateDocumentWithFiles` instead.
|
|
8
|
+
*
|
|
9
|
+
* @param cb - Cocobase client instance
|
|
10
|
+
* @param file - File object to upload
|
|
11
|
+
* @returns Promise resolving to an object containing the file URL
|
|
12
|
+
* @throws Error if the upload fails or API key is missing
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const db = new Cocobase({ apiKey: 'your-key' });
|
|
17
|
+
* const fileInput = document.querySelector('input[type="file"]');
|
|
18
|
+
* const file = fileInput.files[0];
|
|
19
|
+
*
|
|
20
|
+
* const { url } = await uploadFile(db, file);
|
|
21
|
+
* console.log('File uploaded to:', url);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
2
24
|
const uploadFile = async (cb, file) => {
|
|
3
25
|
const formData = new FormData();
|
|
4
26
|
formData.append("file", file);
|
package/dist/core/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/core/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/core/file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;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,OAAO,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;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/core/functions.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/functions.js
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
const BASEURL = "https://cloud.cocobase.buzz";
|
|
2
|
+
/**
|
|
3
|
+
* CloudFunction client for executing server-side functions.
|
|
4
|
+
*
|
|
5
|
+
* Cloud functions allow you to run custom server-side logic without managing infrastructure.
|
|
6
|
+
* Functions are written in Python and deployed to your Cocobase project.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Access via the Cocobase instance
|
|
11
|
+
* const db = new Cocobase({
|
|
12
|
+
* apiKey: 'your-api-key',
|
|
13
|
+
* projectId: 'your-project-id'
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* // Execute a function
|
|
17
|
+
* const result = await db.functions.execute('sendEmail', {
|
|
18
|
+
* payload: { to: 'user@example.com', subject: 'Hello' },
|
|
19
|
+
* method: 'POST'
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
2
23
|
export class CloudFunction {
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new CloudFunction client.
|
|
26
|
+
*
|
|
27
|
+
* @param projectId - Your Cocobase project ID
|
|
28
|
+
* @param getToken - Function that returns the current authentication token
|
|
29
|
+
* @throws Error if projectId is empty or invalid
|
|
30
|
+
*/
|
|
3
31
|
constructor(projectId, getToken) {
|
|
4
32
|
this.projectId = projectId;
|
|
5
33
|
this.getToken = getToken;
|
|
@@ -8,6 +36,33 @@ export class CloudFunction {
|
|
|
8
36
|
throw new Error("CloudFunction requires a valid projectId. Please provide projectId in CocobaseConfig.");
|
|
9
37
|
}
|
|
10
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Executes a cloud function by name.
|
|
41
|
+
*
|
|
42
|
+
* @template T - The expected return type of the function
|
|
43
|
+
* @param functionName - Name of the cloud function to execute
|
|
44
|
+
* @param params - Optional parameters including payload and HTTP method
|
|
45
|
+
* @returns Promise resolving to the function response with result and metadata
|
|
46
|
+
* @throws Error if projectId is invalid
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* // Simple GET request
|
|
51
|
+
* const result = await db.functions.execute('getStats');
|
|
52
|
+
*
|
|
53
|
+
* // POST request with payload
|
|
54
|
+
* const result = await db.functions.execute('processOrder', {
|
|
55
|
+
* payload: {
|
|
56
|
+
* orderId: '12345',
|
|
57
|
+
* items: [{ id: 1, quantity: 2 }]
|
|
58
|
+
* },
|
|
59
|
+
* method: 'POST'
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* console.log(result.result); // Function output
|
|
63
|
+
* console.log(result.execution_time); // Execution time in ms
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
11
66
|
async execute(functionName, params) {
|
|
12
67
|
// Validate projectId again in case it was modified
|
|
13
68
|
if (!this.projectId || this.projectId.trim() === "") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/core/functions.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/core/functions.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,6BAA6B,CAAC;AA8B9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,aAAa;IAIxB;;;;;;OAMG;IACH,YAAY,SAAiB,EAAE,QAAkC;QAC/D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,qBAAqB;QACrB,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,OAAO,CACX,YAAoB,EACpB,MAAuB;QAEvB,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,OAAO,cAAc,IAAI,CAAC,SAAS,SAAS,YAAY,EAAE,CAAC;QAE1E,+EAA+E;QAC/E,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEpE,MAAM,YAAY,GAAgB;YAChC,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC;QAEF,mCAAmC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,GAAG;gBACrB,GAAG,YAAY,CAAC,OAAO;gBACvB,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjC,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAA2B,CAAC;IACrC,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Cocobase } from "./core/core";
|
|
2
|
-
import type { CocobaseConfig, Document, Collection } from "./types/types";
|
|
3
|
-
import { getFromLocalStorage, mergeUserData, setToLocalStorage, buildFilterQuery, parseFilterKey } from "./utils/utils";
|
|
4
|
-
import { uploadFile } from "./core/file";
|
|
1
|
+
import { Cocobase } from "./core/core.js";
|
|
2
|
+
import type { CocobaseConfig, Document, Collection } from "./types/types.js";
|
|
3
|
+
import { getFromLocalStorage, mergeUserData, setToLocalStorage, buildFilterQuery, parseFilterKey } from "./utils/utils.js";
|
|
4
|
+
import { uploadFile } from "./core/file.js";
|
|
5
5
|
export { Cocobase, getFromLocalStorage, mergeUserData, setToLocalStorage, uploadFile, buildFilterQuery, parseFilterKey, };
|
|
6
6
|
export type { TokenResponse, AppUser, Query } from "./types/types";
|
|
7
7
|
export type { CocobaseConfig, Document, Collection };
|