@dereekb/firebase-server 13.6.6 → 13.6.7

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/index.cjs.js CHANGED
@@ -3374,7 +3374,15 @@ var _obj;
3374
3374
  }
3375
3375
 
3376
3376
  /**
3377
- * Creates a FirestoreContextFactory that uses the @'@google-cloud/firestore package.
3377
+ * Pre-configured {@link FirestoreContextFactory} for Google Cloud Firestore (Admin SDK) usage.
3378
+ *
3379
+ * Wires the server-side Firestore drivers into the abstract {@link FirestoreContextFactory}
3380
+ * so that collections, documents, queries, and transactions all use the Admin SDK implementation.
3381
+ *
3382
+ * @example
3383
+ * ```ts
3384
+ * const context = googleCloudFirestoreContextFactory(firestore);
3385
+ * ```
3378
3386
  */ var googleCloudFirestoreContextFactory = firebase.firestoreContextFactory(googleCloudFirestoreDrivers());
3379
3387
 
3380
3388
  // MARK: Field Converters
@@ -6625,7 +6633,8 @@ exports.FirebaseServerFirestoreModule = __decorate([
6625
6633
  })
6626
6634
  ], exports.FirebaseServerFirestoreModule);
6627
6635
  /**
6628
- * Nest provider module for firebase that includes the FirebaseServerFirestoreModule and provides a value for FIRESTORE_CONTEXT_TOKEN using the googleCloudFirestoreContextFactory.
6636
+ * Nest provider module for firebase that includes the FirebaseServerFirestoreModule and provides
6637
+ * a value for FIRESTORE_CONTEXT_TOKEN using the googleCloudFirestoreContextFactory without caching.
6629
6638
  */ exports.FirebaseServerFirestoreContextModule = function FirebaseServerFirestoreContextModule() {
6630
6639
  _class_call_check$b(this, FirebaseServerFirestoreContextModule);
6631
6640
  };
@@ -6649,6 +6658,48 @@ exports.FirebaseServerFirestoreContextModule = __decorate([
6649
6658
  ]
6650
6659
  })
6651
6660
  ], exports.FirebaseServerFirestoreContextModule);
6661
+ /**
6662
+ * Generates NestJS {@link ModuleMetadata} for a dynamic Firestore context module
6663
+ * that includes the {@link FirebaseServerFirestoreModule} and provides a
6664
+ * {@link FIREBASE_FIRESTORE_CONTEXT_TOKEN} with cache support.
6665
+ *
6666
+ * If caching is not needed, use {@link FirebaseServerFirestoreContextModule} directly instead.
6667
+ *
6668
+ * @param config - Configuration including the cache factory
6669
+ * @returns Module metadata ready for the `@Module()` decorator
6670
+ *
6671
+ * @example
6672
+ * ```typescript
6673
+ * @Module(firebaseServerFirestoreContextModuleMetadata({
6674
+ * firestoreContextCacheFactory: inMemoryFirestoreContextCacheFactory()
6675
+ * }))
6676
+ * export class AppFirestoreContextModule {}
6677
+ * ```
6678
+ */ function firebaseServerFirestoreContextModuleMetadata(config) {
6679
+ var params = {
6680
+ firestoreContextCacheFactory: config.firestoreContextCacheFactory
6681
+ };
6682
+ return {
6683
+ imports: [
6684
+ exports.FirebaseServerFirestoreModule
6685
+ ],
6686
+ providers: [
6687
+ {
6688
+ provide: FIREBASE_FIRESTORE_CONTEXT_TOKEN,
6689
+ useFactory: function useFactory(firestore) {
6690
+ return googleCloudFirestoreContextFactory(firestore, params);
6691
+ },
6692
+ inject: [
6693
+ FIREBASE_FIRESTORE_TOKEN
6694
+ ]
6695
+ }
6696
+ ],
6697
+ exports: [
6698
+ exports.FirebaseServerFirestoreModule,
6699
+ FIREBASE_FIRESTORE_CONTEXT_TOKEN
6700
+ ]
6701
+ };
6702
+ }
6652
6703
  /**
6653
6704
  * Creates a NestJS provider that initializes a Firestore collections instance from the app's {@link FirestoreContext}.
6654
6705
  *
@@ -6677,8 +6728,13 @@ exports.FirebaseServerFirestoreContextModule = __decorate([
6677
6728
  ];
6678
6729
  }
6679
6730
  /**
6680
- * Generates NestJS {@link ModuleMetadata} for an app's Firestore module, including the
6681
- * {@link FirebaseServerFirestoreContextModule} import and the app's collections provider.
6731
+ * Generates NestJS {@link ModuleMetadata} for an app's Firestore module, including
6732
+ * the Firestore context module and the app's collections provider.
6733
+ *
6734
+ * When a {@link FirestoreContextCacheFactory} is provided via
6735
+ * {@link ProvideAppFirestoreModuleMetadataConfig.firestoreContextCacheFactory},
6736
+ * a dynamic context module with cache support is used instead of the default
6737
+ * {@link FirebaseServerFirestoreContextModule}.
6682
6738
  *
6683
6739
  * @param config - The Firestore collections config plus optional additional module metadata.
6684
6740
  * @returns NestJS module metadata ready to be passed to the `@Module()` decorator.
@@ -6691,17 +6747,35 @@ exports.FirebaseServerFirestoreContextModule = __decorate([
6691
6747
  * }))
6692
6748
  * export class AppFirestoreModule {}
6693
6749
  * ```
6750
+ *
6751
+ * @example
6752
+ * ```typescript
6753
+ * // With caching
6754
+ * @Module(appFirestoreModuleMetadata({
6755
+ * provide: DemoFirestoreCollections,
6756
+ * useFactory: (context) => new DemoFirestoreCollections(context),
6757
+ * firestoreContextCacheFactory: inMemoryFirestoreContextCacheFactory()
6758
+ * }))
6759
+ * export class AppFirestoreModule {}
6760
+ * ```
6694
6761
  */ function appFirestoreModuleMetadata(config) {
6695
- var _config_imports, _config_exports, _config_providers;
6696
- return {
6762
+ var _contextModuleMetadata_imports, _config_imports, _contextModuleMetadata_exports, _config_exports, _contextModuleMetadata_providers, _config_providers;
6763
+ var contextModuleMetadata = config.firestoreContextCacheFactory ? firebaseServerFirestoreContextModuleMetadata({
6764
+ firestoreContextCacheFactory: config.firestoreContextCacheFactory
6765
+ }) : {
6697
6766
  imports: [
6698
6767
  exports.FirebaseServerFirestoreContextModule
6699
- ].concat(_to_consumable_array$3((_config_imports = config.imports) !== null && _config_imports !== void 0 ? _config_imports : [])),
6768
+ ],
6700
6769
  exports: [
6701
- exports.FirebaseServerFirestoreContextModule,
6770
+ exports.FirebaseServerFirestoreContextModule
6771
+ ]
6772
+ };
6773
+ return {
6774
+ imports: _to_consumable_array$3((_contextModuleMetadata_imports = contextModuleMetadata.imports) !== null && _contextModuleMetadata_imports !== void 0 ? _contextModuleMetadata_imports : []).concat(_to_consumable_array$3((_config_imports = config.imports) !== null && _config_imports !== void 0 ? _config_imports : [])),
6775
+ exports: _to_consumable_array$3((_contextModuleMetadata_exports = contextModuleMetadata.exports) !== null && _contextModuleMetadata_exports !== void 0 ? _contextModuleMetadata_exports : []).concat([
6702
6776
  config.provide
6703
- ].concat(_to_consumable_array$3((_config_exports = config.exports) !== null && _config_exports !== void 0 ? _config_exports : [])),
6704
- providers: _to_consumable_array$3(provideAppFirestoreCollections(config)).concat(_to_consumable_array$3((_config_providers = config.providers) !== null && _config_providers !== void 0 ? _config_providers : []))
6777
+ ], _to_consumable_array$3((_config_exports = config.exports) !== null && _config_exports !== void 0 ? _config_exports : [])),
6778
+ providers: _to_consumable_array$3((_contextModuleMetadata_providers = contextModuleMetadata.providers) !== null && _contextModuleMetadata_providers !== void 0 ? _contextModuleMetadata_providers : []).concat(_to_consumable_array$3(provideAppFirestoreCollections(config)), _to_consumable_array$3((_config_providers = config.providers) !== null && _config_providers !== void 0 ? _config_providers : []))
6705
6779
  };
