@seaverse/data-service-sdk 0.5.2 → 0.6.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 +149 -15
- package/dist/browser.js +255 -1
- package/dist/browser.js.map +1 -1
- package/dist/browser.umd.js +262 -0
- package/dist/browser.umd.js.map +1 -1
- package/dist/index.cjs +262 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +186 -1
- package/dist/index.js +255 -1
- package/dist/index.js.map +1 -1
- package/package.json +10 -9
package/dist/index.js
CHANGED
|
@@ -353,5 +353,259 @@ async function initializeWithToken(tokenResponse) {
|
|
|
353
353
|
};
|
|
354
354
|
}
|
|
355
355
|
|
|
356
|
-
|
|
356
|
+
/**
|
|
357
|
+
* Firestore Path Helper Functions
|
|
358
|
+
*
|
|
359
|
+
* These helper functions generate correct Firestore paths that match
|
|
360
|
+
* the security rules. Use these instead of manually constructing paths
|
|
361
|
+
* to avoid permission-denied errors.
|
|
362
|
+
*
|
|
363
|
+
* 🚨 IMPORTANT: These paths are designed to work with SeaVerse Firestore Rules
|
|
364
|
+
*
|
|
365
|
+
* Permission Levels:
|
|
366
|
+
* - publicRead: Read-only for all users, write for admins only
|
|
367
|
+
* - publicData: Read/write for all authenticated users
|
|
368
|
+
* - userData: Read/write only for the data owner
|
|
369
|
+
*/
|
|
370
|
+
/**
|
|
371
|
+
* Generate path for publicRead data (read-only for users, write for admins)
|
|
372
|
+
*
|
|
373
|
+
* @param appId - Your application ID
|
|
374
|
+
* @param collection - Collection name (e.g., 'announcements', 'config')
|
|
375
|
+
* @returns Firestore path string
|
|
376
|
+
*
|
|
377
|
+
* @example
|
|
378
|
+
* ```typescript
|
|
379
|
+
* // Read system announcements
|
|
380
|
+
* const path = getPublicReadPath('my-app', 'announcements');
|
|
381
|
+
* // Returns: 'appData/my-app/publicRead/announcements'
|
|
382
|
+
*
|
|
383
|
+
* const snapshot = await getDocs(collection(db, path));
|
|
384
|
+
* ```
|
|
385
|
+
*/
|
|
386
|
+
function getPublicReadPath(appId, collectionName) {
|
|
387
|
+
validateSegment('appId', appId);
|
|
388
|
+
validateSegment('collectionName', collectionName);
|
|
389
|
+
return `appData/${appId}/publicRead/${collectionName}`;
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Generate path for publicData (read/write for all authenticated users)
|
|
393
|
+
*
|
|
394
|
+
* @param appId - Your application ID
|
|
395
|
+
* @param collection - Collection name (e.g., 'posts', 'comments')
|
|
396
|
+
* @returns Firestore path string
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* ```typescript
|
|
400
|
+
* // Write a public post
|
|
401
|
+
* const path = getPublicDataPath('my-app', 'posts');
|
|
402
|
+
* // Returns: 'appData/my-app/publicData/posts'
|
|
403
|
+
*
|
|
404
|
+
* await addDoc(collection(db, path), {
|
|
405
|
+
* _appId: appId,
|
|
406
|
+
* _createdAt: serverTimestamp(),
|
|
407
|
+
* _createdBy: userId,
|
|
408
|
+
* title: 'My Post'
|
|
409
|
+
* });
|
|
410
|
+
* ```
|
|
411
|
+
*/
|
|
412
|
+
function getPublicDataPath(appId, collectionName) {
|
|
413
|
+
validateSegment('appId', appId);
|
|
414
|
+
validateSegment('collectionName', collectionName);
|
|
415
|
+
return `appData/${appId}/publicData/${collectionName}`;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Generate path for userData (private, read/write only by owner)
|
|
419
|
+
*
|
|
420
|
+
* @param appId - Your application ID
|
|
421
|
+
* @param userId - User ID who owns this data
|
|
422
|
+
* @param collection - Collection name (e.g., 'notes', 'settings')
|
|
423
|
+
* @returns Firestore path string
|
|
424
|
+
*
|
|
425
|
+
* @example
|
|
426
|
+
* ```typescript
|
|
427
|
+
* // Write private user notes
|
|
428
|
+
* const path = getUserDataPath('my-app', 'user-123', 'notes');
|
|
429
|
+
* // Returns: 'appData/my-app/userData/user-123/notes'
|
|
430
|
+
*
|
|
431
|
+
* await addDoc(collection(db, path), {
|
|
432
|
+
* _appId: appId,
|
|
433
|
+
* _createdAt: serverTimestamp(),
|
|
434
|
+
* _createdBy: userId,
|
|
435
|
+
* content: 'Private note'
|
|
436
|
+
* });
|
|
437
|
+
* ```
|
|
438
|
+
*/
|
|
439
|
+
function getUserDataPath(appId, userId, collectionName) {
|
|
440
|
+
validateSegment('appId', appId);
|
|
441
|
+
validateSegment('userId', userId);
|
|
442
|
+
validateSegment('collectionName', collectionName);
|
|
443
|
+
return `appData/${appId}/userData/${userId}/${collectionName}`;
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Generate path for a specific document in publicRead
|
|
447
|
+
*
|
|
448
|
+
* @param appId - Your application ID
|
|
449
|
+
* @param collection - Collection name
|
|
450
|
+
* @param docId - Document ID
|
|
451
|
+
* @returns Firestore document path string
|
|
452
|
+
*
|
|
453
|
+
* @example
|
|
454
|
+
* ```typescript
|
|
455
|
+
* const path = getPublicReadDocPath('my-app', 'announcements', 'announcement-1');
|
|
456
|
+
* // Returns: 'appData/my-app/publicRead/announcements/announcement-1'
|
|
457
|
+
*
|
|
458
|
+
* const docSnap = await getDoc(doc(db, path));
|
|
459
|
+
* ```
|
|
460
|
+
*/
|
|
461
|
+
function getPublicReadDocPath(appId, collectionName, docId) {
|
|
462
|
+
validateSegment('appId', appId);
|
|
463
|
+
validateSegment('collectionName', collectionName);
|
|
464
|
+
validateSegment('docId', docId);
|
|
465
|
+
return `appData/${appId}/publicRead/${collectionName}/${docId}`;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Generate path for a specific document in publicData
|
|
469
|
+
*
|
|
470
|
+
* @param appId - Your application ID
|
|
471
|
+
* @param collection - Collection name
|
|
472
|
+
* @param docId - Document ID
|
|
473
|
+
* @returns Firestore document path string
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```typescript
|
|
477
|
+
* const path = getPublicDataDocPath('my-app', 'posts', 'post-123');
|
|
478
|
+
* // Returns: 'appData/my-app/publicData/posts/post-123'
|
|
479
|
+
*
|
|
480
|
+
* const docSnap = await getDoc(doc(db, path));
|
|
481
|
+
* ```
|
|
482
|
+
*/
|
|
483
|
+
function getPublicDataDocPath(appId, collectionName, docId) {
|
|
484
|
+
validateSegment('appId', appId);
|
|
485
|
+
validateSegment('collectionName', collectionName);
|
|
486
|
+
validateSegment('docId', docId);
|
|
487
|
+
return `appData/${appId}/publicData/${collectionName}/${docId}`;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Generate path for a specific document in userData
|
|
491
|
+
*
|
|
492
|
+
* @param appId - Your application ID
|
|
493
|
+
* @param userId - User ID who owns this data
|
|
494
|
+
* @param collection - Collection name
|
|
495
|
+
* @param docId - Document ID
|
|
496
|
+
* @returns Firestore document path string
|
|
497
|
+
*
|
|
498
|
+
* @example
|
|
499
|
+
* ```typescript
|
|
500
|
+
* const path = getUserDataDocPath('my-app', 'user-123', 'notes', 'note-456');
|
|
501
|
+
* // Returns: 'appData/my-app/userData/user-123/notes/note-456'
|
|
502
|
+
*
|
|
503
|
+
* const docSnap = await getDoc(doc(db, path));
|
|
504
|
+
* ```
|
|
505
|
+
*/
|
|
506
|
+
function getUserDataDocPath(appId, userId, collectionName, docId) {
|
|
507
|
+
validateSegment('appId', appId);
|
|
508
|
+
validateSegment('userId', userId);
|
|
509
|
+
validateSegment('collectionName', collectionName);
|
|
510
|
+
validateSegment('docId', docId);
|
|
511
|
+
return `appData/${appId}/userData/${userId}/${collectionName}/${docId}`;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Validate a path segment to ensure it doesn't contain invalid characters
|
|
515
|
+
*
|
|
516
|
+
* @param name - Parameter name for error messages
|
|
517
|
+
* @param value - The segment value to validate
|
|
518
|
+
* @throws Error if the segment is invalid
|
|
519
|
+
*/
|
|
520
|
+
function validateSegment(name, value) {
|
|
521
|
+
if (!value || typeof value !== 'string') {
|
|
522
|
+
throw new Error(`${name} must be a non-empty string`);
|
|
523
|
+
}
|
|
524
|
+
if (value.includes('/')) {
|
|
525
|
+
throw new Error(`${name} cannot contain forward slashes (/). Got: "${value}"`);
|
|
526
|
+
}
|
|
527
|
+
if (value.trim() !== value) {
|
|
528
|
+
throw new Error(`${name} cannot start or end with whitespace. Got: "${value}"`);
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
/**
|
|
532
|
+
* Path builder for advanced use cases
|
|
533
|
+
* Provides a fluent interface for building Firestore paths
|
|
534
|
+
*
|
|
535
|
+
* @example
|
|
536
|
+
* ```typescript
|
|
537
|
+
* // Build a path step by step
|
|
538
|
+
* const builder = new PathBuilder('my-app');
|
|
539
|
+
* const path = builder.publicData('posts').build();
|
|
540
|
+
* // Returns: 'appData/my-app/publicData/posts'
|
|
541
|
+
*
|
|
542
|
+
* // With document ID
|
|
543
|
+
* const docPath = builder.publicData('posts').doc('post-123').build();
|
|
544
|
+
* // Returns: 'appData/my-app/publicData/posts/post-123'
|
|
545
|
+
* ```
|
|
546
|
+
*/
|
|
547
|
+
class PathBuilder {
|
|
548
|
+
constructor(appId) {
|
|
549
|
+
this.appId = appId;
|
|
550
|
+
this.segments = ['appData'];
|
|
551
|
+
validateSegment('appId', appId);
|
|
552
|
+
this.segments.push(appId);
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Add publicRead collection to path
|
|
556
|
+
*/
|
|
557
|
+
publicRead(collectionName) {
|
|
558
|
+
validateSegment('collectionName', collectionName);
|
|
559
|
+
this.segments.push('publicRead', collectionName);
|
|
560
|
+
return this;
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* Add publicData collection to path
|
|
564
|
+
*/
|
|
565
|
+
publicData(collectionName) {
|
|
566
|
+
validateSegment('collectionName', collectionName);
|
|
567
|
+
this.segments.push('publicData', collectionName);
|
|
568
|
+
return this;
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Add userData collection to path
|
|
572
|
+
*/
|
|
573
|
+
userData(userId, collectionName) {
|
|
574
|
+
validateSegment('userId', userId);
|
|
575
|
+
validateSegment('collectionName', collectionName);
|
|
576
|
+
this.segments.push('userData', userId, collectionName);
|
|
577
|
+
return this;
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* Add document ID to path
|
|
581
|
+
*/
|
|
582
|
+
doc(docId) {
|
|
583
|
+
validateSegment('docId', docId);
|
|
584
|
+
this.segments.push(docId);
|
|
585
|
+
return this;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Build the final path string
|
|
589
|
+
*/
|
|
590
|
+
build() {
|
|
591
|
+
return this.segments.join('/');
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* Common path patterns as constants for frequently used paths
|
|
596
|
+
*/
|
|
597
|
+
const PATH_PATTERNS = {
|
|
598
|
+
/**
|
|
599
|
+
* Base pattern for all SeaVerse data
|
|
600
|
+
*/
|
|
601
|
+
APP_DATA: 'appData',
|
|
602
|
+
/**
|
|
603
|
+
* Permission layers
|
|
604
|
+
*/
|
|
605
|
+
PUBLIC_READ: 'publicRead',
|
|
606
|
+
PUBLIC_DATA: 'publicData',
|
|
607
|
+
USER_DATA: 'userData',
|
|
608
|
+
};
|
|
609
|
+
|
|
610
|
+
export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT, DataServiceClient, ENDPOINTS, PATH_PATTERNS, PathBuilder, getFirebaseConfig, getPublicDataDocPath, getPublicDataPath, getPublicReadDocPath, getPublicReadPath, getUserDataDocPath, getUserDataPath, initializeWithToken };
|
|
357
611
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/config.ts","../src/client.ts","../src/helpers.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/config.ts","../src/client.ts","../src/helpers.ts","../src/path-helpers.ts"],"sourcesContent":[null,null,null,null],"names":[],"mappings":";;AAAA;;AAEG;AAEH;;AAEG;AACI,MAAM,gBAAgB,GAAG;AAEhC;;AAEG;AACI,MAAM,eAAe,GAAG;AAE/B;;AAEG;AACI,MAAM,SAAS,GAAG;AACvB,IAAA,eAAe,EAAE,yBAAyB;AAC1C,IAAA,qBAAqB,EAAE,+BAA+B;;;ACaxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEG;MACU,iBAAiB,CAAA;AAG5B,IAAA,WAAA,CAAY,UAAoC,EAAE,EAAA;AAChD,QAAA,MAAM,EACJ,OAAO,GAAG,gBAAgB,EAC1B,OAAO,GAAG,eAAe,EACzB,OAAO,GAAG,EAAE,GACb,GAAG,OAAO;AAEX,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,OAAO;YACP,OAAO;AACP,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,GAAG,OAAO;AACX,aAAA;AACF,SAAA,CAAC;;AAGF,QAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAC1C,CAAC,QAAQ,KAAI;;YAEX,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE;AACtD,gBAAA,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;;AAEtD,oBAAA,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAwB;oBACrD,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE;AAC9C,wBAAA,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI;oBAClC;AAAO,yBAAA,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;;AAEjC,wBAAA,MAAM,KAAK,GAAa;4BACtB,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,OAAO,EAAE,WAAW,CAAC,OAAO;4BAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;yBACnC;AACD,wBAAA,MAAM,KAAK;oBACb;gBACF;YACF;AACA,YAAA,OAAO,QAAQ;AACjB,QAAA,CAAC,EACD,CAAC,KAAiB,KAAI;;AAEpB,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;AACxB,gBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAgB;gBAChD,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;YACpD;AACA,YAAA,MAAM,KAAK;AACb,QAAA,CAAC,CACF;IACH;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACH,IAAA,MAAM,sBAAsB,CAC1B,OAAsC,EACtC,OAA4B,EAAA;AAE5B,QAAA,MAAM,MAAM,GAAuB;AACjC,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,SAAS,CAAC,eAAe;AAC9B,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,GAAG,OAAO;SACX;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAyB,MAAM,CAAC;QACjF,OAAO,QAAQ,CAAC,IAAI;IACtB;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDG;AACH,IAAA,MAAM,2BAA2B,CAC/B,OAA2C,EAC3C,OAA4B,EAAA;AAE5B,QAAA,MAAM,MAAM,GAAuB;AACjC,YAAA,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,SAAS,CAAC,qBAAqB;AACpC,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,GAAG,OAAO;SACX;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAyB,MAAM,CAAC;QACjF,OAAO,QAAQ,CAAC,IAAI;IACtB;AACD;;AC1RD;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,iBAAiB,CAAC,aAAqC,EAAA;IACrE,OAAO;QACL,MAAM,EAAE,aAAa,CAAC,WAAW;QACjC,SAAS,EAAE,aAAa,CAAC,UAAU;KACpC;AACH;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,eAAe,mBAAmB,CAAC,aAAqC,EAAA;;AAQ7E,IAAA,IAAI,aAAkB;AACtB,IAAA,IAAI,OAAY;AAChB,IAAA,IAAI,qBAA0B;AAC9B,IAAA,IAAI,YAAiB;AAErB,IAAA,IAAI;;AAEF,QAAA,MAAM,WAAW,GAAG,MAAM,OAAO,cAAc,CAAC;AAChD,QAAA,MAAM,YAAY,GAAG,MAAM,OAAO,eAAe,CAAC;AAClD,QAAA,MAAM,iBAAiB,GAAG,MAAM,OAAO,oBAAoB,CAAC;AAE5D,QAAA,aAAa,GAAG,WAAW,CAAC,aAAa;AACzC,QAAA,OAAO,GAAG,YAAY,CAAC,OAAO;AAC9B,QAAA,qBAAqB,GAAG,YAAY,CAAC,qBAAqB;AAC1D,QAAA,YAAY,GAAG,iBAAiB,CAAC,YAAY;IAC/C;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,mEAAmE;AACnE,YAAA,gEAAgE,CACjE;IACH;;AAGA,IAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC/C,IAAA,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;;AAGjC,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,MAAM,qBAAqB,CAAC,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC;;;IAI7D,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,WAAW,CAAC;IAEvD,OAAO;QACL,GAAG;QACH,IAAI;QACJ,EAAE;QACF,MAAM,EAAE,aAAa,CAAC,OAAO;AAC7B,QAAA,KAAK,EAAE,aAAa,CAAC,MAAM,IAAI,EAAE;KAClC;AACH;;AClHA;;;;;;;;;;;;;AAaG;AAEH;;;;;;;;;;;;;;;AAeG;AACG,SAAU,iBAAiB,CAAC,KAAa,EAAE,cAAsB,EAAA;AACrE,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjD,IAAA,OAAO,CAAA,QAAA,EAAW,KAAK,CAAA,YAAA,EAAe,cAAc,EAAE;AACxD;AAEA;;;;;;;;;;;;;;;;;;;;AAoBG;AACG,SAAU,iBAAiB,CAAC,KAAa,EAAE,cAAsB,EAAA;AACrE,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjD,IAAA,OAAO,CAAA,QAAA,EAAW,KAAK,CAAA,YAAA,EAAe,cAAc,EAAE;AACxD;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;SACa,eAAe,CAAC,KAAa,EAAE,MAAc,EAAE,cAAsB,EAAA;AACnF,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjC,IAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjD,IAAA,OAAO,WAAW,KAAK,CAAA,UAAA,EAAa,MAAM,CAAA,CAAA,EAAI,cAAc,EAAE;AAChE;AAEA;;;;;;;;;;;;;;;AAeG;SACa,oBAAoB,CAAC,KAAa,EAAE,cAAsB,EAAE,KAAa,EAAA;AACvF,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjD,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,OAAO,WAAW,KAAK,CAAA,YAAA,EAAe,cAAc,CAAA,CAAA,EAAI,KAAK,EAAE;AACjE;AAEA;;;;;;;;;;;;;;;AAeG;SACa,oBAAoB,CAAC,KAAa,EAAE,cAAsB,EAAE,KAAa,EAAA;AACvF,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjD,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,OAAO,WAAW,KAAK,CAAA,YAAA,EAAe,cAAc,CAAA,CAAA,EAAI,KAAK,EAAE;AACjE;AAEA;;;;;;;;;;;;;;;;AAgBG;AACG,SAAU,kBAAkB,CAAC,KAAa,EAAE,MAAc,EAAE,cAAsB,EAAE,KAAa,EAAA;AACrG,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,IAAA,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjC,IAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;AACjD,IAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;IAC/B,OAAO,CAAA,QAAA,EAAW,KAAK,CAAA,UAAA,EAAa,MAAM,IAAI,cAAc,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;AACzE;AAEA;;;;;;AAMG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,KAAa,EAAA;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACvC,QAAA,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAA,2BAAA,CAA6B,CAAC;IACvD;AAEA,IAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,2CAAA,EAA8C,KAAK,CAAA,CAAA,CAAG,CAAC;IAChF;AAEA,IAAA,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,CAAA,EAAG,IAAI,CAAA,4CAAA,EAA+C,KAAK,CAAA,CAAA,CAAG,CAAC;IACjF;AACF;AAEA;;;;;;;;;;;;;;;AAeG;MACU,WAAW,CAAA;AAGtB,IAAA,WAAA,CAAoB,KAAa,EAAA;QAAb,IAAA,CAAA,KAAK,GAAL,KAAK;AAFjB,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,SAAS,CAAC;AAGtC,QAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3B;AAEA;;AAEG;AACH,IAAA,UAAU,CAAC,cAAsB,EAAA;AAC/B,QAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;AAChD,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACH,IAAA,UAAU,CAAC,cAAsB,EAAA;AAC/B,QAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC;AAChD,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;IACH,QAAQ,CAAC,MAAc,EAAE,cAAsB,EAAA;AAC7C,QAAA,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;AACjC,QAAA,eAAe,CAAC,gBAAgB,EAAE,cAAc,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC;AACtD,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;AACH,IAAA,GAAG,CAAC,KAAa,EAAA;AACf,QAAA,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,OAAO,IAAI;IACb;AAEA;;AAEG;IACH,KAAK,GAAA;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;IAChC;AACD;AAED;;AAEG;AACI,MAAM,aAAa,GAAG;AAC3B;;AAEG;AACH,IAAA,QAAQ,EAAE,SAAS;AAEnB;;AAEG;AACH,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,SAAS,EAAE,UAAU;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seaverse/data-service-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "SDK for SeaVerse Data Service - Firestore token management with three-tier permission model",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -23,6 +23,14 @@
|
|
|
23
23
|
"dist",
|
|
24
24
|
"README.md"
|
|
25
25
|
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "rollup -c",
|
|
28
|
+
"build:tsc": "tsc",
|
|
29
|
+
"dev": "ROLLUP_WATCH=true rollup -c -w",
|
|
30
|
+
"clean": "rm -rf dist",
|
|
31
|
+
"test": "vitest",
|
|
32
|
+
"prepublishOnly": "npm run clean && npm run build"
|
|
33
|
+
},
|
|
26
34
|
"keywords": [
|
|
27
35
|
"seaverse",
|
|
28
36
|
"sdk",
|
|
@@ -53,12 +61,5 @@
|
|
|
53
61
|
},
|
|
54
62
|
"publishConfig": {
|
|
55
63
|
"access": "public"
|
|
56
|
-
},
|
|
57
|
-
"scripts": {
|
|
58
|
-
"build": "rollup -c",
|
|
59
|
-
"build:tsc": "tsc",
|
|
60
|
-
"dev": "ROLLUP_WATCH=true rollup -c -w",
|
|
61
|
-
"clean": "rm -rf dist",
|
|
62
|
-
"test": "vitest"
|
|
63
64
|
}
|
|
64
|
-
}
|
|
65
|
+
}
|