@dereekb/firebase-server 13.11.1 → 13.11.3
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 +29 -2
- package/index.esm.js +30 -3
- package/mailgun/package.json +9 -9
- package/model/index.cjs.js +330 -43
- package/model/index.esm.js +332 -46
- package/model/package.json +9 -9
- package/model/src/lib/notification/notification.action.server.d.ts +16 -1
- package/model/src/lib/notification/notification.module.d.ts +4 -0
- package/oidc/index.cjs.js +2 -52
- package/oidc/index.esm.js +2 -47
- package/oidc/package.json +10 -10
- package/oidc/src/lib/scope.d.ts +1 -41
- package/package.json +10 -10
- package/src/lib/firestore/array.d.ts +1 -0
- package/src/lib/firestore/driver.accessor.batch.d.ts +1 -0
- package/src/lib/firestore/driver.accessor.default.d.ts +1 -0
- package/src/lib/firestore/driver.accessor.transaction.d.ts +1 -0
- package/src/lib/firestore/driver.query.d.ts +1 -0
- package/src/lib/firestore/increment.d.ts +1 -0
- package/src/lib/firestore/snapshot/snapshot.field.encrypt.d.ts +2 -0
- package/src/lib/nest/app.module.d.ts +1 -0
- package/src/lib/nest/auth/auth.module.d.ts +1 -0
- package/src/lib/nest/development/development.app.function.d.ts +1 -0
- package/src/lib/nest/development/development.function.d.ts +1 -0
- package/src/lib/nest/development/development.schedule.function.d.ts +1 -0
- package/src/lib/nest/development/development.schedule.function.error.d.ts +1 -0
- package/src/lib/nest/function/call.d.ts +1 -0
- package/src/lib/nest/function/context.d.ts +1 -0
- package/src/lib/nest/function/v2/blocking.d.ts +2 -0
- package/src/lib/nest/function/v2/call.d.ts +2 -0
- package/src/lib/nest/function/v2/event.d.ts +1 -0
- package/src/lib/nest/function/v2/schedule.d.ts +3 -0
- package/src/lib/nest/function/v2/taskqueue.d.ts +1 -0
- package/src/lib/nest/model/analytics.handler.d.ts +1 -0
- package/src/lib/nest/model/call.model.function.d.ts +1 -0
- package/src/lib/nest/model/create.model.function.d.ts +1 -0
- package/src/lib/nest/storage/storage.module.d.ts +1 -0
- package/test/package.json +11 -11
- package/zoho/package.json +9 -9
package/model/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/model",
|
|
3
|
-
"version": "13.11.
|
|
3
|
+
"version": "13.11.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.11.
|
|
6
|
-
"@dereekb/date": "13.11.
|
|
7
|
-
"@dereekb/firebase": "13.11.
|
|
8
|
-
"@dereekb/firebase-server": "13.11.
|
|
9
|
-
"@dereekb/model": "13.11.
|
|
10
|
-
"@dereekb/nestjs": "13.11.
|
|
11
|
-
"@dereekb/rxjs": "13.11.
|
|
12
|
-
"@dereekb/util": "13.11.
|
|
5
|
+
"@dereekb/analytics": "13.11.3",
|
|
6
|
+
"@dereekb/date": "13.11.3",
|
|
7
|
+
"@dereekb/firebase": "13.11.3",
|
|
8
|
+
"@dereekb/firebase-server": "13.11.3",
|
|
9
|
+
"@dereekb/model": "13.11.3",
|
|
10
|
+
"@dereekb/nestjs": "13.11.3",
|
|
11
|
+
"@dereekb/rxjs": "13.11.3",
|
|
12
|
+
"@dereekb/util": "13.11.3",
|
|
13
13
|
"@nestjs/common": "^11.1.19",
|
|
14
14
|
"@nestjs/config": "^4.0.4",
|
|
15
15
|
"archiver": "^7.0.1",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AsyncNotificationSummaryCreateAction, type AsyncNotificationUserCreateAction, type AsyncNotificationUserUpdateAction, type CleanupSentNotificationsParams, type CreateNotificationBoxParams, type CreateNotificationSummaryParams, type CreateNotificationUserParams, type NotificationSummaryDocument, type NotificationUser, type NotificationUserDocument, type SendNotificationParams, type SendQueuedNotificationsParams, type UpdateNotificationBoxParams, type UpdateNotificationBoxRecipientParams, type UpdateNotificationUserParams, type AsyncNotificationBoxCreateAction, type AsyncNotificationBoxUpdateAction, type CleanupSentNotificationsResult, type FirestoreContextReference, type NotificationBox, type NotificationBoxDocument, type NotificationDocument, type NotificationFirestoreCollections, type SendNotificationResult, type SendQueuedNotificationsResult, type Transaction, type ResyncAllNotificationUserParams, type ResyncAllNotificationUsersResult, type ResyncNotificationUserResult, type ResyncNotificationUserParams, type AppNotificationTemplateTypeInfoRecordServiceRef, type AsyncNotificationSummaryUpdateAction, type UpdateNotificationSummaryParams, type NotificationBoxDocumentReferencePair } from '@dereekb/firebase';
|
|
1
|
+
import { type AsyncNotificationSummaryCreateAction, type AsyncNotificationUserCreateAction, type AsyncNotificationUserUpdateAction, type CleanupSentNotificationsParams, type CleanupOldNotificationLoggedEventDaysParams, type CleanupOldNotificationLoggedEventDaysResult, type CreateNotificationBoxParams, type CreateNotificationSummaryParams, type CreateNotificationUserParams, type NotificationSummaryDocument, type NotificationUser, type NotificationUserDocument, type SendNotificationParams, type SendQueuedNotificationsParams, type UpdateNotificationBoxParams, type UpdateNotificationBoxRecipientParams, type UpdateNotificationUserParams, type AsyncNotificationBoxCreateAction, type AsyncNotificationBoxUpdateAction, type CleanupSentNotificationsResult, type FirestoreContextReference, type NotificationBox, type NotificationBoxDocument, type NotificationDocument, type NotificationFirestoreCollections, type SendNotificationResult, type SendQueuedNotificationsResult, type Transaction, type ResyncAllNotificationUserParams, type ResyncAllNotificationUsersResult, type ResyncNotificationUserResult, type ResyncNotificationUserParams, type AppNotificationTemplateTypeInfoRecordServiceRef, type AsyncNotificationSummaryUpdateAction, type UpdateNotificationSummaryParams, type NotificationBoxDocumentReferencePair } from '@dereekb/firebase';
|
|
2
2
|
import { type FirebaseServerActionsContext, type FirebaseServerAuthServiceRef } from '@dereekb/firebase-server';
|
|
3
3
|
import { type TransformAndValidateFunctionResult } from '@dereekb/model';
|
|
4
4
|
import { type Maybe } from '@dereekb/util';
|
|
@@ -58,6 +58,7 @@ export declare abstract class NotificationServerActions {
|
|
|
58
58
|
abstract sendNotification(params: SendNotificationParams): Promise<TransformAndValidateFunctionResult<SendNotificationParams, (notificationDocument: NotificationDocument) => Promise<SendNotificationResult>>>;
|
|
59
59
|
abstract sendQueuedNotifications(params: SendQueuedNotificationsParams): Promise<TransformAndValidateFunctionResult<SendQueuedNotificationsParams, (sendQueuedNotificationsInput?: Maybe<SendQueuedNotificationsInput>) => Promise<SendQueuedNotificationsResult>>>;
|
|
60
60
|
abstract cleanupSentNotifications(params: CleanupSentNotificationsParams): Promise<TransformAndValidateFunctionResult<CleanupSentNotificationsParams, () => Promise<CleanupSentNotificationsResult>>>;
|
|
61
|
+
abstract cleanupOldNotificationLoggedEventDays(params: CleanupOldNotificationLoggedEventDaysParams): Promise<TransformAndValidateFunctionResult<CleanupOldNotificationLoggedEventDaysParams, () => Promise<CleanupOldNotificationLoggedEventDaysResult>>>;
|
|
61
62
|
}
|
|
62
63
|
/**
|
|
63
64
|
* Creates a concrete {@link NotificationServerActions} implementation by wiring each action
|
|
@@ -314,3 +315,17 @@ export declare function sendQueuedNotificationsFactory(context: NotificationServ
|
|
|
314
315
|
* @returns a transform-and-validate function that cleans up sent notification documents and returns aggregate results
|
|
315
316
|
*/
|
|
316
317
|
export declare function cleanupSentNotificationsFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<CleanupSentNotificationsParams, () => Promise<CleanupSentNotificationsResult>, object, unknown>;
|
|
318
|
+
/**
|
|
319
|
+
* Factory for the `cleanupOldNotificationLoggedEventDays` action.
|
|
320
|
+
*
|
|
321
|
+
* Queries the {@link NotificationLoggedEventDayFirestoreCollectionGroup} for day documents whose
|
|
322
|
+
* ISO day string ID is older than `now - retentionDays`, then deletes each old day's wrapper doc
|
|
323
|
+
* and all of its nested page documents (the paged `_index` plus every page).
|
|
324
|
+
*
|
|
325
|
+
* For each old day, all docs in the day's paged subcollection are deleted before the wrapper doc
|
|
326
|
+
* itself, so a partial failure leaves the index pointing at zero pages rather than orphaned ones.
|
|
327
|
+
*
|
|
328
|
+
* @param context - the notification server actions context with paged-items collection access
|
|
329
|
+
* @returns a transform-and-validate function that purges old logged-event days and returns aggregate counts
|
|
330
|
+
*/
|
|
331
|
+
export declare function cleanupOldNotificationLoggedEventDaysFactory(context: NotificationServerActionsContext): import("@dereekb/model").TransformAndValidateFunctionResultFunction<CleanupOldNotificationLoggedEventDaysParams, () => Promise<CleanupOldNotificationLoggedEventDaysResult>, object, unknown>;
|
|
@@ -31,6 +31,10 @@ export declare function notificationServerActionsContextFactory(context: BaseNot
|
|
|
31
31
|
notificationCollectionGroup: import("@dereekb/firebase").NotificationFirestoreCollectionGroup;
|
|
32
32
|
notificationWeekCollectionFactory: import("@dereekb/firebase").NotificationWeekFirestoreCollectionFactory;
|
|
33
33
|
notificationWeekCollectionGroup: import("@dereekb/firebase").NotificationWeekFirestoreCollectionGroup;
|
|
34
|
+
notificationLoggedEventDayCollectionFactory: import("@dereekb/firebase").NotificationLoggedEventDayFirestoreCollectionFactory;
|
|
35
|
+
notificationLoggedEventDayCollectionGroup: import("@dereekb/firebase").NotificationLoggedEventDayFirestoreCollectionGroup;
|
|
36
|
+
notificationLoggedEventDayPagedItemsCollectionFactory: import("@dereekb/firebase").NotificationLoggedEventDayPagedItemsFirestoreCollectionFactory;
|
|
37
|
+
notificationLoggedEventDayPageCollectionGroup: import("@dereekb/firebase").NotificationLoggedEventDayPageFirestoreCollectionGroup;
|
|
34
38
|
authService: import("dist/packages/firebase-server/src").FirebaseServerAuthService<import("dist/packages/firebase-server/src").FirebaseServerAuthUserContext, import("dist/packages/firebase-server/src").FirebaseServerAuthContext<import("dist/packages/firebase-server/src").FirebaseServerAuthUserContext>>;
|
|
35
39
|
firestoreContext: import("@dereekb/firebase").FirestoreContext<import("@dereekb/firebase").Firestore>;
|
|
36
40
|
};
|
package/oidc/index.cjs.js
CHANGED
|
@@ -5812,51 +5812,6 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
5812
5812
|
};
|
|
5813
5813
|
}
|
|
5814
5814
|
|
|
5815
|
-
/**
|
|
5816
|
-
* Prefix shared by every callModel OIDC scope (e.g., `model.create`).
|
|
5817
|
-
*
|
|
5818
|
-
* Kept stable so OAuth consent screens render consistent labels and so
|
|
5819
|
-
* future per-resource scopes (e.g., `model.create:profile`) compose cleanly.
|
|
5820
|
-
*/ var CALL_MODEL_OIDC_SCOPE_PREFIX = 'model.';
|
|
5821
|
-
/**
|
|
5822
|
-
* Canonical CRUD scopes enforced on the `callModel` API.
|
|
5823
|
-
*
|
|
5824
|
-
* Each scope corresponds 1:1 to a {@link KnownOnCallFunctionType}; see
|
|
5825
|
-
* {@link CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE}.
|
|
5826
|
-
*/ var CALL_MODEL_OIDC_SCOPES = [
|
|
5827
|
-
'model.create',
|
|
5828
|
-
'model.read',
|
|
5829
|
-
'model.update',
|
|
5830
|
-
'model.delete',
|
|
5831
|
-
'model.query'
|
|
5832
|
-
];
|
|
5833
|
-
/**
|
|
5834
|
-
* Maps each known CRUD call type to the scope an OIDC token must carry to invoke it.
|
|
5835
|
-
*/ var CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE = {
|
|
5836
|
-
create: 'model.create',
|
|
5837
|
-
read: 'model.read',
|
|
5838
|
-
update: 'model.update',
|
|
5839
|
-
delete: 'model.delete',
|
|
5840
|
-
query: 'model.query'
|
|
5841
|
-
};
|
|
5842
|
-
/**
|
|
5843
|
-
* Resolves the OIDC scope that an OIDC-authenticated caller must hold to invoke
|
|
5844
|
-
* the given callModel `call` type.
|
|
5845
|
-
*
|
|
5846
|
-
* Returns `undefined` for non-CRUD (custom) call types so that scope enforcement
|
|
5847
|
-
* is opt-in for app-specific verbs — apps can still gate them via their own
|
|
5848
|
-
* `preAssert` if needed.
|
|
5849
|
-
*
|
|
5850
|
-
* @param call - The CRUD call type from {@link OnCallTypedModelParams.call}.
|
|
5851
|
-
* @returns The required scope, or `undefined` if `call` is not one of the known CRUD verbs.
|
|
5852
|
-
*/ function callModelOidcScopeForCallType(call) {
|
|
5853
|
-
var result = call == null ? undefined : CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE[call];
|
|
5854
|
-
return result;
|
|
5855
|
-
}
|
|
5856
|
-
/**
|
|
5857
|
-
* Error code used when an OIDC-authenticated caller is missing the required
|
|
5858
|
-
* `model.*` scope for a callModel CRUD operation.
|
|
5859
|
-
*/ var CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE = 'CALL_MODEL_MISSING_OIDC_SCOPE';
|
|
5860
5815
|
/**
|
|
5861
5816
|
* Builds a {@link AssertModelCrudRequestFunction} that rejects callModel requests
|
|
5862
5817
|
* lacking the OIDC scope mapped from the call type.
|
|
@@ -5874,13 +5829,13 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
5874
5829
|
* @returns The pre-assertion function ready to plug into `OnCallModelConfig.preAssert`.
|
|
5875
5830
|
*/ function oidcCallModelScopePreAssert() {
|
|
5876
5831
|
var fn = function fn(context) {
|
|
5877
|
-
var requiredScope = callModelOidcScopeForCallType(context.call);
|
|
5832
|
+
var requiredScope = firebase.callModelOidcScopeForCallType(context.call);
|
|
5878
5833
|
var scopes = requiredScope == null ? undefined : getOidcScopesFromRequest(context.request);
|
|
5879
5834
|
var isMissingScope = requiredScope != null && scopes != null && !scopes.has(requiredScope);
|
|
5880
5835
|
if (isMissingScope) {
|
|
5881
5836
|
throw firebaseServer.forbiddenError({
|
|
5882
5837
|
status: 403,
|
|
5883
|
-
code: CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE,
|
|
5838
|
+
code: firebase.CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE,
|
|
5884
5839
|
message: "Missing required OIDC scope for callModel: ".concat(requiredScope),
|
|
5885
5840
|
data: {
|
|
5886
5841
|
requiredScope: requiredScope,
|
|
@@ -5892,10 +5847,6 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
5892
5847
|
return fn;
|
|
5893
5848
|
}
|
|
5894
5849
|
|
|
5895
|
-
exports.CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE = CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE;
|
|
5896
|
-
exports.CALL_MODEL_OIDC_SCOPES = CALL_MODEL_OIDC_SCOPES;
|
|
5897
|
-
exports.CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE = CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE;
|
|
5898
|
-
exports.CALL_MODEL_OIDC_SCOPE_PREFIX = CALL_MODEL_OIDC_SCOPE_PREFIX;
|
|
5899
5850
|
exports.DEFAULT_APP_OAUTH_CONSENT_PATH_PART = DEFAULT_APP_OAUTH_CONSENT_PATH_PART;
|
|
5900
5851
|
exports.DEFAULT_APP_OAUTH_INTERACTION_PATH = DEFAULT_APP_OAUTH_INTERACTION_PATH;
|
|
5901
5852
|
exports.DEFAULT_APP_OAUTH_LOGIN_PATH_PART = DEFAULT_APP_OAUTH_LOGIN_PATH_PART;
|
|
@@ -5926,7 +5877,6 @@ exports.OidcServerFirestoreCollections = OidcServerFirestoreCollections;
|
|
|
5926
5877
|
exports.activeJwksKeysQuery = activeJwksKeysQuery;
|
|
5927
5878
|
exports.appOidcModelModuleMetadata = appOidcModelModuleMetadata;
|
|
5928
5879
|
exports.applyOidcAuthMiddleware = applyOidcAuthMiddleware;
|
|
5929
|
-
exports.callModelOidcScopeForCallType = callModelOidcScopeForCallType;
|
|
5930
5880
|
exports.createAdapterFactory = createAdapterFactory;
|
|
5931
5881
|
exports.createOidcClientFactory = createOidcClientFactory;
|
|
5932
5882
|
exports.deleteOidcClientFactory = deleteOidcClientFactory;
|
package/oidc/index.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createParamDecorator, Injectable, Inject, Optional, Logger, UnauthorizedException, Get, Param, Req, Res, Post, HttpCode, HttpStatus, Body, Controller, HttpException, All } from '@nestjs/common';
|
|
2
2
|
import { generateKeyPairSync, randomBytes } from 'node:crypto';
|
|
3
3
|
import { resolveEncryptionKey, encryptValue, decryptValue, createAesStringEncryptionProvider, isValidAES256GCMEncryptionSecret } from '@dereekb/nestjs';
|
|
4
|
-
import { where, iterateFirestoreDocumentSnapshotPairs, firestoreModelIdentity, snapshotConverterFunctions, optionalFirestoreDate, firestoreDate, firestoreEnum, firestorePassThroughField, AbstractFirestoreDocument, createOidcClientParamsType, deleteOidcClientParamsType, rotateOidcClientSecretParamsType, updateOidcClientParamsType, firestoreModelKey, oidcEntryIdentity, OIDC_ENTRY_CLIENT_TYPE, oidcEntriesByUserCodeQuery, oidcEntriesByUidQuery, oidcEntriesByGrantIdQuery, oidcEntryFirestoreCollection } from '@dereekb/firebase';
|
|
4
|
+
import { where, iterateFirestoreDocumentSnapshotPairs, firestoreModelIdentity, snapshotConverterFunctions, optionalFirestoreDate, firestoreDate, firestoreEnum, firestorePassThroughField, AbstractFirestoreDocument, createOidcClientParamsType, deleteOidcClientParamsType, rotateOidcClientSecretParamsType, updateOidcClientParamsType, firestoreModelKey, oidcEntryIdentity, OIDC_ENTRY_CLIENT_TYPE, oidcEntriesByUserCodeQuery, oidcEntriesByUidQuery, oidcEntriesByGrantIdQuery, oidcEntryFirestoreCollection, callModelOidcScopeForCallType, CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE } from '@dereekb/firebase';
|
|
5
5
|
import { cachedGetter, unixDateTimeSecondsNumberToDate, unixDateTimeSecondsNumberForNow, selectiveFieldEncryptor, filterUndefinedValues, websiteUrlFromPaths, firstValue, hasHttpPrefix } from '@dereekb/util';
|
|
6
6
|
import { firestoreEncryptedField, firebaseServerActionsContext, FirebaseServerEnvService, FIREBASE_FIRESTORE_CONTEXT_TOKEN, FirebaseServerFirestoreContextModule, forbiddenError } from '@dereekb/firebase-server';
|
|
7
7
|
import { nanoid } from 'nanoid';
|
|
@@ -5810,51 +5810,6 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
5810
5810
|
};
|
|
5811
5811
|
}
|
|
5812
5812
|
|
|
5813
|
-
/**
|
|
5814
|
-
* Prefix shared by every callModel OIDC scope (e.g., `model.create`).
|
|
5815
|
-
*
|
|
5816
|
-
* Kept stable so OAuth consent screens render consistent labels and so
|
|
5817
|
-
* future per-resource scopes (e.g., `model.create:profile`) compose cleanly.
|
|
5818
|
-
*/ var CALL_MODEL_OIDC_SCOPE_PREFIX = 'model.';
|
|
5819
|
-
/**
|
|
5820
|
-
* Canonical CRUD scopes enforced on the `callModel` API.
|
|
5821
|
-
*
|
|
5822
|
-
* Each scope corresponds 1:1 to a {@link KnownOnCallFunctionType}; see
|
|
5823
|
-
* {@link CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE}.
|
|
5824
|
-
*/ var CALL_MODEL_OIDC_SCOPES = [
|
|
5825
|
-
'model.create',
|
|
5826
|
-
'model.read',
|
|
5827
|
-
'model.update',
|
|
5828
|
-
'model.delete',
|
|
5829
|
-
'model.query'
|
|
5830
|
-
];
|
|
5831
|
-
/**
|
|
5832
|
-
* Maps each known CRUD call type to the scope an OIDC token must carry to invoke it.
|
|
5833
|
-
*/ var CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE = {
|
|
5834
|
-
create: 'model.create',
|
|
5835
|
-
read: 'model.read',
|
|
5836
|
-
update: 'model.update',
|
|
5837
|
-
delete: 'model.delete',
|
|
5838
|
-
query: 'model.query'
|
|
5839
|
-
};
|
|
5840
|
-
/**
|
|
5841
|
-
* Resolves the OIDC scope that an OIDC-authenticated caller must hold to invoke
|
|
5842
|
-
* the given callModel `call` type.
|
|
5843
|
-
*
|
|
5844
|
-
* Returns `undefined` for non-CRUD (custom) call types so that scope enforcement
|
|
5845
|
-
* is opt-in for app-specific verbs — apps can still gate them via their own
|
|
5846
|
-
* `preAssert` if needed.
|
|
5847
|
-
*
|
|
5848
|
-
* @param call - The CRUD call type from {@link OnCallTypedModelParams.call}.
|
|
5849
|
-
* @returns The required scope, or `undefined` if `call` is not one of the known CRUD verbs.
|
|
5850
|
-
*/ function callModelOidcScopeForCallType(call) {
|
|
5851
|
-
var result = call == null ? undefined : CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE[call];
|
|
5852
|
-
return result;
|
|
5853
|
-
}
|
|
5854
|
-
/**
|
|
5855
|
-
* Error code used when an OIDC-authenticated caller is missing the required
|
|
5856
|
-
* `model.*` scope for a callModel CRUD operation.
|
|
5857
|
-
*/ var CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE = 'CALL_MODEL_MISSING_OIDC_SCOPE';
|
|
5858
5813
|
/**
|
|
5859
5814
|
* Builds a {@link AssertModelCrudRequestFunction} that rejects callModel requests
|
|
5860
5815
|
* lacking the OIDC scope mapped from the call type.
|
|
@@ -5890,4 +5845,4 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
5890
5845
|
return fn;
|
|
5891
5846
|
}
|
|
5892
5847
|
|
|
5893
|
-
export {
|
|
5848
|
+
export { DEFAULT_APP_OAUTH_CONSENT_PATH_PART, DEFAULT_APP_OAUTH_INTERACTION_PATH, DEFAULT_APP_OAUTH_LOGIN_PATH_PART, DEFAULT_OIDC_CODE_CHALLENGE_METHODS, DEFAULT_OIDC_ID_TOKEN_SIGNING_ALG_VALUES, DEFAULT_OIDC_ISSUER_PATH, DEFAULT_OIDC_ROUTES, DEFAULT_OIDC_SUBJECT_TYPES, DEFAULT_OIDC_TOKEN_ENDPOINT_AUTH_METHODS, DEFAULT_OIDC_TOKEN_LIFETIMES, DEFAULT_ROTATED_KEY_MAX_AGE, FIREBASE_SERVER_OIDC_ROUTES_FOR_GLOBAL_ROUTE_EXCLUDE, JwksFirestoreCollections, JwksKeyDocument, JwksService, JwksServiceConfig, JwksServiceStorageConfig, OIDC_ENCRYPTED_PAYLOAD_FIELDS, OIDC_JWKS_ENCRYPTION_SECRET_ENV_KEY, OidcAccountService, OidcAccountServiceDelegate, OidcAccountServiceUserContext, OidcAuth, OidcAuthBearerTokenMiddleware, OidcAuthMiddlewareConfig, OidcClientService, OidcEncryptionService, OidcInteractionController, OidcInteractionService, OidcModelServerActions, OidcModuleConfig, OidcProviderConfigService, OidcProviderController, OidcServerFirestoreCollections, OidcService, OidcWellKnownController, activeJwksKeysQuery, appOidcModelModuleMetadata, applyOidcAuthMiddleware, createAdapterFactory, createOidcClientFactory, deleteOidcClientFactory, getOidcScopesFromRequest, jwksKeyCollectionReference, jwksKeyConverter, jwksKeyFirestoreCollection, jwksKeyIdentity, jwksKeysWithStatusQuery, nonRetiredJwksKeysQuery, oidcCallModelScopePreAssert, oidcFirestoreCollectionsFactory, oidcModelServerActions, oidcModelServerActionsFactory, oidcModuleConfigFactory, oidcModuleMetadata, rotateOidcClientSecretFactory, rotatedJwksKeysQuery, updateOidcClientFactory };
|
package/oidc/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/oidc",
|
|
3
|
-
"version": "13.11.
|
|
3
|
+
"version": "13.11.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.11.
|
|
6
|
-
"@dereekb/date": "13.11.
|
|
7
|
-
"@dereekb/firebase": "13.11.
|
|
8
|
-
"@dereekb/firebase-server": "13.11.
|
|
9
|
-
"@dereekb/model": "13.11.
|
|
10
|
-
"@dereekb/nestjs": "13.11.
|
|
11
|
-
"@dereekb/rxjs": "13.11.
|
|
12
|
-
"@dereekb/util": "13.11.
|
|
13
|
-
"@dereekb/zoho": "13.11.
|
|
5
|
+
"@dereekb/analytics": "13.11.3",
|
|
6
|
+
"@dereekb/date": "13.11.3",
|
|
7
|
+
"@dereekb/firebase": "13.11.3",
|
|
8
|
+
"@dereekb/firebase-server": "13.11.3",
|
|
9
|
+
"@dereekb/model": "13.11.3",
|
|
10
|
+
"@dereekb/nestjs": "13.11.3",
|
|
11
|
+
"@dereekb/rxjs": "13.11.3",
|
|
12
|
+
"@dereekb/util": "13.11.3",
|
|
13
|
+
"@dereekb/zoho": "13.11.3",
|
|
14
14
|
"@nestjs/common": "^11.1.19",
|
|
15
15
|
"@nestjs/config": "^4.0.4",
|
|
16
16
|
"express": "^5.2.1",
|
package/oidc/src/lib/scope.d.ts
CHANGED
|
@@ -1,45 +1,5 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type KnownOnCallFunctionType, type OnCallFunctionType, type OnCallTypedModelParams } from '@dereekb/firebase';
|
|
1
|
+
import { type OnCallTypedModelParams } from '@dereekb/firebase';
|
|
3
2
|
import { type AssertModelCrudRequestFunction } from '@dereekb/firebase-server';
|
|
4
|
-
/**
|
|
5
|
-
* Prefix shared by every callModel OIDC scope (e.g., `model.create`).
|
|
6
|
-
*
|
|
7
|
-
* Kept stable so OAuth consent screens render consistent labels and so
|
|
8
|
-
* future per-resource scopes (e.g., `model.create:profile`) compose cleanly.
|
|
9
|
-
*/
|
|
10
|
-
export declare const CALL_MODEL_OIDC_SCOPE_PREFIX = "model.";
|
|
11
|
-
/**
|
|
12
|
-
* Canonical CRUD scopes enforced on the `callModel` API.
|
|
13
|
-
*
|
|
14
|
-
* Each scope corresponds 1:1 to a {@link KnownOnCallFunctionType}; see
|
|
15
|
-
* {@link CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE}.
|
|
16
|
-
*/
|
|
17
|
-
export declare const CALL_MODEL_OIDC_SCOPES: readonly ["model.create", "model.read", "model.update", "model.delete", "model.query"];
|
|
18
|
-
/**
|
|
19
|
-
* Union of the five canonical callModel CRUD scope strings.
|
|
20
|
-
*/
|
|
21
|
-
export type CallModelOidcScope = (typeof CALL_MODEL_OIDC_SCOPES)[number];
|
|
22
|
-
/**
|
|
23
|
-
* Maps each known CRUD call type to the scope an OIDC token must carry to invoke it.
|
|
24
|
-
*/
|
|
25
|
-
export declare const CALL_MODEL_OIDC_SCOPE_FOR_CALL_TYPE: Readonly<Record<KnownOnCallFunctionType, CallModelOidcScope>>;
|
|
26
|
-
/**
|
|
27
|
-
* Resolves the OIDC scope that an OIDC-authenticated caller must hold to invoke
|
|
28
|
-
* the given callModel `call` type.
|
|
29
|
-
*
|
|
30
|
-
* Returns `undefined` for non-CRUD (custom) call types so that scope enforcement
|
|
31
|
-
* is opt-in for app-specific verbs — apps can still gate them via their own
|
|
32
|
-
* `preAssert` if needed.
|
|
33
|
-
*
|
|
34
|
-
* @param call - The CRUD call type from {@link OnCallTypedModelParams.call}.
|
|
35
|
-
* @returns The required scope, or `undefined` if `call` is not one of the known CRUD verbs.
|
|
36
|
-
*/
|
|
37
|
-
export declare function callModelOidcScopeForCallType(call: Maybe<OnCallFunctionType>): Maybe<CallModelOidcScope>;
|
|
38
|
-
/**
|
|
39
|
-
* Error code used when an OIDC-authenticated caller is missing the required
|
|
40
|
-
* `model.*` scope for a callModel CRUD operation.
|
|
41
|
-
*/
|
|
42
|
-
export declare const CALL_MODEL_MISSING_OIDC_SCOPE_ERROR_CODE = "CALL_MODEL_MISSING_OIDC_SCOPE";
|
|
43
3
|
/**
|
|
44
4
|
* Builds a {@link AssertModelCrudRequestFunction} that rejects callModel requests
|
|
45
5
|
* lacking the OIDC scope mapped from the call type.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "13.11.
|
|
3
|
+
"version": "13.11.3",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"exports": {
|
|
6
6
|
"./test": {
|
|
@@ -44,15 +44,15 @@
|
|
|
44
44
|
"main": "./index.cjs.js",
|
|
45
45
|
"types": "./src/index.d.ts",
|
|
46
46
|
"peerDependencies": {
|
|
47
|
-
"@dereekb/analytics": "13.11.
|
|
48
|
-
"@dereekb/date": "13.11.
|
|
49
|
-
"@dereekb/dbx-core": "13.11.
|
|
50
|
-
"@dereekb/firebase": "13.11.
|
|
51
|
-
"@dereekb/model": "13.11.
|
|
52
|
-
"@dereekb/nestjs": "13.11.
|
|
53
|
-
"@dereekb/rxjs": "13.11.
|
|
54
|
-
"@dereekb/util": "13.11.
|
|
55
|
-
"@dereekb/zoho": "13.11.
|
|
47
|
+
"@dereekb/analytics": "13.11.3",
|
|
48
|
+
"@dereekb/date": "13.11.3",
|
|
49
|
+
"@dereekb/dbx-core": "13.11.3",
|
|
50
|
+
"@dereekb/firebase": "13.11.3",
|
|
51
|
+
"@dereekb/model": "13.11.3",
|
|
52
|
+
"@dereekb/nestjs": "13.11.3",
|
|
53
|
+
"@dereekb/rxjs": "13.11.3",
|
|
54
|
+
"@dereekb/util": "13.11.3",
|
|
55
|
+
"@dereekb/zoho": "13.11.3",
|
|
56
56
|
"@google-cloud/firestore": "^7.11.6",
|
|
57
57
|
"@google-cloud/storage": "^7.19.0",
|
|
58
58
|
"@nestjs/common": "^11.1.19",
|
|
@@ -13,5 +13,6 @@ import { type UpdateData, type FirestoreAccessorArrayUpdate } from '@dereekb/fir
|
|
|
13
13
|
* remove: { tags: ['old-tag'] }
|
|
14
14
|
* });
|
|
15
15
|
* ```
|
|
16
|
+
* @__NO_SIDE_EFFECTS__
|
|
16
17
|
*/
|
|
17
18
|
export declare function firestoreServerArrayUpdateToUpdateData<T extends object>(input: FirestoreAccessorArrayUpdate<T>): UpdateData<T>;
|
|
@@ -41,6 +41,7 @@ export declare class WriteBatchFirestoreDocumentDataAccessor<T> implements Fires
|
|
|
41
41
|
* await accessor.set({ name: 'Alice' });
|
|
42
42
|
* await batch.commit();
|
|
43
43
|
* ```
|
|
44
|
+
* @__NO_SIDE_EFFECTS__
|
|
44
45
|
*/
|
|
45
46
|
export declare function writeBatchAccessorFactory<T>(writeBatch: GoogleCloudWriteBatch): FirestoreDocumentDataAccessorFactory<T>;
|
|
46
47
|
/**
|
|
@@ -32,6 +32,7 @@ export declare class DefaultFirestoreDocumentDataAccessor<T> implements Firestor
|
|
|
32
32
|
* const factory = defaultFirestoreAccessorFactory<User>();
|
|
33
33
|
* const accessor = factory.accessorFor(userDocRef);
|
|
34
34
|
* ```
|
|
35
|
+
* @__NO_SIDE_EFFECTS__
|
|
35
36
|
*/
|
|
36
37
|
export declare function defaultFirestoreAccessorFactory<T>(): FirestoreDocumentDataAccessorFactory<T>;
|
|
37
38
|
/**
|
|
@@ -43,6 +43,7 @@ export declare class TransactionFirestoreDocumentDataAccessor<T> implements Fire
|
|
|
43
43
|
* await accessor.update({ name: 'Updated' });
|
|
44
44
|
* });
|
|
45
45
|
* ```
|
|
46
|
+
* @__NO_SIDE_EFFECTS__
|
|
46
47
|
*/
|
|
47
48
|
export declare function transactionAccessorFactory<T>(transaction: GoogleCloudTransaction): FirestoreDocumentDataAccessorFactory<T>;
|
|
48
49
|
/**
|
|
@@ -16,6 +16,7 @@ export declare const FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING: FullFire
|
|
|
16
16
|
* Translates abstract query constraints into Google Cloud Firestore query builder calls.
|
|
17
17
|
*
|
|
18
18
|
* @returns A {@link FirestoreQueryConstraintFunctionsDriver} for the server SDK.
|
|
19
|
+
* @__NO_SIDE_EFFECTS__
|
|
19
20
|
*/
|
|
20
21
|
export declare function firestoreClientQueryConstraintFunctionsDriver(): FirestoreQueryConstraintFunctionsDriver;
|
|
21
22
|
/**
|
|
@@ -15,5 +15,6 @@ import { type UpdateData, type FirestoreAccessorIncrementUpdate } from '@dereekb
|
|
|
15
15
|
* likeCount: -1
|
|
16
16
|
* });
|
|
17
17
|
* ```
|
|
18
|
+
* @__NO_SIDE_EFFECTS__
|
|
18
19
|
*/
|
|
19
20
|
export declare function firestoreServerIncrementUpdateToUpdateData<T extends object>(input: FirestoreAccessorIncrementUpdate<T>): UpdateData<T>;
|
|
@@ -44,6 +44,7 @@ export interface OptionalFirestoreEncryptedFieldConfig<T> {
|
|
|
44
44
|
* @template T - The JSON-serializable value type.
|
|
45
45
|
* @param config - Encryption field configuration.
|
|
46
46
|
* @returns A field mapping configuration for encrypted values.
|
|
47
|
+
* @__NO_SIDE_EFFECTS__
|
|
47
48
|
*/
|
|
48
49
|
export declare function firestoreEncryptedField<T>(config: FirestoreEncryptedFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<T, string>;
|
|
49
50
|
/**
|
|
@@ -62,5 +63,6 @@ export declare function firestoreEncryptedField<T>(config: FirestoreEncryptedFie
|
|
|
62
63
|
* @template T - The JSON-serializable value type.
|
|
63
64
|
* @param config - Encryption field configuration.
|
|
64
65
|
* @returns A field mapping configuration for optional encrypted values.
|
|
66
|
+
* @__NO_SIDE_EFFECTS__
|
|
65
67
|
*/
|
|
66
68
|
export declare function optionalFirestoreEncryptedField<T>(config: OptionalFirestoreEncryptedFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<Maybe<T>, Maybe<string>>;
|
|
@@ -121,5 +121,6 @@ export interface NestServerRootModuleResult {
|
|
|
121
121
|
*
|
|
122
122
|
* @param config - Shared configuration
|
|
123
123
|
* @returns The root module and resolved prefix config
|
|
124
|
+
* @__NO_SIDE_EFFECTS__
|
|
124
125
|
*/
|
|
125
126
|
export declare function buildNestServerRootModule(config: NestServerRootModuleConfig): NestServerRootModuleResult;
|
|
@@ -38,6 +38,7 @@ export type ProvideFirebaseServerAuthService<T extends FirebaseServerAuthService
|
|
|
38
38
|
* useFactory: (auth) => new MyAuthService(auth)
|
|
39
39
|
* });
|
|
40
40
|
* ```
|
|
41
|
+
* @__NO_SIDE_EFFECTS__
|
|
41
42
|
*/
|
|
42
43
|
export declare function provideFirebaseServerAuthService<T extends FirebaseServerAuthService>(provider: ProvideFirebaseServerAuthService<T>): [ProvideFirebaseServerAuthService<T>, Provider<T>];
|
|
43
44
|
export interface FirebaseServerAuthModuleMetadataConfig<T extends FirebaseServerAuthService> extends AdditionalModuleMetadata {
|
|
@@ -78,5 +78,6 @@ export interface FirebaseServerDevFunctions {
|
|
|
78
78
|
*
|
|
79
79
|
* export const { dev } = devFunctions;
|
|
80
80
|
* ```
|
|
81
|
+
* @__NO_SIDE_EFFECTS__
|
|
81
82
|
*/
|
|
82
83
|
export declare function firebaseServerDevFunctions<N extends AbstractFirebaseNestContext<any, any>, S extends NestApplicationScheduleConfiguredFunctionMap>(config: FirebaseServerDevFunctionsConfig<N, S>): FirebaseServerDevFunctions;
|
|
@@ -53,6 +53,7 @@ export interface OnCallDevelopmentConfig<N> {
|
|
|
53
53
|
* resetData: resetDataFunction
|
|
54
54
|
* });
|
|
55
55
|
* ```
|
|
56
|
+
* @__NO_SIDE_EFFECTS__
|
|
56
57
|
*/
|
|
57
58
|
export declare function onCallDevelopmentFunction<N>(map: OnCallDevelopmentFunctionMap<N>, config?: OnCallDevelopmentConfig<N>): OnCallWithNestContext<N, OnCallDevelopmentParams>;
|
|
58
59
|
/**
|
|
@@ -34,5 +34,6 @@ export interface MakeScheduledFunctionDevelopmentFunctionConfig {
|
|
|
34
34
|
* [SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER]: scheduleDev
|
|
35
35
|
* };
|
|
36
36
|
* ```
|
|
37
|
+
* @__NO_SIDE_EFFECTS__
|
|
37
38
|
*/
|
|
38
39
|
export declare function makeScheduledFunctionDevelopmentFunction(config: MakeScheduledFunctionDevelopmentFunctionConfig): OnCallDevelopmentFunction<unknown, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFirebaseFunctionResult>;
|
|
@@ -7,6 +7,7 @@ export declare const NO_RUN_NAME_SPECIFIED_FOR_SCHEDULED_FUNCTION_DEVELOPMENT_FU
|
|
|
7
7
|
* without specifying which scheduled function to execute.
|
|
8
8
|
*
|
|
9
9
|
* @returns A bad-request error indicating the missing run name.
|
|
10
|
+
* @__NO_SIDE_EFFECTS__
|
|
10
11
|
*/
|
|
11
12
|
export declare function noRunNameSpecifiedForScheduledFunctionDevelopmentFunction(): import("firebase-functions/https").HttpsError;
|
|
12
13
|
/**
|
|
@@ -98,6 +98,7 @@ export interface OnCallWithAuthAwareNestRequireAuthRef {
|
|
|
98
98
|
*
|
|
99
99
|
* @param fn
|
|
100
100
|
* @param request
|
|
101
|
+
* @__NO_SIDE_EFFECTS__
|
|
101
102
|
*/
|
|
102
103
|
export declare function assertRequestRequiresAuthForFunction(fn: OnCallWithAuthAwareNestRequireAuthRef, request: OnCallWithNestContextRequest<any, any>): void;
|
|
103
104
|
/**
|
|
@@ -124,5 +124,6 @@ export interface FirebaseServerActionsTransformFactoryOptions {
|
|
|
124
124
|
*
|
|
125
125
|
* @param options - Optional configuration for error logging behavior.
|
|
126
126
|
* @returns A factory that creates type-safe transform functions from ArkType schemas.
|
|
127
|
+
* @__NO_SIDE_EFFECTS__
|
|
127
128
|
*/
|
|
128
129
|
export declare function firebaseServerActionsTransformFactory(options?: FirebaseServerActionsTransformFactoryOptions): TransformAndValidateObjectFactory;
|
|
@@ -74,6 +74,7 @@ export interface BlockingFunctionBuilder<E extends object, O> {
|
|
|
74
74
|
* @param handler - The handler logic to execute on each event.
|
|
75
75
|
* @param opts - Optional {@link BlockingOptions} passed to the builder.
|
|
76
76
|
* @returns A {@link BlockingFunctionWithHandler} with the handler accessible via `__handler`.
|
|
77
|
+
* @__NO_SIDE_EFFECTS__
|
|
77
78
|
*/
|
|
78
79
|
export declare function makeBlockingFunctionWithHandler<E extends object, O>(blockingFunctionBuilder: BlockingFunctionBuilder<E, O>, handler: BlockingFunctionHandler<E, O>, opts?: Maybe<BlockingOptions>): BlockingFunctionWithHandler<E, O>;
|
|
79
80
|
/**
|
|
@@ -128,5 +129,6 @@ export type BlockingFunctionHandlerWithNestContextFactory<N> = <E extends object
|
|
|
128
129
|
*
|
|
129
130
|
* @param makeNestContext - Factory that creates the typed context from the NestJS application context.
|
|
130
131
|
* @returns A factory for creating nest-context-aware blocking function handlers.
|
|
132
|
+
* @__NO_SIDE_EFFECTS__
|
|
131
133
|
*/
|
|
132
134
|
export declare function blockingFunctionHandlerWithNestContextFactory<N>(makeNestContext: MakeNestContext<N>): BlockingFunctionHandlerWithNestContextFactory<N>;
|
|
@@ -31,6 +31,7 @@ export type OnCallHandlerWithNestApplicationFactory = <I = unknown, O = unknown>
|
|
|
31
31
|
*
|
|
32
32
|
* @param defaultOpts - Default {@link https.CallableOptions} applied to all functions created by this factory.
|
|
33
33
|
* @returns A factory that creates nest-application-aware callable functions.
|
|
34
|
+
* @__NO_SIDE_EFFECTS__
|
|
34
35
|
*/
|
|
35
36
|
export declare function onCallHandlerWithNestApplicationFactory(defaultOpts?: https.CallableOptions): OnCallHandlerWithNestApplicationFactory;
|
|
36
37
|
/**
|
|
@@ -57,5 +58,6 @@ export type OnCallHandlerWithNestContextFactory<C> = <I = unknown, O = unknown>(
|
|
|
57
58
|
* @param appFactory - The base application-level callable factory.
|
|
58
59
|
* @param makeNestContext - Factory that creates the typed context from the application context.
|
|
59
60
|
* @returns A factory that creates typed-context-aware callable functions.
|
|
61
|
+
* @__NO_SIDE_EFFECTS__
|
|
60
62
|
*/
|
|
61
63
|
export declare function onCallHandlerWithNestContextFactory<C>(appFactory: OnCallHandlerWithNestApplicationFactory, makeNestContext: MakeNestContext<C>): OnCallHandlerWithNestContextFactory<C>;
|
|
@@ -89,5 +89,6 @@ export type CloudEventHandlerWithNestContextFactory<N> = <E extends CloudEvent<a
|
|
|
89
89
|
*
|
|
90
90
|
* @param makeNestContext - Factory that creates the typed context from the NestJS application context.
|
|
91
91
|
* @returns A factory for creating nest-context-aware event function handlers.
|
|
92
|
+
* @__NO_SIDE_EFFECTS__
|
|
92
93
|
*/
|
|
93
94
|
export declare function cloudEventHandlerWithNestContextFactory<N>(makeNestContext: MakeNestContext<N>): CloudEventHandlerWithNestContextFactory<N>;
|
|
@@ -15,6 +15,7 @@ export type OnScheduleConfigWithGlobalOptions = OnScheduleConfig & Omit<Schedule
|
|
|
15
15
|
* @param nestApplication - The initialized NestJS application context.
|
|
16
16
|
* @param scheduleContext - The optional Firebase scheduler event, absent when invoked via `_runNow()`.
|
|
17
17
|
* @returns A request object ready for schedule function handlers.
|
|
18
|
+
* @__NO_SIDE_EFFECTS__
|
|
18
19
|
*/
|
|
19
20
|
export declare function makeOnScheduleHandlerWithNestApplicationRequest(nestApplication: INestApplicationContext, scheduleContext?: scheduler.ScheduledEvent): OnScheduleWithNestApplicationRequest<scheduler.ScheduledEvent>;
|
|
20
21
|
/**
|
|
@@ -46,6 +47,7 @@ export type OnScheduleHandlerWithNestApplicationFactory = (schedule: OnScheduleC
|
|
|
46
47
|
*
|
|
47
48
|
* @param baseScheduleConfig - Optional default schedule options merged into every function created by this factory.
|
|
48
49
|
* @returns A factory for creating nest-application-aware scheduled functions.
|
|
50
|
+
* @__NO_SIDE_EFFECTS__
|
|
49
51
|
*/
|
|
50
52
|
export declare function onScheduleHandlerWithNestApplicationFactory(baseScheduleConfig?: OnScheduleConfigWithGlobalOptions): OnScheduleHandlerWithNestApplicationFactory;
|
|
51
53
|
/**
|
|
@@ -61,5 +63,6 @@ export type OnScheduleHandlerWithNestContextFactory<N> = (schedule: OnScheduleCo
|
|
|
61
63
|
* @param appFactory
|
|
62
64
|
* @param makeNestContext
|
|
63
65
|
* @returns
|
|
66
|
+
* @__NO_SIDE_EFFECTS__
|
|
64
67
|
*/
|
|
65
68
|
export declare function onScheduleHandlerWithNestContextFactory<N>(appFactory: OnScheduleHandlerWithNestApplicationFactory, makeNestContext: MakeNestContext<N>): OnScheduleHandlerWithNestContextFactory<N>;
|
|
@@ -17,5 +17,6 @@ export type TaskQueueFunctionHandlerWithNestContextFactory<N> = <I = unknown>(fn
|
|
|
17
17
|
* @param appFactory
|
|
18
18
|
* @param makeNestContext
|
|
19
19
|
* @returns
|
|
20
|
+
* @__NO_SIDE_EFFECTS__
|
|
20
21
|
*/
|
|
21
22
|
export declare function taskQueueFunctionHandlerWithNestContextFactory<N>(makeNestContext: MakeNestContext<N>): TaskQueueFunctionHandlerWithNestContextFactory<N>;
|
|
@@ -73,6 +73,7 @@ export declare const ON_CALL_MODEL_ANALYTICS_SERVICE: InjectionToken<OnCallModel
|
|
|
73
73
|
* service is registered.
|
|
74
74
|
*
|
|
75
75
|
* @returns An {@link OnCallModelAnalyticsService} that discards all analytics events.
|
|
76
|
+
* @__NO_SIDE_EFFECTS__
|
|
76
77
|
*/
|
|
77
78
|
export declare function noopOnCallModelAnalyticsService(): OnCallModelAnalyticsService;
|
|
78
79
|
/**
|
|
@@ -120,5 +120,6 @@ export interface OnCallWithCallTypeModelConfig<N> {
|
|
|
120
120
|
* @param config - Configuration including call type, crud type, and error factory.
|
|
121
121
|
* @returns A callable function that dispatches to the correct model-type handler.
|
|
122
122
|
* @internal Not intended for direct use outside the model CRUD module.
|
|
123
|
+
* @__NO_SIDE_EFFECTS__
|
|
123
124
|
*/
|
|
124
125
|
export declare function _onCallWithCallTypeFunction<N>(map: OnCallWithCallTypeModelMap<N>, config: OnCallWithCallTypeModelConfig<N>): OnCallWithAuthAwareNestContext<N, OnCallTypedModelParams, unknown> & OnCallApiDetailsRef;
|
|
@@ -90,5 +90,6 @@ export declare function onCallCreateModel<N>(map: OnCallCreateModelMap<N>, confi
|
|
|
90
90
|
*
|
|
91
91
|
* @param modelType - The unrecognized model type string.
|
|
92
92
|
* @returns A bad-request error with {@link UNKNOWN_MODEL_TYPE_ERROR_CODE} code.
|
|
93
|
+
* @__NO_SIDE_EFFECTS__
|
|
93
94
|
*/
|
|
94
95
|
export declare function createModelUnknownModelTypeError(modelType: FirestoreModelType): import("firebase-functions/https").HttpsError;
|
|
@@ -58,6 +58,7 @@ export type ProvideFirebaseServerStorageService<T extends FirebaseServerStorageS
|
|
|
58
58
|
*
|
|
59
59
|
* @param provider - The storage service provider configuration.
|
|
60
60
|
* @returns An array of NestJS providers for the storage service.
|
|
61
|
+
* @__NO_SIDE_EFFECTS__
|
|
61
62
|
*/
|
|
62
63
|
export declare function provideFirebaseServerStorageService<T extends FirebaseServerStorageService = FirebaseServerStorageService>(provider: ProvideFirebaseServerStorageService<T>): Provider<T>[];
|
|
63
64
|
export interface FirebaseServerStorageModuleMetadataConfig<T extends FirebaseServerStorageService = FirebaseServerStorageService> extends AdditionalModuleMetadata {
|
package/test/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "13.11.
|
|
3
|
+
"version": "13.11.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.11.
|
|
6
|
-
"@dereekb/date": "13.11.
|
|
7
|
-
"@dereekb/firebase": "13.11.
|
|
8
|
-
"@dereekb/firebase-server": "13.11.
|
|
9
|
-
"@dereekb/firebase-server/oidc": "13.11.
|
|
10
|
-
"@dereekb/model": "13.11.
|
|
11
|
-
"@dereekb/nestjs": "13.11.
|
|
12
|
-
"@dereekb/rxjs": "13.11.
|
|
13
|
-
"@dereekb/util": "13.11.
|
|
5
|
+
"@dereekb/analytics": "13.11.3",
|
|
6
|
+
"@dereekb/date": "13.11.3",
|
|
7
|
+
"@dereekb/firebase": "13.11.3",
|
|
8
|
+
"@dereekb/firebase-server": "13.11.3",
|
|
9
|
+
"@dereekb/firebase-server/oidc": "13.11.3",
|
|
10
|
+
"@dereekb/model": "13.11.3",
|
|
11
|
+
"@dereekb/nestjs": "13.11.3",
|
|
12
|
+
"@dereekb/rxjs": "13.11.3",
|
|
13
|
+
"@dereekb/util": "13.11.3",
|
|
14
14
|
"@google-cloud/firestore": "^7.11.6",
|
|
15
15
|
"@google-cloud/storage": "^7.19.0",
|
|
16
16
|
"@nestjs/common": "^11.1.19",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"supertest": "^7.2.2"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@dereekb/nestjs": "13.11.
|
|
26
|
+
"@dereekb/nestjs": "13.11.3"
|
|
27
27
|
},
|
|
28
28
|
"exports": {
|
|
29
29
|
"./package.json": "./package.json",
|