6706
6780
  }
6707
6781
 
@@ -10172,6 +10246,7 @@ exports.firebaseServerErrorInfo = firebaseServerErrorInfo;
10172
10246
  exports.firebaseServerErrorInfoCodePair = firebaseServerErrorInfoCodePair;
10173
10247
  exports.firebaseServerErrorInfoServerErrorCodePair = firebaseServerErrorInfoServerErrorCodePair;
10174
10248
  exports.firebaseServerErrorInfoServerErrorPair = firebaseServerErrorInfoServerErrorPair;
10249
+ exports.firebaseServerFirestoreContextModuleMetadata = firebaseServerFirestoreContextModuleMetadata;
10175
10250
  exports.firebaseServerStorageDefaultBucketIdTokenProvider = firebaseServerStorageDefaultBucketIdTokenProvider;
10176
10251
  exports.firebaseServerStorageModuleMetadata = firebaseServerStorageModuleMetadata;
10177
10252
  exports.firebaseServerValidationError = firebaseServerValidationError;
package/index.esm.js CHANGED
@@ -3372,7 +3372,15 @@ var _obj;
3372
3372
  }
3373
3373
 
3374
3374
  /**
3375
- * Creates a FirestoreContextFactory that uses the @'@google-cloud/firestore package.
3375
+ * Pre-configured {@link FirestoreContextFactory} for Google Cloud Firestore (Admin SDK) usage.
3376
+ *
3377
+ * Wires the server-side Firestore drivers into the abstract {@link FirestoreContextFactory}
3378
+ * so that collections, documents, queries, and transactions all use the Admin SDK implementation.
3379
+ *
3380
+ * @example
3381
+ * ```ts
3382
+ * const context = googleCloudFirestoreContextFactory(firestore);
3383
+ * ```
3376
3384
  */ var googleCloudFirestoreContextFactory = firestoreContextFactory(googleCloudFirestoreDrivers());
3377
3385
 
3378
3386
  // MARK: Field Converters
@@ -6623,7 +6631,8 @@ FirebaseServerFirestoreModule = __decorate([
6623
6631
  })
6624
6632
  ], FirebaseServerFirestoreModule);
6625
6633
  /**
6626
- * Nest provider module for firebase that includes the FirebaseServerFirestoreModule and provides a value for FIRESTORE_CONTEXT_TOKEN using the googleCloudFirestoreContextFactory.
6634
+ * Nest provider module for firebase that includes the FirebaseServerFirestoreModule and provides
6635
+ * a value for FIRESTORE_CONTEXT_TOKEN using the googleCloudFirestoreContextFactory without caching.
6627
6636
  */ var FirebaseServerFirestoreContextModule = function FirebaseServerFirestoreContextModule() {
6628
6637
  _class_call_check$b(this, FirebaseServerFirestoreContextModule);
6629
6638
  };
@@ -6647,6 +6656,48 @@ FirebaseServerFirestoreContextModule = __decorate([
6647
6656
  ]
6648
6657
  })
6649
6658
  ], FirebaseServerFirestoreContextModule);
