@seaverse/data-service-sdk 0.5.2 → 0.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 +188 -34
- package/dist/browser.js +646 -8
- package/dist/browser.js.map +1 -1
- package/dist/browser.umd.js +766 -11
- package/dist/browser.umd.js.map +1 -1
- package/dist/index.cjs +763 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +476 -6
- package/dist/index.js +645 -8
- package/dist/index.js.map +1 -1
- package/package.json +10 -9
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","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.cjs","sources":["../src/config.ts","../src/client.ts","../src/path-helpers.ts","../src/firestore-helper.ts","../src/helpers.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { Firestore, DocumentReference, QuerySnapshot, CollectionReference } from 'firebase/firestore';
|
|
3
|
+
export { CollectionReference, DocumentData, DocumentReference, DocumentSnapshot, FieldValue, Firestore, OrderByDirection, Query, QueryConstraint, QuerySnapshot, Timestamp, Transaction, Unsubscribe, WhereFilterOp, WriteBatch, addDoc, arrayRemove, arrayUnion, collection, collectionGroup, deleteDoc, deleteField, doc, endAt, endBefore, getDoc, getDocs, getFirestore, increment, limit, limitToLast, onSnapshot, orderBy, query, runTransaction, serverTimestamp, setDoc, startAfter, startAt, updateDoc, where, writeBatch } from 'firebase/firestore';
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* Type definitions for SeaVerse Data Service API
|
|
@@ -454,6 +456,279 @@ declare const ENDPOINTS: {
|
|
|
454
456
|
readonly FIRESTORE_GUEST_TOKEN: "/api/v1/firestore/guest-token";
|
|
455
457
|
};
|
|
456
458
|
|
|
459
|
+
/**
|
|
460
|
+
* Firestore Helper - LLM-Friendly Firestore Operations
|
|
461
|
+
*
|
|
462
|
+
* This helper class automatically handles required fields (_appId, _createdAt, _createdBy)
|
|
463
|
+
* so LLM doesn't need to remember them. It provides a simple, high-level API.
|
|
464
|
+
*
|
|
465
|
+
* 🎯 LLM-FIRST DESIGN:
|
|
466
|
+
* - No need to remember required fields
|
|
467
|
+
* - No need to construct paths manually
|
|
468
|
+
* - No need to import serverTimestamp
|
|
469
|
+
* - One method does everything
|
|
470
|
+
*/
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Firestore operations helper with automatic metadata injection
|
|
474
|
+
*
|
|
475
|
+
* This class wraps Firestore operations and automatically adds required fields:
|
|
476
|
+
* - _appId: Application ID (for data isolation)
|
|
477
|
+
* - _createdAt: Server timestamp (for creation time)
|
|
478
|
+
* - _createdBy: User ID (for ownership tracking)
|
|
479
|
+
*
|
|
480
|
+
* @example
|
|
481
|
+
* ```typescript
|
|
482
|
+
* const helper = new FirestoreHelper(db, appId, userId);
|
|
483
|
+
*
|
|
484
|
+
* // ✅ LLM-friendly: Just pass your data, required fields auto-injected
|
|
485
|
+
* await helper.addToPublicData('posts', {
|
|
486
|
+
* title: 'My Post',
|
|
487
|
+
* content: 'Hello world'
|
|
488
|
+
* });
|
|
489
|
+
*
|
|
490
|
+
* // ❌ OLD WAY: LLM needs to remember 3 required fields
|
|
491
|
+
* await addDoc(collection(db, path), {
|
|
492
|
+
* _appId: appId,
|
|
493
|
+
* _createdAt: serverTimestamp(),
|
|
494
|
+
* _createdBy: userId,
|
|
495
|
+
* title: 'My Post',
|
|
496
|
+
* content: 'Hello world'
|
|
497
|
+
* });
|
|
498
|
+
* ```
|
|
499
|
+
*/
|
|
500
|
+
declare class FirestoreHelper {
|
|
501
|
+
private db;
|
|
502
|
+
private appId;
|
|
503
|
+
private userId;
|
|
504
|
+
constructor(db: Firestore, appId: string, userId: string);
|
|
505
|
+
/**
|
|
506
|
+
* Add document to publicData (shared, read/write for all users)
|
|
507
|
+
*
|
|
508
|
+
* Automatically injects: _appId, _createdAt, _createdBy
|
|
509
|
+
*
|
|
510
|
+
* @param collectionName - Collection name (e.g., 'posts', 'comments')
|
|
511
|
+
* @param data - Your business data
|
|
512
|
+
* @returns Document reference
|
|
513
|
+
*
|
|
514
|
+
* @example
|
|
515
|
+
* ```typescript
|
|
516
|
+
* // ✅ LLM-friendly: Simple and clean
|
|
517
|
+
* const docRef = await helper.addToPublicData('posts', {
|
|
518
|
+
* title: 'My First Post',
|
|
519
|
+
* content: 'Hello world'
|
|
520
|
+
* });
|
|
521
|
+
* console.log('Created post:', docRef.id);
|
|
522
|
+
* ```
|
|
523
|
+
*/
|
|
524
|
+
addToPublicData(collectionName: string, data: Record<string, any>): Promise<DocumentReference>;
|
|
525
|
+
/**
|
|
526
|
+
* Add document to userData (private, only owner can read/write)
|
|
527
|
+
*
|
|
528
|
+
* Automatically injects: _appId, _createdAt, _createdBy
|
|
529
|
+
*
|
|
530
|
+
* @param collectionName - Collection name (e.g., 'notes', 'settings')
|
|
531
|
+
* @param data - Your business data
|
|
532
|
+
* @returns Document reference
|
|
533
|
+
*
|
|
534
|
+
* @example
|
|
535
|
+
* ```typescript
|
|
536
|
+
* // ✅ LLM-friendly: Private data, auto-isolated
|
|
537
|
+
* await helper.addToUserData('notes', {
|
|
538
|
+
* title: 'Private Note',
|
|
539
|
+
* content: 'Only I can see this'
|
|
540
|
+
* });
|
|
541
|
+
* ```
|
|
542
|
+
*/
|
|
543
|
+
addToUserData(collectionName: string, data: Record<string, any>): Promise<DocumentReference>;
|
|
544
|
+
/**
|
|
545
|
+
* Get all documents from publicData collection
|
|
546
|
+
*
|
|
547
|
+
* @param collectionName - Collection name
|
|
548
|
+
* @returns QuerySnapshot with documents
|
|
549
|
+
*
|
|
550
|
+
* @example
|
|
551
|
+
* ```typescript
|
|
552
|
+
* const snapshot = await helper.getPublicData('posts');
|
|
553
|
+
* snapshot.forEach(doc => {
|
|
554
|
+
* console.log(doc.id, doc.data());
|
|
555
|
+
* });
|
|
556
|
+
* ```
|
|
557
|
+
*/
|
|
558
|
+
getPublicData(collectionName: string): Promise<QuerySnapshot>;
|
|
559
|
+
/**
|
|
560
|
+
* Get all documents from userData collection (user's private data)
|
|
561
|
+
*
|
|
562
|
+
* @param collectionName - Collection name
|
|
563
|
+
* @returns QuerySnapshot with documents
|
|
564
|
+
*
|
|
565
|
+
* @example
|
|
566
|
+
* ```typescript
|
|
567
|
+
* const snapshot = await helper.getUserData('notes');
|
|
568
|
+
* snapshot.forEach(doc => {
|
|
569
|
+
* console.log('My note:', doc.data());
|
|
570
|
+
* });
|
|
571
|
+
* ```
|
|
572
|
+
*/
|
|
573
|
+
getUserData(collectionName: string): Promise<QuerySnapshot>;
|
|
574
|
+
/**
|
|
575
|
+
* Get all documents from publicRead collection (read-only for users)
|
|
576
|
+
*
|
|
577
|
+
* @param collectionName - Collection name
|
|
578
|
+
* @returns QuerySnapshot with documents
|
|
579
|
+
*
|
|
580
|
+
* @example
|
|
581
|
+
* ```typescript
|
|
582
|
+
* const configs = await helper.getPublicRead('config');
|
|
583
|
+
* ```
|
|
584
|
+
*/
|
|
585
|
+
getPublicRead(collectionName: string): Promise<QuerySnapshot>;
|
|
586
|
+
/**
|
|
587
|
+
* Get collection reference for publicData
|
|
588
|
+
* Use this for advanced queries with where(), orderBy(), limit()
|
|
589
|
+
*
|
|
590
|
+
* @param collectionName - Collection name
|
|
591
|
+
* @returns Collection reference
|
|
592
|
+
*
|
|
593
|
+
* @example
|
|
594
|
+
* ```typescript
|
|
595
|
+
* import { query, where, orderBy } from 'firebase/firestore';
|
|
596
|
+
*
|
|
597
|
+
* const postsRef = helper.publicDataCollection('posts');
|
|
598
|
+
* const q = query(
|
|
599
|
+
* postsRef,
|
|
600
|
+
* where('_createdBy', '==', userId),
|
|
601
|
+
* orderBy('_createdAt', 'desc')
|
|
602
|
+
* );
|
|
603
|
+
* const snapshot = await getDocs(q);
|
|
604
|
+
* ```
|
|
605
|
+
*/
|
|
606
|
+
publicDataCollection(collectionName: string): CollectionReference;
|
|
607
|
+
/**
|
|
608
|
+
* Get collection reference for userData
|
|
609
|
+
*
|
|
610
|
+
* @param collectionName - Collection name
|
|
611
|
+
* @returns Collection reference
|
|
612
|
+
*/
|
|
613
|
+
userDataCollection(collectionName: string): CollectionReference;
|
|
614
|
+
/**
|
|
615
|
+
* Get collection reference for publicRead
|
|
616
|
+
*
|
|
617
|
+
* @param collectionName - Collection name
|
|
618
|
+
* @returns Collection reference
|
|
619
|
+
*/
|
|
620
|
+
publicReadCollection(collectionName: string): CollectionReference;
|
|
621
|
+
/**
|
|
622
|
+
* Update document with automatic metadata update
|
|
623
|
+
*
|
|
624
|
+
* Automatically sets: _updatedAt, _updatedBy
|
|
625
|
+
*
|
|
626
|
+
* @param collectionPath - Full collection path
|
|
627
|
+
* @param docId - Document ID
|
|
628
|
+
* @param data - Data to update
|
|
629
|
+
*
|
|
630
|
+
* @example
|
|
631
|
+
* ```typescript
|
|
632
|
+
* await helper.updateDoc(
|
|
633
|
+
* getPublicDataPath(appId, 'posts'),
|
|
634
|
+
* 'post-123',
|
|
635
|
+
* { title: 'Updated Title' }
|
|
636
|
+
* );
|
|
637
|
+
* ```
|
|
638
|
+
*/
|
|
639
|
+
updateDoc(collectionPath: string, docId: string, data: Record<string, any>): Promise<void>;
|
|
640
|
+
/**
|
|
641
|
+
* Delete document
|
|
642
|
+
*
|
|
643
|
+
* @param collectionPath - Full collection path
|
|
644
|
+
* @param docId - Document ID
|
|
645
|
+
*/
|
|
646
|
+
deleteDoc(collectionPath: string, docId: string): Promise<void>;
|
|
647
|
+
/**
|
|
648
|
+
* Get single document by ID
|
|
649
|
+
*
|
|
650
|
+
* @param collectionPath - Full collection path
|
|
651
|
+
* @param docId - Document ID
|
|
652
|
+
*
|
|
653
|
+
* @example
|
|
654
|
+
* ```typescript
|
|
655
|
+
* const docSnap = await helper.getDoc(
|
|
656
|
+
* getPublicDataPath(appId, 'posts'),
|
|
657
|
+
* 'post-123'
|
|
658
|
+
* );
|
|
659
|
+
* if (docSnap.exists()) {
|
|
660
|
+
* console.log(docSnap.data());
|
|
661
|
+
* }
|
|
662
|
+
* ```
|
|
663
|
+
*/
|
|
664
|
+
getDoc(collectionPath: string, docId: string): Promise<any>;
|
|
665
|
+
/**
|
|
666
|
+
* Internal: Add document with metadata injection
|
|
667
|
+
*/
|
|
668
|
+
private addDocWithMeta;
|
|
669
|
+
/**
|
|
670
|
+
* Internal: Get all documents from collection
|
|
671
|
+
*/
|
|
672
|
+
private getDocs;
|
|
673
|
+
/**
|
|
674
|
+
* Internal: Get collection reference
|
|
675
|
+
*/
|
|
676
|
+
private getCollection;
|
|
677
|
+
/**
|
|
678
|
+
* Internal: Lazy load Firebase Firestore functions
|
|
679
|
+
*/
|
|
680
|
+
private loadFirestore;
|
|
681
|
+
}
|
|
682
|
+
/**
|
|
683
|
+
* Standalone helper function: Add document with automatic metadata injection
|
|
684
|
+
*
|
|
685
|
+
* Use this if you don't want to create a FirestoreHelper instance.
|
|
686
|
+
*
|
|
687
|
+
* @param db - Firestore instance
|
|
688
|
+
* @param collectionPath - Full collection path
|
|
689
|
+
* @param appId - Application ID
|
|
690
|
+
* @param userId - User ID
|
|
691
|
+
* @param data - Your business data
|
|
692
|
+
* @returns Document reference
|
|
693
|
+
*
|
|
694
|
+
* @example
|
|
695
|
+
* ```typescript
|
|
696
|
+
* import { addDocWithMeta, getPublicDataPath } from '@seaverse/data-service-sdk';
|
|
697
|
+
*
|
|
698
|
+
* const docRef = await addDocWithMeta(
|
|
699
|
+
* db,
|
|
700
|
+
* getPublicDataPath(appId, 'posts'),
|
|
701
|
+
* appId,
|
|
702
|
+
* userId,
|
|
703
|
+
* { title: 'Post', content: 'Hello' }
|
|
704
|
+
* );
|
|
705
|
+
* ```
|
|
706
|
+
*/
|
|
707
|
+
declare function addDocWithMeta(db: Firestore, collectionPath: string, appId: string, userId: string, data: Record<string, any>): Promise<DocumentReference>;
|
|
708
|
+
/**
|
|
709
|
+
* Standalone helper function: Update document with automatic metadata
|
|
710
|
+
*
|
|
711
|
+
* @param db - Firestore instance
|
|
712
|
+
* @param collectionPath - Full collection path
|
|
713
|
+
* @param docId - Document ID
|
|
714
|
+
* @param userId - User ID (for _updatedBy field)
|
|
715
|
+
* @param data - Data to update
|
|
716
|
+
*
|
|
717
|
+
* @example
|
|
718
|
+
* ```typescript
|
|
719
|
+
* import { updateDocWithMeta, getPublicDataPath } from '@seaverse/data-service-sdk';
|
|
720
|
+
*
|
|
721
|
+
* await updateDocWithMeta(
|
|
722
|
+
* db,
|
|
723
|
+
* getPublicDataPath(appId, 'posts'),
|
|
724
|
+
* 'post-123',
|
|
725
|
+
* userId,
|
|
726
|
+
* { title: 'Updated Title' }
|
|
727
|
+
* );
|
|
728
|
+
* ```
|
|
729
|
+
*/
|
|
730
|
+
declare function updateDocWithMeta(db: Firestore, collectionPath: string, docId: string, userId: string, data: Record<string, any>): Promise<void>;
|
|
731
|
+
|
|
457
732
|
/**
|
|
458
733
|
* Firebase initialization configuration
|
|
459
734
|
* Generated from Firestore token response
|
|
@@ -491,23 +766,32 @@ declare function getFirebaseConfig(tokenResponse: FirestoreTokenResponse): Fireb
|
|
|
491
766
|
* 1. Creates Firebase config from token response
|
|
492
767
|
* 2. Initializes Firebase app
|
|
493
768
|
* 3. Signs in with the custom token
|
|
494
|
-
* 4.
|
|
769
|
+
* 4. Creates FirestoreHelper for LLM-friendly operations
|
|
770
|
+
* 5. Returns authenticated Firebase instances
|
|
495
771
|
*
|
|
496
772
|
* IMPORTANT: This function requires Firebase SDK to be installed separately:
|
|
497
773
|
* npm install firebase
|
|
498
774
|
*
|
|
775
|
+
* 🎯 LLM RECOMMENDED: Use the `helper` object for simplified operations
|
|
776
|
+
*
|
|
499
777
|
* @param tokenResponse - The Firestore token response from SDK
|
|
500
|
-
* @returns Object containing initialized Firebase
|
|
778
|
+
* @returns Object containing initialized Firebase instances and LLM-friendly helper
|
|
501
779
|
*
|
|
502
780
|
* @example
|
|
503
781
|
* ```typescript
|
|
504
782
|
* import { initializeWithToken } from '@seaverse/data-service-sdk';
|
|
505
783
|
*
|
|
506
784
|
* const tokenResponse = await client.generateGuestFirestoreToken({ app_id: 'my-app' });
|
|
507
|
-
* const {
|
|
785
|
+
* const { db, userId, appId, helper } = await initializeWithToken(tokenResponse);
|
|
508
786
|
*
|
|
509
|
-
* //
|
|
510
|
-
*
|
|
787
|
+
* // ✅ LLM-FRIENDLY: Use helper (automatic required fields)
|
|
788
|
+
* await helper.addToPublicData('posts', {
|
|
789
|
+
* title: 'My Post',
|
|
790
|
+
* content: 'Hello'
|
|
791
|
+
* });
|
|
792
|
+
*
|
|
793
|
+
* // ❌ OLD WAY: Manual (need to remember required fields)
|
|
794
|
+
* // await addDoc(collection(db, path), { _appId, _createdAt, _createdBy, ...data });
|
|
511
795
|
* ```
|
|
512
796
|
*/
|
|
513
797
|
declare function initializeWithToken(tokenResponse: FirestoreTokenResponse): Promise<{
|
|
@@ -516,7 +800,193 @@ declare function initializeWithToken(tokenResponse: FirestoreTokenResponse): Pro
|
|
|
516
800
|
db: any;
|
|
517
801
|
userId: string;
|
|
518
802
|
appId: string;
|
|
803
|
+
helper: FirestoreHelper;
|
|
519
804
|
}>;
|
|
520
805
|
|
|
521
|
-
|
|
806
|
+
/**
|
|
807
|
+
* Firestore Path Helper Functions
|
|
808
|
+
*
|
|
809
|
+
* These helper functions generate correct Firestore paths that match
|
|
810
|
+
* the security rules. Use these instead of manually constructing paths
|
|
811
|
+
* to avoid permission-denied errors.
|
|
812
|
+
*
|
|
813
|
+
* 🚨 IMPORTANT: These paths are designed to work with SeaVerse Firestore Rules
|
|
814
|
+
*
|
|
815
|
+
* Permission Levels:
|
|
816
|
+
* - publicRead: Read-only for all users, write for admins only
|
|
817
|
+
* - publicData: Read/write for all authenticated users
|
|
818
|
+
* - userData: Read/write only for the data owner
|
|
819
|
+
*/
|
|
820
|
+
/**
|
|
821
|
+
* Generate path for publicRead data (read-only for users, write for admins)
|
|
822
|
+
*
|
|
823
|
+
* @param appId - Your application ID
|
|
824
|
+
* @param collection - Collection name (e.g., 'announcements', 'config')
|
|
825
|
+
* @returns Firestore path string
|
|
826
|
+
*
|
|
827
|
+
* @example
|
|
828
|
+
* ```typescript
|
|
829
|
+
* // Read system announcements
|
|
830
|
+
* const path = getPublicReadPath('my-app', 'announcements');
|
|
831
|
+
* // Returns: 'appData/my-app/publicRead/announcements'
|
|
832
|
+
*
|
|
833
|
+
* const snapshot = await getDocs(collection(db, path));
|
|
834
|
+
* ```
|
|
835
|
+
*/
|
|
836
|
+
declare function getPublicReadPath(appId: string, collectionName: string): string;
|
|
837
|
+
/**
|
|
838
|
+
* Generate path for publicData (read/write for all authenticated users)
|
|
839
|
+
*
|
|
840
|
+
* @param appId - Your application ID
|
|
841
|
+
* @param collection - Collection name (e.g., 'posts', 'comments')
|
|
842
|
+
* @returns Firestore path string
|
|
843
|
+
*
|
|
844
|
+
* @example
|
|
845
|
+
* ```typescript
|
|
846
|
+
* // Write a public post
|
|
847
|
+
* const path = getPublicDataPath('my-app', 'posts');
|
|
848
|
+
* // Returns: 'appData/my-app/publicData/posts'
|
|
849
|
+
*
|
|
850
|
+
* await addDoc(collection(db, path), {
|
|
851
|
+
* _appId: appId,
|
|
852
|
+
* _createdAt: serverTimestamp(),
|
|
853
|
+
* _createdBy: userId,
|
|
854
|
+
* title: 'My Post'
|
|
855
|
+
* });
|
|
856
|
+
* ```
|
|
857
|
+
*/
|
|
858
|
+
declare function getPublicDataPath(appId: string, collectionName: string): string;
|
|
859
|
+
/**
|
|
860
|
+
* Generate path for userData (private, read/write only by owner)
|
|
861
|
+
*
|
|
862
|
+
* @param appId - Your application ID
|
|
863
|
+
* @param userId - User ID who owns this data
|
|
864
|
+
* @param collection - Collection name (e.g., 'notes', 'settings')
|
|
865
|
+
* @returns Firestore path string
|
|
866
|
+
*
|
|
867
|
+
* @example
|
|
868
|
+
* ```typescript
|
|
869
|
+
* // Write private user notes
|
|
870
|
+
* const path = getUserDataPath('my-app', 'user-123', 'notes');
|
|
871
|
+
* // Returns: 'appData/my-app/userData/user-123/notes'
|
|
872
|
+
*
|
|
873
|
+
* await addDoc(collection(db, path), {
|
|
874
|
+
* _appId: appId,
|
|
875
|
+
* _createdAt: serverTimestamp(),
|
|
876
|
+
* _createdBy: userId,
|
|
877
|
+
* content: 'Private note'
|
|
878
|
+
* });
|
|
879
|
+
* ```
|
|
880
|
+
*/
|
|
881
|
+
declare function getUserDataPath(appId: string, userId: string, collectionName: string): string;
|
|
882
|
+
/**
|
|
883
|
+
* Generate path for a specific document in publicRead
|
|
884
|
+
*
|
|
885
|
+
* @param appId - Your application ID
|
|
886
|
+
* @param collection - Collection name
|
|
887
|
+
* @param docId - Document ID
|
|
888
|
+
* @returns Firestore document path string
|
|
889
|
+
*
|
|
890
|
+
* @example
|
|
891
|
+
* ```typescript
|
|
892
|
+
* const path = getPublicReadDocPath('my-app', 'announcements', 'announcement-1');
|
|
893
|
+
* // Returns: 'appData/my-app/publicRead/announcements/announcement-1'
|
|
894
|
+
*
|
|
895
|
+
* const docSnap = await getDoc(doc(db, path));
|
|
896
|
+
* ```
|
|
897
|
+
*/
|
|
898
|
+
declare function getPublicReadDocPath(appId: string, collectionName: string, docId: string): string;
|
|
899
|
+
/**
|
|
900
|
+
* Generate path for a specific document in publicData
|
|
901
|
+
*
|
|
902
|
+
* @param appId - Your application ID
|
|
903
|
+
* @param collection - Collection name
|
|
904
|
+
* @param docId - Document ID
|
|
905
|
+
* @returns Firestore document path string
|
|
906
|
+
*
|
|
907
|
+
* @example
|
|
908
|
+
* ```typescript
|
|
909
|
+
* const path = getPublicDataDocPath('my-app', 'posts', 'post-123');
|
|
910
|
+
* // Returns: 'appData/my-app/publicData/posts/post-123'
|
|
911
|
+
*
|
|
912
|
+
* const docSnap = await getDoc(doc(db, path));
|
|
913
|
+
* ```
|
|
914
|
+
*/
|
|
915
|
+
declare function getPublicDataDocPath(appId: string, collectionName: string, docId: string): string;
|
|
916
|
+
/**
|
|
917
|
+
* Generate path for a specific document in userData
|
|
918
|
+
*
|
|
919
|
+
* @param appId - Your application ID
|
|
920
|
+
* @param userId - User ID who owns this data
|
|
921
|
+
* @param collection - Collection name
|
|
922
|
+
* @param docId - Document ID
|
|
923
|
+
* @returns Firestore document path string
|
|
924
|
+
*
|
|
925
|
+
* @example
|
|
926
|
+
* ```typescript
|
|
927
|
+
* const path = getUserDataDocPath('my-app', 'user-123', 'notes', 'note-456');
|
|
928
|
+
* // Returns: 'appData/my-app/userData/user-123/notes/note-456'
|
|
929
|
+
*
|
|
930
|
+
* const docSnap = await getDoc(doc(db, path));
|
|
931
|
+
* ```
|
|
932
|
+
*/
|
|
933
|
+
declare function getUserDataDocPath(appId: string, userId: string, collectionName: string, docId: string): string;
|
|
934
|
+
/**
|
|
935
|
+
* Path builder for advanced use cases
|
|
936
|
+
* Provides a fluent interface for building Firestore paths
|
|
937
|
+
*
|
|
938
|
+
* @example
|
|
939
|
+
* ```typescript
|
|
940
|
+
* // Build a path step by step
|
|
941
|
+
* const builder = new PathBuilder('my-app');
|
|
942
|
+
* const path = builder.publicData('posts').build();
|
|
943
|
+
* // Returns: 'appData/my-app/publicData/posts'
|
|
944
|
+
*
|
|
945
|
+
* // With document ID
|
|
946
|
+
* const docPath = builder.publicData('posts').doc('post-123').build();
|
|
947
|
+
* // Returns: 'appData/my-app/publicData/posts/post-123'
|
|
948
|
+
* ```
|
|
949
|
+
*/
|
|
950
|
+
declare class PathBuilder {
|
|
951
|
+
private appId;
|
|
952
|
+
private segments;
|
|
953
|
+
constructor(appId: string);
|
|
954
|
+
/**
|
|
955
|
+
* Add publicRead collection to path
|
|
956
|
+
*/
|
|
957
|
+
publicRead(collectionName: string): this;
|
|
958
|
+
/**
|
|
959
|
+
* Add publicData collection to path
|
|
960
|
+
*/
|
|
961
|
+
publicData(collectionName: string): this;
|
|
962
|
+
/**
|
|
963
|
+
* Add userData collection to path
|
|
964
|
+
*/
|
|
965
|
+
userData(userId: string, collectionName: string): this;
|
|
966
|
+
/**
|
|
967
|
+
* Add document ID to path
|
|
968
|
+
*/
|
|
969
|
+
doc(docId: string): this;
|
|
970
|
+
/**
|
|
971
|
+
* Build the final path string
|
|
972
|
+
*/
|
|
973
|
+
build(): string;
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* Common path patterns as constants for frequently used paths
|
|
977
|
+
*/
|
|
978
|
+
declare const PATH_PATTERNS: {
|
|
979
|
+
/**
|
|
980
|
+
* Base pattern for all SeaVerse data
|
|
981
|
+
*/
|
|
982
|
+
readonly APP_DATA: "appData";
|
|
983
|
+
/**
|
|
984
|
+
* Permission layers
|
|
985
|
+
*/
|
|
986
|
+
readonly PUBLIC_READ: "publicRead";
|
|
987
|
+
readonly PUBLIC_DATA: "publicData";
|
|
988
|
+
readonly USER_DATA: "userData";
|
|
989
|
+
};
|
|
990
|
+
|
|
991
|
+
export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT, DataServiceClient, ENDPOINTS, FirestoreHelper, PATH_PATTERNS, PathBuilder, addDocWithMeta, getFirebaseConfig, getPublicDataDocPath, getPublicDataPath, getPublicReadDocPath, getPublicReadPath, getUserDataDocPath, getUserDataPath, initializeWithToken, updateDocWithMeta };
|
|
522
992
|
export type { ApiError, ApiResponse, DataServiceClientOptions, FirebaseConfig, FirestoreTokenResponse, GenerateFirestoreTokenRequest, GenerateGuestFirestoreTokenRequest };
|