6659
+ /**
6660
+ * Generates NestJS {@link ModuleMetadata} for a dynamic Firestore context module
6661
+ * that includes the {@link FirebaseServerFirestoreModule} and provides a
6662
+ * {@link FIREBASE_FIRESTORE_CONTEXT_TOKEN} with cache support.
6663
+ *
6664
+ * If caching is not needed, use {@link FirebaseServerFirestoreContextModule} directly instead.
6665
+ *
6666
+ * @param config - Configuration including the cache factory
6667
+ * @returns Module metadata ready for the `@Module()` decorator
6668
+ *
6669
+ * @example
6670
+ * ```typescript
6671
+ * @Module(firebaseServerFirestoreContextModuleMetadata({
6672
+ * firestoreContextCacheFactory: inMemoryFirestoreContextCacheFactory()
6673
+ * }))
6674
+ * export class AppFirestoreContextModule {}
6675
+ * ```
6676
+ */ function firebaseServerFirestoreContextModuleMetadata(config) {
6677
+ var params = {
6678
+ firestoreContextCacheFactory: config.firestoreContextCacheFactory
6679
+ };
6680
+ return {
6681
+ imports: [
6682
+ FirebaseServerFirestoreModule
6683
+ ],
6684
+ providers: [
6685
+ {
6686
+ provide: FIREBASE_FIRESTORE_CONTEXT_TOKEN,
6687
+ useFactory: function useFactory(firestore) {
6688
+ return googleCloudFirestoreContextFactory(firestore, params);
6689
+ },
6690
+ inject: [
6691
+ FIREBASE_FIRESTORE_TOKEN
6692
+ ]
6693
+ }
6694
+ ],
6695
+ exports: [
6696
+ FirebaseServerFirestoreModule,
6697
+ FIREBASE_FIRESTORE_CONTEXT_TOKEN
6698
+ ]
6699
+ };
6700
+ }
6650
6701
  /**
6651
6702
  * Creates a NestJS provider that initializes a Firestore collections instance from the app's {@link FirestoreContext}.
6652
6703
  *
@@ -6675,8 +6726,13 @@ FirebaseServerFirestoreContextModule = __decorate([
6675
6726
  ];
6676
6727
  }
6677
6728
  /**
6678
- * Generates NestJS {@link ModuleMetadata} for an app's Firestore module, including the
6679
- * {@link FirebaseServerFirestoreContextModule} import and the app's collections provider.
6729
+ * Generates NestJS {@link ModuleMetadata} for an app's Firestore module, including
6730
+ * the Firestore context module and the app's collections provider.
6731
+ *
6732
+ * When a {@link FirestoreContextCacheFactory} is provided via
6733
+ * {@link ProvideAppFirestoreModuleMetadataConfig.firestoreContextCacheFactory},
6734
+ * a dynamic context module with cache support is used instead of the default
6735
+ * {@link FirebaseServerFirestoreContextModule}.
6680
6736
  *
6681
6737
  * @param config - The Firestore collections config plus optional additional module metadata.
6682
6738
  * @returns NestJS module metadata ready to be passed to the `@Module()` decorator.
@@ -6689,17 +6745,35 @@ FirebaseServerFirestoreContextModule = __decorate([
6689
6745
  * }))
6690
6746
  * export class AppFirestoreModule {}
6691
6747
  * ```
6748
+ *
6749
+ * @example
6750
+ * ```typescript
6751
+ * // With caching
6752
+ * @Module(appFirestoreModuleMetadata({
6753
+ * provide: DemoFirestoreCollections,
6754
+ * useFactory: (context) => new DemoFirestoreCollections(context),
6755
+ * firestoreContextCacheFactory: inMemoryFirestoreContextCacheFactory()
6756
+ * }))
6757
+ * export class AppFirestoreModule {}
6758
+ * ```
6692
6759
  */ function appFirestoreModuleMetadata(config) {
6693
- var _config_imports, _config_exports, _config_providers;
6694
- return {
6760
+ var _contextModuleMetadata_imports, _config_imports, _contextModuleMetadata_exports, _config_exports, _contextModuleMetadata_providers, _config_providers;
6761
+ var contextModuleMetadata = config.firestoreContextCacheFactory ? firebaseServerFirestoreContextModuleMetadata({
6762
+ firestoreContextCacheFactory: config.firestoreContextCacheFactory
6763
+ }) : {
6695
6764
  imports: [
6696
6765
  FirebaseServerFirestoreContextModule
6697
- ].concat(_to_consumable_array$3((_config_imports = config.imports) !== null && _config_imports !== void 0 ? _config_imports : [])),
6766
+ ],
6698
6767
  exports: [
6699
- FirebaseServerFirestoreContextModule,
6768
+ FirebaseServerFirestoreContextModule
6769
+ ]
6770
+ };
6771
+ return {
6772
+ imports: _to_consumable_array$3((_contextModuleMetadata_imports = contextModuleMetadata.imports) !== null && _contextModuleMetadata_imports !== void 0 ? _contextModuleMetadata_imports : []).concat(_to_consumable_array$3((_config_imports = config.imports) !== null && _config_imports !== void 0 ? _config_imports : [])),
6773
+ exports: _to_consumable_array$3((_contextModuleMetadata_exports = contextModuleMetadata.exports) !== null && _contextModuleMetadata_exports !== void 0 ? _contextModuleMetadata_exports : []).concat([
6700
6774
  config.provide
6701
- ].concat(_to_consumable_array$3((_config_exports = config.exports) !== null && _config_exports !== void 0 ? _config_exports : [])),
6702
- providers: _to_consumable_array$3(provideAppFirestoreCollections(config)).concat(_to_consumable_array$3((_config_providers = config.providers) !== null && _config_providers !== void 0 ? _config_providers : []))
6775
+ ], _to_consumable_array$3((_config_exports = config.exports) !== null && _config_exports !== void 0 ? _config_exports : [])),
6776
+ providers: _to_consumable_array$3((_contextModuleMetadata_providers = contextModuleMetadata.providers) !== null && _contextModuleMetadata_providers !== void 0 ? _contextModuleMetadata_providers : []).concat(_to_consumable_array$3(provideAppFirestoreCollections(config)), _to_consumable_array$3((_config_providers = config.providers) !== null && _config_providers !== void 0 ? _config_providers : []))
6703
6777
  };
6704
6778
  }
6705
6779
 
@@ -10075,4 +10149,4 @@ function _define_property(obj, key, value) {
10075
10149
  }
10076
10150
  ();
10077
10151
 
10078
- export { ALREADY_EXISTS_ERROR_CODE, AbstractFirebaseNestContext, AbstractFirebaseServerActionsContext, AbstractFirebaseServerAuthContext, AbstractFirebaseServerAuthService, AbstractFirebaseServerAuthUserContext, AbstractFirebaseServerNewUserService, AbstractNestContext, AbstractServerFirebaseNestContext, BAD_REQUEST_ERROR_CODE, CONFLICT_ERROR_CODE, ConfigureFirebaseAppCheckMiddlewareModule, ConfigureFirebaseWebhookMiddlewareModule, DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR, DEFAULT_SETUP_COM_THROTTLE_TIME, DefaultFirebaseServerEnvService, FIREBASE_APP_TOKEN, FIREBASE_AUTH_TOKEN, FIREBASE_FIRESTORE_CONTEXT_TOKEN, FIREBASE_FIRESTORE_TOKEN, FIREBASE_SERVER_ENV_TOKEN, FIREBASE_SERVER_VALIDATION_ERROR_CODE, FIREBASE_STORAGE_CONTEXT_FACTORY_CONFIG_TOKEN, FIREBASE_STORAGE_CONTEXT_TOKEN, FIREBASE_STORAGE_TOKEN, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FORBIDDEN_ERROR_CODE, FirebaseAppCheckMiddleware, FirebaseAppCheckMiddlewareConfig, FirebaseNestServerRootModule, FirebaseRawBodyMiddleware, FirebaseServerAnalyticsSegmentListenerService, FirebaseServerAnalyticsSegmentModule, FirebaseServerAnalyticsService, FirebaseServerAnalyticsServiceListener, FirebaseServerAuthModule, FirebaseServerAuthNewUserSendSetupDetailsNoSetupConfigError, FirebaseServerAuthNewUserSendSetupDetailsSendOnceError, FirebaseServerAuthNewUserSendSetupDetailsThrottleError, FirebaseServerAuthService, FirebaseServerAuthUserBadInputError, FirebaseServerAuthUserExistsError, FirebaseServerEnvService, FirebaseServerFirestoreContextModule, FirebaseServerFirestoreModule, FirebaseServerStorageContextModule, FirebaseServerStorageModule, FirebaseServerStorageService, GlobalRoutePrefixConfig, INTERNAL_SERVER_ERROR_CODE, MODEL_NOT_AVAILABLE_ERROR_CODE, NOT_FOUND_ERROR_CODE, NO_RUN_NAME_SPECIFIED_FOR_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_CODE, NoSetupContentFirebaseServerNewUserService, ON_CALL_MODEL_ANALYTICS_HANDLER, ON_CALL_MODEL_ANALYTICS_SERVICE, OnCallModelAnalyticsService, PERMISSION_DENIED_ERROR_CODE, PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE, SkipAppCheck, UNAUTHENTICATED_ERROR_CODE, UNAVAILABLE_ERROR_CODE, UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE, UNKNOWN_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_NAME_CODE, UNKNOWN_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_TYPE_CODE, _onCallWithCallTypeFunction, aggregateCrudModelApiDetails, aggregateModelApiDetails, aggregateSpecifierApiDetails, alreadyExistsError, appAnalyticsModuleMetadata, appFirestoreModuleMetadata, assertContextHasAuth, assertDocumentExists, assertHasRolesInRequest, assertHasSignedTosInRequest, assertIsAdminInRequest, assertIsAdminOrTargetUserInRequestData, assertIsContextWithAuthData, assertRequestRequiresAuthForFunction, assertSnapshotData, assertSnapshotDataWithKey, badRequestError, blockingFunctionHandlerWithNestContextFactory, buildNestServerRootModule, callWithAnalytics, cloudEventHandlerWithNestContextFactory, collectionRefForPath, createModelUnknownModelTypeError, defaultFirebaseServerActionsTransformFactoryLogErrorFunction, defaultProvideFirebaseServerStorageServiceSimple, deleteModelUnknownModelTypeError, developmentUnknownSpecifierError, docRefForPath, documentModelNotAvailableError, firebaseAuthTokenFromDecodedIdToken, firebaseServerActionsContext, firebaseServerActionsTransformContext, firebaseServerActionsTransformFactory, firebaseServerAppTokenProvider, firebaseServerAuthModuleMetadata, firebaseServerDevFunctions, firebaseServerEnvTokenProvider, firebaseServerEnvTokenProviders, firebaseServerErrorInfo, firebaseServerErrorInfoCodePair, firebaseServerErrorInfoServerErrorCodePair, firebaseServerErrorInfoServerErrorPair, firebaseServerStorageDefaultBucketIdTokenProvider, firebaseServerStorageModuleMetadata, firebaseServerValidationError, firebaseServerValidationServerError, firestoreClientQueryConstraintFunctionsDriver, firestoreEncryptedField, firestoreServerIncrementUpdateToUpdateData, forbiddenError, getAuthUserOrUndefined, getModelApiDetails, googleCloudFileMetadataToStorageMetadata, googleCloudFirebaseStorageContextFactory, googleCloudFirebaseStorageDrivers, googleCloudFirestoreAccessorDriver, googleCloudFirestoreContextFactory, googleCloudFirestoreDrivers, googleCloudFirestoreQueryDriver, googleCloudStorageAccessorFile, googleCloudStorageAccessorFolder, googleCloudStorageBucketForStorageFilePath, googleCloudStorageFileForStorageFilePath, googleCloudStorageFirebaseStorageAccessorDriver, googleCloudStorageFromFirebaseAdminStorage, googleCloudStorageListFilesResultFactory, handleFirebaseAuthError, handleFirebaseError, hasAuthRolesInRequest, hasNewUserSetupPasswordInRequest, hasSignedTosInRequest, inAuthContext, injectNestApplicationContextIntoRequest, injectNestIntoRequest, internalServerError, isActualSpecifier, isAdminInRequest, isAdminOrTargetUserInRequestData, isContextWithAuthData, isFirebaseError, isFirebaseHttpsError, isOnCallCrudModelApiDetails, isOnCallHandlerApiDetails, isOnCallModelTypeApiDetails, isOnCallSpecifierApiDetails, makeBlockingFunctionWithHandler, makeOnScheduleHandlerWithNestApplicationRequest, makeScheduledFunctionDevelopmentFunction, modelNotAvailableError, nestAppHasDevelopmentSchedulerEnabled, nestAppIsProductionEnvironment, nestFirebaseDoesNotExistError, nestFirebaseForbiddenPermissionError, nestServerInstance, noRunNameSpecifiedForScheduledFunctionDevelopmentFunction, noopFirebaseServerAnalyticsServiceListener, noopOnCallModelAnalyticsService, notFoundError, onCallAnalyticsEmitterInstance, onCallCreateModel, onCallDeleteModel, onCallDevelopmentFunction, onCallHandlerWithNestApplicationFactory, onCallHandlerWithNestContextFactory, onCallModel, onCallModelMissingCallTypeError, onCallModelUnknownCallTypeError, onCallReadModel, onCallSpecifierHandler, onCallUpdateModel, onScheduleHandlerWithNestApplicationFactory, onScheduleHandlerWithNestContextFactory, optionalAuthContext, optionalFirestoreEncryptedField, permissionDeniedError, phoneNumberAlreadyExistsError, preconditionConflictError, provideAppFirestoreCollections, provideFirebaseServerAuthService, provideFirebaseServerStorageService, readApiDetails, readModelUnknownModelTypeError, resolveAnalyticsFromApiDetails, setNestContextOnRequest, setNestContextOnScheduleRequest, taskQueueFunctionHandlerWithNestContextFactory, unauthenticatedContextHasNoAuthData, unauthenticatedContextHasNoUidError, unauthenticatedError, unavailableError, unavailableOrDeactivatedFunctionError, unknownModelCrudFunctionSpecifierError, unknownScheduledFunctionDevelopmentFunctionName, unknownScheduledFunctionDevelopmentFunctionType, updateModelUnknownModelTypeError, userContextFromUid, verifyAppCheckInRequest, withApiDetails };
10152
+ export { ALREADY_EXISTS_ERROR_CODE, AbstractFirebaseNestContext, AbstractFirebaseServerActionsContext, AbstractFirebaseServerAuthContext, AbstractFirebaseServerAuthService, AbstractFirebaseServerAuthUserContext, AbstractFirebaseServerNewUserService, AbstractNestContext, AbstractServerFirebaseNestContext, BAD_REQUEST_ERROR_CODE, CONFLICT_ERROR_CODE, ConfigureFirebaseAppCheckMiddlewareModule, ConfigureFirebaseWebhookMiddlewareModule, DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR, DEFAULT_SETUP_COM_THROTTLE_TIME, DefaultFirebaseServerEnvService, FIREBASE_APP_TOKEN, FIREBASE_AUTH_TOKEN, FIREBASE_FIRESTORE_CONTEXT_TOKEN, FIREBASE_FIRESTORE_TOKEN, FIREBASE_SERVER_ENV_TOKEN, FIREBASE_SERVER_VALIDATION_ERROR_CODE, FIREBASE_STORAGE_CONTEXT_FACTORY_CONFIG_TOKEN, FIREBASE_STORAGE_CONTEXT_TOKEN, FIREBASE_STORAGE_TOKEN, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FORBIDDEN_ERROR_CODE, FirebaseAppCheckMiddleware, FirebaseAppCheckMiddlewareConfig, FirebaseNestServerRootModule, FirebaseRawBodyMiddleware, FirebaseServerAnalyticsSegmentListenerService, FirebaseServerAnalyticsSegmentModule, FirebaseServerAnalyticsService, FirebaseServerAnalyticsServiceListener, FirebaseServerAuthModule, FirebaseServerAuthNewUserSendSetupDetailsNoSetupConfigError, FirebaseServerAuthNewUserSendSetupDetailsSendOnceError, FirebaseServerAuthNewUserSendSetupDetailsThrottleError, FirebaseServerAuthService, FirebaseServerAuthUserBadInputError, FirebaseServerAuthUserExistsError, FirebaseServerEnvService, FirebaseServerFirestoreContextModule, FirebaseServerFirestoreModule, FirebaseServerStorageContextModule, FirebaseServerStorageModule, FirebaseServerStorageService, GlobalRoutePrefixConfig, INTERNAL_SERVER_ERROR_CODE, MODEL_NOT_AVAILABLE_ERROR_CODE, NOT_FOUND_ERROR_CODE, NO_RUN_NAME_SPECIFIED_FOR_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_CODE, NoSetupContentFirebaseServerNewUserService, ON_CALL_MODEL_ANALYTICS_HANDLER, ON_CALL_MODEL_ANALYTICS_SERVICE, OnCallModelAnalyticsService, PERMISSION_DENIED_ERROR_CODE, PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE, SkipAppCheck, UNAUTHENTICATED_ERROR_CODE, UNAVAILABLE_ERROR_CODE, UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE, UNKNOWN_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_NAME_CODE, UNKNOWN_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_TYPE_CODE, _onCallWithCallTypeFunction, aggregateCrudModelApiDetails, aggregateModelApiDetails, aggregateSpecifierApiDetails, alreadyExistsError, appAnalyticsModuleMetadata, appFirestoreModuleMetadata, assertContextHasAuth, assertDocumentExists, assertHasRolesInRequest, assertHasSignedTosInRequest, assertIsAdminInRequest, assertIsAdminOrTargetUserInRequestData, assertIsContextWithAuthData, assertRequestRequiresAuthForFunction, assertSnapshotData, assertSnapshotDataWithKey, badRequestError, blockingFunctionHandlerWithNestContextFactory, buildNestServerRootModule, callWithAnalytics, cloudEventHandlerWithNestContextFactory, collectionRefForPath, createModelUnknownModelTypeError, defaultFirebaseServerActionsTransformFactoryLogErrorFunction, defaultProvideFirebaseServerStorageServiceSimple, deleteModelUnknownModelTypeError, developmentUnknownSpecifierError, docRefForPath, documentModelNotAvailableError, firebaseAuthTokenFromDecodedIdToken, firebaseServerActionsContext, firebaseServerActionsTransformContext, firebaseServerActionsTransformFactory, firebaseServerAppTokenProvider, firebaseServerAuthModuleMetadata, firebaseServerDevFunctions, firebaseServerEnvTokenProvider, firebaseServerEnvTokenProviders, firebaseServerErrorInfo, firebaseServerErrorInfoCodePair, firebaseServerErrorInfoServerErrorCodePair, firebaseServerErrorInfoServerErrorPair, firebaseServerFirestoreContextModuleMetadata, firebaseServerStorageDefaultBucketIdTokenProvider, firebaseServerStorageModuleMetadata, firebaseServerValidationError, firebaseServerValidationServerError, firestoreClientQueryConstraintFunctionsDriver, firestoreEncryptedField, firestoreServerIncrementUpdateToUpdateData, forbiddenError, getAuthUserOrUndefined, getModelApiDetails, googleCloudFileMetadataToStorageMetadata, googleCloudFirebaseStorageContextFactory, googleCloudFirebaseStorageDrivers, googleCloudFirestoreAccessorDriver, googleCloudFirestoreContextFactory, googleCloudFirestoreDrivers, googleCloudFirestoreQueryDriver, googleCloudStorageAccessorFile, googleCloudStorageAccessorFolder, googleCloudStorageBucketForStorageFilePath, googleCloudStorageFileForStorageFilePath, googleCloudStorageFirebaseStorageAccessorDriver, googleCloudStorageFromFirebaseAdminStorage, googleCloudStorageListFilesResultFactory, handleFirebaseAuthError, handleFirebaseError, hasAuthRolesInRequest, hasNewUserSetupPasswordInRequest, hasSignedTosInRequest, inAuthContext, injectNestApplicationContextIntoRequest, injectNestIntoRequest, internalServerError, isActualSpecifier, isAdminInRequest, isAdminOrTargetUserInRequestData, isContextWithAuthData, isFirebaseError, isFirebaseHttpsError, isOnCallCrudModelApiDetails, isOnCallHandlerApiDetails, isOnCallModelTypeApiDetails, isOnCallSpecifierApiDetails, makeBlockingFunctionWithHandler, makeOnScheduleHandlerWithNestApplicationRequest, makeScheduledFunctionDevelopmentFunction, modelNotAvailableError, nestAppHasDevelopmentSchedulerEnabled, nestAppIsProductionEnvironment, nestFirebaseDoesNotExistError, nestFirebaseForbiddenPermissionError, nestServerInstance, noRunNameSpecifiedForScheduledFunctionDevelopmentFunction, noopFirebaseServerAnalyticsServiceListener, noopOnCallModelAnalyticsService, notFoundError, onCallAnalyticsEmitterInstance, onCallCreateModel, onCallDeleteModel, onCallDevelopmentFunction, onCallHandlerWithNestApplicationFactory, onCallHandlerWithNestContextFactory, onCallModel, onCallModelMissingCallTypeError, onCallModelUnknownCallTypeError, onCallReadModel, onCallSpecifierHandler, onCallUpdateModel, onScheduleHandlerWithNestApplicationFactory, onScheduleHandlerWithNestContextFactory, optionalAuthContext, optionalFirestoreEncryptedField, permissionDeniedError, phoneNumberAlreadyExistsError, preconditionConflictError, provideAppFirestoreCollections, provideFirebaseServerAuthService, provideFirebaseServerStorageService, readApiDetails, readModelUnknownModelTypeError, resolveAnalyticsFromApiDetails, setNestContextOnRequest, setNestContextOnScheduleRequest, taskQueueFunctionHandlerWithNestContextFactory, unauthenticatedContextHasNoAuthData, unauthenticatedContextHasNoUidError, unauthenticatedError, unavailableError, unavailableOrDeactivatedFunctionError, unknownModelCrudFunctionSpecifierError, unknownScheduledFunctionDevelopmentFunctionName, unknownScheduledFunctionDevelopmentFunctionType, updateModelUnknownModelTypeError, userContextFromUid, verifyAppCheckInRequest, withApiDetails };
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/mailgun",
3
- "version": "13.6.6",
3
+ "version": "13.6.7",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.6.6",
6
- "@dereekb/firebase": "13.6.6",
7
- "@dereekb/firebase-server": "13.6.6",
8
- "@dereekb/date": "13.6.6",
9
- "@dereekb/nestjs": "13.6.6",
10
- "@dereekb/model": "13.6.6",
11
- "@dereekb/rxjs": "13.6.6",
12
- "@dereekb/util": "13.6.6"
5
+ "@dereekb/analytics": "13.6.7",
6
+ "@dereekb/firebase": "13.6.7",
7
+ "@dereekb/firebase-server": "13.6.7",
8
+ "@dereekb/date": "13.6.7",
9
+ "@dereekb/nestjs": "13.6.7",
10
+ "@dereekb/model": "13.6.7",
11
+ "@dereekb/rxjs": "13.6.7",
12
+ "@dereekb/util": "13.6.7"
13
13
  },
14
14
  "exports": {
15
15
  "./package.json": "./package.json",
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/model",
3
- "version": "13.6.6",
3
+ "version": "13.6.7",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.6.6",
6
- "@dereekb/date": "13.6.6",
7
- "@dereekb/firebase": "13.6.6",
8
- "@dereekb/firebase-server": "13.6.6",
9
- "@dereekb/model": "13.6.6",
10
- "@dereekb/nestjs": "13.6.6",
11
- "@dereekb/rxjs": "13.6.6",
12
- "@dereekb/util": "13.6.6",
5
+ "@dereekb/analytics": "13.6.7",
6
+ "@dereekb/date": "13.6.7",
7
+ "@dereekb/firebase": "13.6.7",
8
+ "@dereekb/firebase-server": "13.6.7",
9
+ "@dereekb/model": "13.6.7",
10
+ "@dereekb/nestjs": "13.6.7",
11
+ "@dereekb/rxjs": "13.6.7",
12
+ "@dereekb/util": "13.6.7",
13
13
  "@nestjs/common": "^11.1.17",
14
14
  "@nestjs/config": "^4.0.3",
15
15
  "archiver": "^7.0.0",
package/oidc/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/oidc",
3
- "version": "13.6.6",
3
+ "version": "13.6.7",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.6.6",
6
- "@dereekb/date": "13.6.6",
7
- "@dereekb/firebase": "13.6.6",
8
- "@dereekb/firebase-server": "13.6.6",
9
- "@dereekb/model": "13.6.6",
10
- "@dereekb/nestjs": "13.6.6",
11
- "@dereekb/rxjs": "13.6.6",
12
- "@dereekb/util": "13.6.6",
13
- "@dereekb/zoho": "13.6.6",
5
+ "@dereekb/analytics": "13.6.7",
6
+ "@dereekb/date": "13.6.7",
7
+ "@dereekb/firebase": "13.6.7",
8
+ "@dereekb/firebase-server": "13.6.7",
9
+ "@dereekb/model": "13.6.7",
10
+ "@dereekb/nestjs": "13.6.7",
11
+ "@dereekb/rxjs": "13.6.7",
12
+ "@dereekb/util": "13.6.7",
13
+ "@dereekb/zoho": "13.6.7",
14
14
  "@nestjs/common": "^11.1.17",
15
15
  "@nestjs/config": "^4.0.3",
16
16
  "express": "^5.0.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "13.6.6",
3
+ "version": "13.6.7",
4
4
  "exports": {
5
5
  "./test": {
6
6
  "module": "./test/index.esm.js",
@@ -43,15 +43,15 @@
43
43
  "main": "./index.cjs.js",
44
44
  "types": "./src/index.d.ts",
45
45
  "peerDependencies": {
46
- "@dereekb/analytics": "13.6.6",
47
- "@dereekb/date": "13.6.6",
48
- "@dereekb/dbx-core": "13.6.6",
49
- "@dereekb/firebase": "13.6.6",
50
- "@dereekb/model": "13.6.6",
51
- "@dereekb/nestjs": "13.6.6",
52
- "@dereekb/rxjs": "13.6.6",
53
- "@dereekb/util": "13.6.6",
54
- "@dereekb/zoho": "13.6.6",
46
+ "@dereekb/analytics": "13.6.7",
47
+ "@dereekb/date": "13.6.7",
48
+ "@dereekb/dbx-core": "13.6.7",
49
+ "@dereekb/firebase": "13.6.7",
50
+ "@dereekb/model": "13.6.7",
51
+ "@dereekb/nestjs": "13.6.7",
52
+ "@dereekb/rxjs": "13.6.7",
53
+ "@dereekb/util": "13.6.7",
54
+ "@dereekb/zoho": "13.6.7",
55
55
  "@google-cloud/firestore": "^7.11.6",
56
56
  "@google-cloud/storage": "^7.19.0",
57
57
  "@nestjs/common": "^11.1.17",
@@ -1,5 +1,13 @@
1
1
  import { type FirestoreContextFactory } from '@dereekb/firebase';
2
2
  /**
3
- * Creates a FirestoreContextFactory that uses the @'@google-cloud/firestore package.
3
+ * Pre-configured {@link FirestoreContextFactory} for Google Cloud Firestore (Admin SDK) usage.
4
+ *
5
+ * Wires the server-side Firestore drivers into the abstract {@link FirestoreContextFactory}
6
+ * so that collections, documents, queries, and transactions all use the Admin SDK implementation.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const context = googleCloudFirestoreContextFactory(firestore);
11
+ * ```
4
12
  */
5
13
  export declare const googleCloudFirestoreContextFactory: FirestoreContextFactory;
@@ -1,5 +1,5 @@
1
1
  import { type InjectionToken, type ModuleMetadata, type Provider } from '@nestjs/common';
2
- import { type FirestoreContext } from '@dereekb/firebase';
2
+ import { type FirestoreContext, type FirestoreContextCacheFactory } from '@dereekb/firebase';
3
3
  import { type ClassLikeType } from '@dereekb/util';
4
4
  /**
5
5
  * Token to access the Firestore.
@@ -15,10 +15,42 @@ export declare const FIREBASE_FIRESTORE_CONTEXT_TOKEN: InjectionToken;
15
15
  export declare class FirebaseServerFirestoreModule {
16
16
  }
17
17
  /**
18
- * Nest provider module for firebase that includes the FirebaseServerFirestoreModule and provides a value for FIRESTORE_CONTEXT_TOKEN using the googleCloudFirestoreContextFactory.
18
+ * Nest provider module for firebase that includes the FirebaseServerFirestoreModule and provides
19
+ * a value for FIRESTORE_CONTEXT_TOKEN using the googleCloudFirestoreContextFactory without caching.
19
20
  */
20
21
  export declare class FirebaseServerFirestoreContextModule {
21
22
  }
23
+ /**
24
+ * Configuration for {@link firebaseServerFirestoreContextModuleMetadata}.
25
+ */
26
+ export interface FirebaseServerFirestoreContextModuleConfig {
27
+ /**
28
+ * Cache factory that creates a {@link FirestoreContextCache} for the context.
29
+ *
30
+ * The context cache provides TTL-based caching for document reads. Generally not needed
31
+ * for short-lived Cloud Function invocations, but useful for long-running processes.
32
+ */
33
+ readonly firestoreContextCacheFactory: FirestoreContextCacheFactory;
34
+ }
35
+ /**
36
+ * Generates NestJS {@link ModuleMetadata} for a dynamic Firestore context module
37
+ * that includes the {@link FirebaseServerFirestoreModule} and provides a
38
+ * {@link FIREBASE_FIRESTORE_CONTEXT_TOKEN} with cache support.
39
+ *
40
+ * If caching is not needed, use {@link FirebaseServerFirestoreContextModule} directly instead.
41
+ *
42
+ * @param config - Configuration including the cache factory
43
+ * @returns Module metadata ready for the `@Module()` decorator
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * @Module(firebaseServerFirestoreContextModuleMetadata({
48
+ * firestoreContextCacheFactory: inMemoryFirestoreContextCacheFactory()
49
+ * }))
50
+ * export class AppFirestoreContextModule {}
51
+ * ```
52
+ */
53
+ export declare function firebaseServerFirestoreContextModuleMetadata(config: FirebaseServerFirestoreContextModuleConfig): ModuleMetadata;
22
54
  /**
23
55
  * Factory function that creates an app's Firestore collections instance from a {@link FirestoreContext}.
24
56
  */
@@ -47,11 +79,16 @@ export interface ProvideAppFirestoreCollectionsConfig<T> {
47
79
  * ```
48
80
  */
49
81
  export declare function provideAppFirestoreCollections<T>({ provide, useFactory }: ProvideAppFirestoreCollectionsConfig<T>): [Provider<T>];
50
- export interface ProvideAppFirestoreModuleMetadataConfig<T> extends ProvideAppFirestoreCollectionsConfig<T>, Pick<ModuleMetadata, 'imports' | 'exports' | 'providers'> {
82
+ export interface ProvideAppFirestoreModuleMetadataConfig<T> extends ProvideAppFirestoreCollectionsConfig<T>, Pick<ModuleMetadata, 'imports' | 'exports' | 'providers'>, Partial<FirebaseServerFirestoreContextModuleConfig> {
51
83
  }
52
84
  /**
53
- * Generates NestJS {@link ModuleMetadata} for an app's Firestore module, including the
54
- * {@link FirebaseServerFirestoreContextModule} import and the app's collections provider.
85
+ * Generates NestJS {@link ModuleMetadata} for an app's Firestore module, including
86
+ * the Firestore context module and the app's collections provider.
87
+ *
88
+ * When a {@link FirestoreContextCacheFactory} is provided via
89
+ * {@link ProvideAppFirestoreModuleMetadataConfig.firestoreContextCacheFactory},
90
+ * a dynamic context module with cache support is used instead of the default
91
+ * {@link FirebaseServerFirestoreContextModule}.
55
92
  *
56
93
  * @param config - The Firestore collections config plus optional additional module metadata.
57
94
  * @returns NestJS module metadata ready to be passed to the `@Module()` decorator.
@@ -64,5 +101,16 @@ export interface ProvideAppFirestoreModuleMetadataConfig<T> extends ProvideAppFi
64
101
  * }))
65
102
  * export class AppFirestoreModule {}
66
103
  * ```
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * // With caching
108
+ * @Module(appFirestoreModuleMetadata({
109
+ * provide: DemoFirestoreCollections,
110
+ * useFactory: (context) => new DemoFirestoreCollections(context),
111
+ * firestoreContextCacheFactory: inMemoryFirestoreContextCacheFactory()
112
+ * }))
113
+ * export class AppFirestoreModule {}
114
+ * ```
67
115
  */
68
116
  export declare function appFirestoreModuleMetadata<T>(config: ProvideAppFirestoreModuleMetadataConfig<T>): ModuleMetadata;
package/test/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "13.6.6",
3
+ "version": "13.6.7",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.6.6",
6
- "@dereekb/date": "13.6.6",
7
- "@dereekb/firebase": "13.6.6",
8
- "@dereekb/firebase-server": "13.6.6",
9
- "@dereekb/model": "13.6.6",
10
- "@dereekb/nestjs": "13.6.6",
11
- "@dereekb/rxjs": "13.6.6",
12
- "@dereekb/util": "13.6.6",
5
+ "@dereekb/analytics": "13.6.7",
6
+ "@dereekb/date": "13.6.7",
7
+ "@dereekb/firebase": "13.6.7",
8
+ "@dereekb/firebase-server": "13.6.7",
9
+ "@dereekb/model": "13.6.7",
10
+ "@dereekb/nestjs": "13.6.7",
11
+ "@dereekb/rxjs": "13.6.7",
12
+ "@dereekb/util": "13.6.7",
13
13
  "@google-cloud/firestore": "^7.11.6",
14
14
  "@google-cloud/storage": "^7.19.0",
15
15
  "@nestjs/common": "^11.1.17",
@@ -21,7 +21,7 @@
21
21
  "make-error": "^1.3.0"
22
22
  },
23
23
  "devDependencies": {
24
- "@dereekb/nestjs": "13.6.6"
24
+ "@dereekb/nestjs": "13.6.7"
25
25
  },
26
26
  "exports": {
27
27
  "./package.json": "./package.json",
package/zoho/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/zoho",
3
- "version": "13.6.6",
3
+ "version": "13.6.7",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.6.6",
6
- "@dereekb/date": "13.6.6",
7
- "@dereekb/model": "13.6.6",
8
- "@dereekb/nestjs": "13.6.6",
9
- "@dereekb/rxjs": "13.6.6",
10
- "@dereekb/firebase": "13.6.6",
11
- "@dereekb/util": "13.6.6",
12
- "@dereekb/zoho": "13.6.6"
5
+ "@dereekb/analytics": "13.6.7",
6
+ "@dereekb/date": "13.6.7",
7
+ "@dereekb/model": "13.6.7",
8
+ "@dereekb/nestjs": "13.6.7",
9
+ "@dereekb/rxjs": "13.6.7",
10
+ "@dereekb/firebase": "13.6.7",
11
+ "@dereekb/util": "13.6.7",
12
+ "@dereekb/zoho": "13.6.7"
13
13
  },
14
14
  "exports": {
15
15
  "./package.json": "./package.json",