@dereekb/firebase-server 13.11.18 → 13.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs.js +218 -31
- package/index.esm.js +217 -34
- package/mailgun/package.json +9 -9
- package/mcp/index.cjs.default.js +1 -0
- package/mcp/index.cjs.js +3646 -0
- package/mcp/index.cjs.mjs +2 -0
- package/mcp/index.d.ts +1 -0
- package/mcp/index.esm.js +3609 -0
- package/mcp/package.json +33 -0
- package/mcp/src/index.d.ts +1 -0
- package/mcp/src/lib/controller/index.d.ts +2 -0
- package/mcp/src/lib/controller/mcp.controller.d.ts +19 -0
- package/mcp/src/lib/controller/mcp.wellknown.controller.d.ts +25 -0
- package/mcp/src/lib/index.d.ts +5 -0
- package/mcp/src/lib/mcp.config.d.ts +100 -0
- package/mcp/src/lib/mcp.module.d.ts +49 -0
- package/mcp/src/lib/service/index.d.ts +8 -0
- package/mcp/src/lib/service/mcp.manifest.d.ts +150 -0
- package/mcp/src/lib/service/mcp.response-formatter.d.ts +36 -0
- package/mcp/src/lib/service/mcp.server.factory.d.ts +124 -0
- package/mcp/src/lib/service/mcp.tool-generator.d.ts +235 -0
- package/mcp/src/lib/service/mcp.visibility.d.ts +99 -0
- package/mcp/src/lib/service/tools/mcp.tool.model-decode.d.ts +87 -0
- package/mcp/src/lib/service/tools/mcp.tool.model-get.d.ts +81 -0
- package/mcp/src/lib/service/tools/mcp.tool.model-info.d.ts +84 -0
- package/mcp/src/lib/service/tools/mcp.tool.whoami.d.ts +72 -0
- package/mcp/src/lib/transport/index.d.ts +1 -0
- package/mcp/src/lib/transport/streamable-http.transport.d.ts +21 -0
- package/model/index.cjs.js +639 -266
- package/model/index.esm.js +640 -270
- package/model/package.json +9 -9
- package/model/src/lib/storagefile/extension/compress.pdf.d.ts +29 -1
- package/model/src/lib/storagefile/index.d.ts +1 -0
- package/model/src/lib/storagefile/storagefile.action.server.d.ts +29 -2
- package/model/src/lib/storagefile/storagefile.mcp.d.ts +32 -0
- package/model/src/lib/storagefile/storagefile.module.d.ts +20 -3
- package/oidc/index.cjs.js +322 -147
- package/oidc/index.esm.js +321 -148
- package/oidc/package.json +10 -10
- package/oidc/src/lib/controller/oidc.wellknown.controller.d.ts +6 -15
- package/oidc/src/lib/middleware/oauth-auth.middleware.d.ts +22 -2
- package/oidc/src/lib/middleware/oauth-auth.module.d.ts +57 -0
- package/oidc/src/lib/oidc.config.d.ts +73 -0
- package/oidc/src/lib/oidc.module.d.ts +44 -2
- package/package.json +22 -10
- package/src/lib/auth/auth.service.d.ts +16 -1
- package/src/lib/auth/auth.service.error.util.d.ts +24 -5
- package/src/lib/env/env.config.d.ts +16 -0
- package/src/lib/env/env.service.d.ts +9 -0
- package/src/lib/nest/controller/model/model.api.get.service.d.ts +35 -1
- package/src/lib/nest/env/env.service.d.ts +1 -0
- package/src/lib/nest/model/api.details.d.ts +116 -5
- package/src/lib/nest/model/crud.assert.function.d.ts +1 -1
- package/src/lib/nest/model/index.d.ts +1 -0
- package/src/lib/nest/model/invoke.model.function.d.ts +89 -0
- package/test/package.json +11 -11
- package/twilio/LICENSE +21 -0
- package/twilio/index.cjs.default.js +1 -0
- package/twilio/index.cjs.js +404 -0
- package/twilio/index.cjs.mjs +2 -0
- package/twilio/index.d.ts +1 -0
- package/twilio/index.esm.js +398 -0
- package/twilio/package.json +25 -0
- package/twilio/src/index.d.ts +1 -0
- package/twilio/src/lib/index.d.ts +1 -0
- package/twilio/src/lib/notification.send.service.twilio.d.ts +148 -0
- package/zoho/package.json +9 -9
package/index.esm.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { timingSafeEqual } from 'node:crypto';
|
|
2
|
+
import { DBX_FIREBASE_SERVER_NO_AUTH_ERROR_CODE, UNAUTHENTICATED_ERROR_CODE, FORBIDDEN_ERROR_CODE, PERMISSION_DENIED_ERROR_CODE, NOT_FOUND_ERROR_CODE, MODEL_NOT_AVAILABLE_ERROR_CODE, BAD_REQUEST_ERROR_CODE, CONFLICT_ERROR_CODE, ALREADY_EXISTS_ERROR_CODE, UNAVAILABLE_ERROR_CODE, UNAVAILABLE_OR_DEACTIVATED_FUNCTION_ERROR_CODE, INTERNAL_SERVER_ERROR_CODE, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_EXPIRES_AT_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIREBASE_AUTH_PHONE_NUMBER_ALREADY_EXISTS_ERROR, FIREBASE_AUTH_EMAIL_ALREADY_EXISTS_ERROR, FIREBASE_AUTH_INVALID_PHONE_NUMBER_ERROR, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, setIdAndKeyFromKeyIdRefOnDocumentData, DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_NO_CONFIG_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_SEND_ONCE_ERROR_CODE, DBX_FIREBASE_SERVER_PASSWORD_RESET_THROTTLE_ERROR_CODE, FirestoreDocumentContextType, streamFromOnSnapshot, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, makeFirestoreQueryConstraintFunctionsDriver, firestoreContextFactory, firestoreField, optionalFirestoreField, DEFAULT_MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER, UNKNOWN_MODEL_TYPE_ERROR_CODE, BAD_DOCUMENT_QUERY_CURSOR_ERROR_CODE, limit, startAfter, DEFAULT_ON_CALL_QUERY_MODEL_LIMIT, MAX_ON_CALL_QUERY_MODEL_LIMIT, ScheduledFunctionDevelopmentFunctionTypeEnum, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, storageListFilesResultFactory, assertStorageUploadOptionsStringFormat, firebaseStorageContextFactory, inContextFirebaseModelsServiceFactory, useFirebaseModelsService } from '@dereekb/firebase';
|
|
2
3
|
import { partialServerError, isServerError, randomNumberFactory, cachedGetter, filterNullAndUndefinedValues, asSet, AUTH_ADMIN_ROLE, AUTH_TOS_SIGNED_ROLE, forEachKeyValue, KeyValueTypleValueFilter, filterUndefinedValues, isThrottled, mapObjectMap, batch, objectToMap, serverError, asArray, containsAllValues, websiteUrlDetails, mergeObjects, cronExpressionRepeatingEveryNMinutes, mapIdentityFunction, slashPathName, toRelativeSlashPathStartType, fixMultiSlashesInSlashPath, SLASH_PATH_SEPARATOR, objectHasNoKeys, websiteUrlFromPaths, pushItemOrArrayItemsIntoArray, makeGetter, asGetter, build, performAsyncTasks } from '@dereekb/util';
|
|
3
4
|
import { HttpsError } from 'firebase-functions/https';
|
|
4
|
-
import { hoursToMs, toISODateString } from '@dereekb/date';
|
|
5
|
+
import { hoursToMs, minutesToMs, toISODateString } from '@dereekb/date';
|
|
5
6
|
import { BaseError } from 'make-error';
|
|
6
7
|
import { SERVER_ENV_TOKEN, resolveEncryptionKey, encryptValue, decryptValue, mergeModuleMetadata, ServerEnvironmentService, DEFAULT_BASE_WEBHOOK_PATH, DEFAULT_WEBHOOK_MIDDLEWARE_ROUTE_INFO, isTestNodeEnv, injectionTokensFromProviders, nodeJsLocalAssetLoader } from '@dereekb/nestjs';
|
|
7
8
|
import { from } from 'rxjs';
|
|
@@ -1239,12 +1240,14 @@ function _ts_generator$g(thisArg, body) {
|
|
|
1239
1240
|
key: "beginResetPassword",
|
|
1240
1241
|
value: function beginResetPassword() {
|
|
1241
1242
|
return _async_to_generator$g(function() {
|
|
1242
|
-
var password, _obj, passwordClaimsData;
|
|
1243
|
+
var password, now, expiresAt, _obj, passwordClaimsData;
|
|
1243
1244
|
return _ts_generator$g(this, function(_state) {
|
|
1244
1245
|
switch(_state.label){
|
|
1245
1246
|
case 0:
|
|
1246
1247
|
password = this._generateResetPasswordKey();
|
|
1247
|
-
|
|
1248
|
+
now = new Date();
|
|
1249
|
+
expiresAt = new Date(now.getTime() + this._resetCodeExpiresInMs());
|
|
1250
|
+
passwordClaimsData = (_obj = {}, _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, password), _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, toISODateString(now)), _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_EXPIRES_AT_KEY, toISODateString(expiresAt)), _obj);
|
|
1248
1251
|
// set the claims
|
|
1249
1252
|
return [
|
|
1250
1253
|
4,
|
|
@@ -1270,6 +1273,17 @@ function _ts_generator$g(thisArg, body) {
|
|
|
1270
1273
|
}).call(this);
|
|
1271
1274
|
}
|
|
1272
1275
|
},
|
|
1276
|
+
{
|
|
1277
|
+
/**
|
|
1278
|
+
* Returns the TTL (in milliseconds) for newly-generated reset codes. Subclasses may override
|
|
1279
|
+
* to customize expiry.
|
|
1280
|
+
*
|
|
1281
|
+
* @returns The TTL in milliseconds for newly-generated reset codes.
|
|
1282
|
+
*/ key: "_resetCodeExpiresInMs",
|
|
1283
|
+
value: function _resetCodeExpiresInMs() {
|
|
1284
|
+
return DEFAULT_RESET_CODE_EXPIRES_IN;
|
|
1285
|
+
}
|
|
1286
|
+
},
|
|
1273
1287
|
{
|
|
1274
1288
|
key: "loadResetPasswordClaims",
|
|
1275
1289
|
value: function loadResetPasswordClaims() {
|
|
@@ -1313,7 +1327,7 @@ function _ts_generator$g(thisArg, body) {
|
|
|
1313
1327
|
// clear password reset claims
|
|
1314
1328
|
return [
|
|
1315
1329
|
4,
|
|
1316
|
-
this.updateClaims((_obj = {}, _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, null), _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, null), _obj))
|
|
1330
|
+
this.updateClaims((_obj = {}, _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, null), _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, null), _define_property$x(_obj, FIREBASE_SERVER_AUTH_CLAIMS_RESET_EXPIRES_AT_KEY, null), _obj))
|
|
1317
1331
|
];
|
|
1318
1332
|
case 2:
|
|
1319
1333
|
_state.sent();
|
|
@@ -2108,10 +2122,17 @@ function _ts_generator$g(thisArg, body) {
|
|
|
2108
2122
|
return NoSetupContentFirebaseServerNewUserService;
|
|
2109
2123
|
}(AbstractFirebaseServerNewUserService);
|
|
2110
2124
|
/**
|
|
2111
|
-
* Default throttle duration (
|
|
2125
|
+
* Default throttle duration (60 seconds) between reset content re-sends to prevent spam while
|
|
2126
|
+
* remaining responsive for legitimate users who didn't receive the first email.
|
|
2112
2127
|
*
|
|
2113
2128
|
* Used by {@link AbstractFirebaseServerUserPasswordResetService.sendResetContent} to rate-limit delivery.
|
|
2114
|
-
*/ var DEFAULT_RESET_COM_THROTTLE_TIME =
|
|
2129
|
+
*/ var DEFAULT_RESET_COM_THROTTLE_TIME = minutesToMs(1);
|
|
2130
|
+
/**
|
|
2131
|
+
* Default lifetime (15 minutes) of a reset code before it expires.
|
|
2132
|
+
*
|
|
2133
|
+
* Used by {@link AbstractFirebaseServerAuthUserContext.beginResetPassword} to set
|
|
2134
|
+
* `resetExpiresAt` in the user's claims.
|
|
2135
|
+
*/ var DEFAULT_RESET_CODE_EXPIRES_IN = minutesToMs(15);
|
|
2115
2136
|
/**
|
|
2116
2137
|
* Base implementation of {@link FirebaseServerUserPasswordResetService} that handles reset initiation,
|
|
2117
2138
|
* claims management, throttled reset content delivery, and reset completion.
|
|
@@ -2192,12 +2213,15 @@ function _ts_generator$g(thisArg, body) {
|
|
|
2192
2213
|
3,
|
|
2193
2214
|
7
|
|
2194
2215
|
];
|
|
2216
|
+
// beginResetPassword() just refreshed the claims (including resetCommunicationAt = now),
|
|
2217
|
+
// so the throttle window from any previous send no longer applies — this is the first send
|
|
2218
|
+
// of the newly-rotated code and must not be self-throttled.
|
|
2195
2219
|
return [
|
|
2196
2220
|
4,
|
|
2197
2221
|
this.sendResetContent(resolvedUid, {
|
|
2198
2222
|
data: data,
|
|
2199
2223
|
sendResetDetailsOnce: sendResetDetailsOnce,
|
|
2200
|
-
ignoreSendThrottleTime: sendResetIgnoreThrottle,
|
|
2224
|
+
ignoreSendThrottleTime: sendResetIgnoreThrottle !== null && sendResetIgnoreThrottle !== void 0 ? sendResetIgnoreThrottle : true,
|
|
2201
2225
|
throwErrors: sendResetThrowErrors,
|
|
2202
2226
|
sendDetailsInTestEnvironment: sendDetailsInTestEnvironment
|
|
2203
2227
|
})
|
|
@@ -2351,7 +2375,8 @@ function _ts_generator$g(thisArg, body) {
|
|
|
2351
2375
|
userContext: userContext,
|
|
2352
2376
|
claims: {
|
|
2353
2377
|
resetPassword: claims.resetPassword,
|
|
2354
|
-
resetCommunicationAt: claims.resetCommunicationAt
|
|
2378
|
+
resetCommunicationAt: claims.resetCommunicationAt,
|
|
2379
|
+
resetExpiresAt: claims.resetExpiresAt
|
|
2355
2380
|
},
|
|
2356
2381
|
data: config === null || config === void 0 ? void 0 : config.data,
|
|
2357
2382
|
sendDetailsInTestEnvironment: config === null || config === void 0 ? void 0 : config.sendDetailsInTestEnvironment
|
|
@@ -2397,7 +2422,7 @@ function _ts_generator$g(thisArg, body) {
|
|
|
2397
2422
|
key: "completePasswordReset",
|
|
2398
2423
|
value: function completePasswordReset(uid, input) {
|
|
2399
2424
|
return _async_to_generator$g(function() {
|
|
2400
|
-
var userContext, claims;
|
|
2425
|
+
var userContext, claims, storedCode, expiresAt, storedBuf, inputBuf;
|
|
2401
2426
|
return _ts_generator$g(this, function(_state) {
|
|
2402
2427
|
switch(_state.label){
|
|
2403
2428
|
case 0:
|
|
@@ -2408,7 +2433,18 @@ function _ts_generator$g(thisArg, body) {
|
|
|
2408
2433
|
];
|
|
2409
2434
|
case 1:
|
|
2410
2435
|
claims = _state.sent();
|
|
2411
|
-
|
|
2436
|
+
storedCode = claims === null || claims === void 0 ? void 0 : claims.resetPassword;
|
|
2437
|
+
expiresAt = claims === null || claims === void 0 ? void 0 : claims.resetExpiresAt;
|
|
2438
|
+
// Reject if no active reset OR the stored code is missing/wrong length OR the code is expired.
|
|
2439
|
+
// All failure cases throw the same opaque error so callers cannot distinguish them.
|
|
2440
|
+
if (!storedCode || !expiresAt || storedCode.length !== input.resetPassword.length || new Date(expiresAt).getTime() <= Date.now()) {
|
|
2441
|
+
throw new FirebaseServerAuthPasswordResetInvalidCodeError();
|
|
2442
|
+
}
|
|
2443
|
+
// Constant-time comparison to avoid leaking timing information about how many leading
|
|
2444
|
+
// characters of the provided code matched. Lengths are equal per the guard above.
|
|
2445
|
+
storedBuf = Buffer.from(storedCode);
|
|
2446
|
+
inputBuf = Buffer.from(input.resetPassword);
|
|
2447
|
+
if (!timingSafeEqual(storedBuf, inputBuf)) {
|
|
2412
2448
|
throw new FirebaseServerAuthPasswordResetInvalidCodeError();
|
|
2413
2449
|
}
|
|
2414
2450
|
return [
|
|
@@ -2917,7 +2953,7 @@ function _async_to_generator$e(fn) {
|
|
|
2917
2953
|
});
|
|
2918
2954
|
};
|
|
2919
2955
|
}
|
|
2920
|
-
function _instanceof$
|
|
2956
|
+
function _instanceof$3(left, right) {
|
|
2921
2957
|
"@swc/helpers - instanceof";
|
|
2922
2958
|
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
2923
2959
|
return !!right[Symbol.hasInstance](left);
|
|
@@ -3029,15 +3065,28 @@ function _ts_generator$e(thisArg, body) {
|
|
|
3029
3065
|
* catching password-reset-specific errors and re-throwing them as appropriate {@link HttpsError} instances
|
|
3030
3066
|
* suitable for returning to clients.
|
|
3031
3067
|
*
|
|
3032
|
-
*
|
|
3068
|
+
* Default mapping (security-hardened — enumeration-safe, for end-user callers):
|
|
3069
|
+
* - {@link FirebaseServerAuthPasswordResetInvalidCodeError} → permission-denied (403)
|
|
3070
|
+
* - {@link FirebaseServerAuthPasswordResetNoResetConfigError} → permission-denied (403), same opaque
|
|
3071
|
+
* response as InvalidCode so callers cannot distinguish "wrong code" from "no reset active".
|
|
3072
|
+
* - {@link FirebaseServerAuthPasswordResetSendOnceError} → permission-denied (403), same opaque
|
|
3073
|
+
* response so callers cannot probe whether a reset was already initiated.
|
|
3074
|
+
* - {@link FirebaseServerAuthPasswordResetThrottleError} → unavailable (503) with a generic message
|
|
3075
|
+
* (no `lastSentAt` is leaked).
|
|
3076
|
+
*
|
|
3077
|
+
* Admin mapping (`isAdmin: true`) — preserves distinct error codes and statuses so an admin
|
|
3078
|
+
* resetting on behalf of another user can see the actual reason. Used when the call originates
|
|
3079
|
+
* from an authenticated admin, where enumeration is not a concern:
|
|
3033
3080
|
* - {@link FirebaseServerAuthPasswordResetInvalidCodeError} → permission-denied (403)
|
|
3034
|
-
* - {@link FirebaseServerAuthPasswordResetNoResetConfigError} → bad-request (400)
|
|
3035
|
-
* - {@link
|
|
3036
|
-
* - {@link
|
|
3081
|
+
* - {@link FirebaseServerAuthPasswordResetNoResetConfigError} → bad-request (400), distinct message
|
|
3082
|
+
* - {@link FirebaseServerAuthPasswordResetSendOnceError} → bad-request (400), distinct message
|
|
3083
|
+
* - {@link FirebaseServerAuthPasswordResetThrottleError} → unavailable (503), same as default
|
|
3037
3084
|
*
|
|
3038
3085
|
* @param fn - The async function to execute.
|
|
3086
|
+
* @param isAdmin - When `true`, returns distinct error codes/messages instead of the
|
|
3087
|
+
* enumeration-safe opaque response. Pass the caller's admin status here.
|
|
3039
3088
|
* @returns The result of the function.
|
|
3040
|
-
*/ function catchAndThrowPasswordResetServerErrors(fn) {
|
|
3089
|
+
*/ function catchAndThrowPasswordResetServerErrors(fn, isAdmin) {
|
|
3041
3090
|
return _async_to_generator$e(function() {
|
|
3042
3091
|
var result, error;
|
|
3043
3092
|
return _ts_generator$e(this, function(_state) {
|
|
@@ -3061,14 +3110,14 @@ function _ts_generator$e(thisArg, body) {
|
|
|
3061
3110
|
];
|
|
3062
3111
|
case 2:
|
|
3063
3112
|
error = _state.sent();
|
|
3064
|
-
if (_instanceof$
|
|
3113
|
+
if (_instanceof$3(error, FirebaseServerAuthPasswordResetInvalidCodeError)) {
|
|
3065
3114
|
throw authServicePasswordResetInvalidCodeError();
|
|
3066
|
-
} else if (_instanceof$
|
|
3067
|
-
throw authServicePasswordResetNoConfigError();
|
|
3068
|
-
} else if (_instanceof$
|
|
3115
|
+
} else if (_instanceof$3(error, FirebaseServerAuthPasswordResetNoResetConfigError)) {
|
|
3116
|
+
throw isAdmin ? authServicePasswordResetNoConfigError() : authServicePasswordResetInvalidCodeError();
|
|
3117
|
+
} else if (_instanceof$3(error, FirebaseServerAuthPasswordResetSendOnceError)) {
|
|
3118
|
+
throw isAdmin ? authServicePasswordResetSendOnceError() : authServicePasswordResetInvalidCodeError();
|
|
3119
|
+
} else if (_instanceof$3(error, FirebaseServerAuthPasswordResetThrottleError)) {
|
|
3069
3120
|
throw authServicePasswordResetThrottleError();
|
|
3070
|
-
} else if (_instanceof$2(error, FirebaseServerAuthPasswordResetSendOnceError)) {
|
|
3071
|
-
throw authServicePasswordResetSendOnceError();
|
|
3072
3121
|
}
|
|
3073
3122
|
throw error;
|
|
3074
3123
|
case 3:
|
|
@@ -3087,12 +3136,17 @@ function _ts_generator$e(thisArg, body) {
|
|
|
3087
3136
|
*/ function authServicePasswordResetInvalidCodeError() {
|
|
3088
3137
|
return permissionDeniedError({
|
|
3089
3138
|
code: DBX_FIREBASE_SERVER_PASSWORD_RESET_INVALID_CODE_ERROR_CODE,
|
|
3090
|
-
message: 'Invalid or expired reset
|
|
3139
|
+
message: 'Invalid or expired reset code.'
|
|
3091
3140
|
});
|
|
3092
3141
|
}
|
|
3093
3142
|
/**
|
|
3094
3143
|
* Creates a bad-request (400) server error when no active password reset exists for the user.
|
|
3095
3144
|
*
|
|
3145
|
+
* Distinct from {@link authServicePasswordResetInvalidCodeError}. Use only when the caller is
|
|
3146
|
+
* trusted (e.g., an admin) and revealing "no reset active" is not an enumeration risk; for
|
|
3147
|
+
* end-user callers, {@link catchAndThrowPasswordResetServerErrors} maps this case to the same
|
|
3148
|
+
* opaque response as `InvalidCodeError`.
|
|
3149
|
+
*
|
|
3096
3150
|
* @returns An {@link HttpsError} with code `invalid-argument`.
|
|
3097
3151
|
*/ function authServicePasswordResetNoConfigError() {
|
|
3098
3152
|
return badRequestError({
|
|
@@ -6181,6 +6235,49 @@ function _ts_generator$b(thisArg, body) {
|
|
|
6181
6235
|
})();
|
|
6182
6236
|
}
|
|
6183
6237
|
|
|
6238
|
+
/**
|
|
6239
|
+
* Factory that creates a callable function handling model invokes for multiple model types.
|
|
6240
|
+
*
|
|
6241
|
+
* Dispatches to the correct handler based on the `modelType` field in the request,
|
|
6242
|
+
* enforces auth requirements per handler, and aggregates API details for MCP introspection.
|
|
6243
|
+
*
|
|
6244
|
+
* @param map - Maps model type strings to their invoke handler functions.
|
|
6245
|
+
* @param config - Optional configuration including a pre-assertion hook.
|
|
6246
|
+
* @returns A callable function for the 'invoke' call operation.
|
|
6247
|
+
*
|
|
6248
|
+
* @example
|
|
6249
|
+
* ```typescript
|
|
6250
|
+
* const invokeHandler = onCallInvokeModel<DemoNestContext>({
|
|
6251
|
+
* guestbookEntry: onCallSpecifierHandler({
|
|
6252
|
+
* recomputeLikes: guestbookEntryRecomputeLikes
|
|
6253
|
+
* })
|
|
6254
|
+
* });
|
|
6255
|
+
* ```
|
|
6256
|
+
*/ function onCallInvokeModel(map) {
|
|
6257
|
+
var config = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
6258
|
+
var preAssert = config.preAssert;
|
|
6259
|
+
return _onCallWithCallTypeFunction(map, {
|
|
6260
|
+
callType: 'invoke',
|
|
6261
|
+
preAssert: preAssert,
|
|
6262
|
+
throwOnUnknownModelType: invokeModelUnknownModelTypeError
|
|
6263
|
+
});
|
|
6264
|
+
}
|
|
6265
|
+
/**
|
|
6266
|
+
* Creates a bad-request error indicating the requested model type is not valid for invoking.
|
|
6267
|
+
*
|
|
6268
|
+
* @param modelType - The unrecognized model type string.
|
|
6269
|
+
* @returns A bad-request error with {@link UNKNOWN_MODEL_TYPE_ERROR_CODE} code.
|
|
6270
|
+
*/ function invokeModelUnknownModelTypeError(modelType) {
|
|
6271
|
+
return badRequestError(serverError({
|
|
6272
|
+
status: 400,
|
|
6273
|
+
code: UNKNOWN_MODEL_TYPE_ERROR_CODE,
|
|
6274
|
+
message: 'Invalid type to invoke.',
|
|
6275
|
+
data: {
|
|
6276
|
+
modelType: modelType
|
|
6277
|
+
}
|
|
6278
|
+
}));
|
|
6279
|
+
}
|
|
6280
|
+
|
|
6184
6281
|
function _array_like_to_array$8(arr, len) {
|
|
6185
6282
|
if (len == null || len > arr.length) len = arr.length;
|
|
6186
6283
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -7201,6 +7298,14 @@ function _define_property$l(obj, key, value) {
|
|
|
7201
7298
|
}
|
|
7202
7299
|
return obj;
|
|
7203
7300
|
}
|
|
7301
|
+
function _instanceof$2(left, right) {
|
|
7302
|
+
"@swc/helpers - instanceof";
|
|
7303
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
7304
|
+
return !!right[Symbol.hasInstance](left);
|
|
7305
|
+
} else {
|
|
7306
|
+
return left instanceof right;
|
|
7307
|
+
}
|
|
7308
|
+
}
|
|
7204
7309
|
function _object_spread$c(target) {
|
|
7205
7310
|
for(var i = 1; i < arguments.length; i++){
|
|
7206
7311
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
@@ -7319,6 +7424,28 @@ function _ts_generator$9(thisArg, body) {
|
|
|
7319
7424
|
/**
|
|
7320
7425
|
* Maximum number of keys allowed in a multi-read request.
|
|
7321
7426
|
*/ var MAX_MODEL_ACCESS_MULTI_READ_KEYS = 50;
|
|
7427
|
+
/**
|
|
7428
|
+
* Maps a single `useMultipleModels` failure entry into the public {@link ModelAccessReadError}
|
|
7429
|
+
* shape. Unwraps the typical Firebase error shapes via {@link firebaseServerErrorInfo} so
|
|
7430
|
+
* permission-denied / not-found errors surface a real message + code instead of the generic
|
|
7431
|
+
* `"Unknown error"` fallback the inline mapping used previously.
|
|
7432
|
+
*
|
|
7433
|
+
* @param entry - A failed-key entry from the underlying multi-read.
|
|
7434
|
+
* @returns A `{ key, message, code? }` triple safe to return to API/MCP callers.
|
|
7435
|
+
*/ function modelAccessReadErrorFromUseMultipleModelsFailure(entry) {
|
|
7436
|
+
var _info_serverErrorCode, _ref, _ref1;
|
|
7437
|
+
var _info_httpsErrorDetailsServerError, _info_httpsError;
|
|
7438
|
+
var info = firebaseServerErrorInfo(entry.error);
|
|
7439
|
+
var serverMessage = (_info_httpsErrorDetailsServerError = info.httpsErrorDetailsServerError) === null || _info_httpsErrorDetailsServerError === void 0 ? void 0 : _info_httpsErrorDetailsServerError.message;
|
|
7440
|
+
var httpsMessage = (_info_httpsError = info.httpsError) === null || _info_httpsError === void 0 ? void 0 : _info_httpsError.message;
|
|
7441
|
+
var plainMessage = _instanceof$2(entry.error, Error) ? entry.error.message : undefined;
|
|
7442
|
+
var code = (_info_serverErrorCode = info.serverErrorCode) !== null && _info_serverErrorCode !== void 0 ? _info_serverErrorCode : info.firebaseErrorCode;
|
|
7443
|
+
return {
|
|
7444
|
+
key: entry.key,
|
|
7445
|
+
message: (_ref = (_ref1 = serverMessage !== null && serverMessage !== void 0 ? serverMessage : httpsMessage) !== null && _ref1 !== void 0 ? _ref1 : plainMessage) !== null && _ref !== void 0 ? _ref : 'permission denied or not found',
|
|
7446
|
+
code: code
|
|
7447
|
+
};
|
|
7448
|
+
}
|
|
7322
7449
|
// MARK: Service
|
|
7323
7450
|
/**
|
|
7324
7451
|
* Service for direct document reads using the `useModel()` permission-checking pattern.
|
|
@@ -7330,9 +7457,67 @@ function _ts_generator$9(thisArg, body) {
|
|
|
7330
7457
|
function ModelApiGetService(config, nestApplication) {
|
|
7331
7458
|
_class_call_check$e(this, ModelApiGetService);
|
|
7332
7459
|
_define_property$l(this, "_nestContext", void 0);
|
|
7460
|
+
_define_property$l(this, "_identityByModelType", void 0);
|
|
7333
7461
|
this._nestContext = config.makeNestContext(nestApplication);
|
|
7334
7462
|
}
|
|
7335
7463
|
_create_class$9(ModelApiGetService, [
|
|
7464
|
+
{
|
|
7465
|
+
/**
|
|
7466
|
+
* Returns the registered {@link FirestoreModelIdentity} for the given `modelType` string, or
|
|
7467
|
+
* `undefined` when no model of that type is registered.
|
|
7468
|
+
*
|
|
7469
|
+
* Identities are read from `firebaseModelsService` and cached on first successful call. The
|
|
7470
|
+
* lookup uses the provided `auth` to build a real model context — `getFirestoreCollection(ctx)`
|
|
7471
|
+
* is context-dependent (calls `ctx.collection(...)` or similar), so a synthetic empty context
|
|
7472
|
+
* is not sufficient.
|
|
7473
|
+
*
|
|
7474
|
+
* @param modelType - The Firestore model type string (e.g., 'guestbook', 'profile').
|
|
7475
|
+
* @param auth - The request's auth data; used to build a context for the (one-time) lookup.
|
|
7476
|
+
* @returns The matching identity or `undefined`.
|
|
7477
|
+
*/ key: "getModelIdentity",
|
|
7478
|
+
value: function getModelIdentity(modelType, auth) {
|
|
7479
|
+
var _this__identityByModelType;
|
|
7480
|
+
(_this__identityByModelType = this._identityByModelType) !== null && _this__identityByModelType !== void 0 ? _this__identityByModelType : this._identityByModelType = this._buildIdentityMap(auth);
|
|
7481
|
+
return this._identityByModelType.get(modelType);
|
|
7482
|
+
}
|
|
7483
|
+
},
|
|
7484
|
+
{
|
|
7485
|
+
key: "_buildIdentityMap",
|
|
7486
|
+
value: function _buildIdentityMap(auth) {
|
|
7487
|
+
var map = new Map();
|
|
7488
|
+
var authRef = this._makeAuthRef(auth);
|
|
7489
|
+
var inContextService = this._nestContext.model(authRef);
|
|
7490
|
+
var allTypes = inContextService.allTypes();
|
|
7491
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
7492
|
+
try {
|
|
7493
|
+
for(var _iterator = allTypes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
7494
|
+
var type = _step.value;
|
|
7495
|
+
try {
|
|
7496
|
+
var modelService = inContextService(type);
|
|
7497
|
+
var identity = modelService.getFirestoreCollection().modelIdentity;
|
|
7498
|
+
map.set(type, identity);
|
|
7499
|
+
} catch (unused) {
|
|
7500
|
+
// identity unavailable for this type — skipped silently. A subsequent get attempt for a
|
|
7501
|
+
// missing type surfaces a user-visible "Unknown modelType" error at the tool layer.
|
|
7502
|
+
}
|
|
7503
|
+
}
|
|
7504
|
+
} catch (err) {
|
|
7505
|
+
_didIteratorError = true;
|
|
7506
|
+
_iteratorError = err;
|
|
7507
|
+
} finally{
|
|
7508
|
+
try {
|
|
7509
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
7510
|
+
_iterator.return();
|
|
7511
|
+
}
|
|
7512
|
+
} finally{
|
|
7513
|
+
if (_didIteratorError) {
|
|
7514
|
+
throw _iteratorError;
|
|
7515
|
+
}
|
|
7516
|
+
}
|
|
7517
|
+
}
|
|
7518
|
+
return map;
|
|
7519
|
+
}
|
|
7520
|
+
},
|
|
7336
7521
|
{
|
|
7337
7522
|
key: "readDocument",
|
|
7338
7523
|
value: /**
|
|
@@ -7439,15 +7624,7 @@ function _ts_generator$9(thisArg, body) {
|
|
|
7439
7624
|
];
|
|
7440
7625
|
case 1:
|
|
7441
7626
|
results = _state.sent();
|
|
7442
|
-
errors = failure.errors.map(
|
|
7443
|
-
var _ref;
|
|
7444
|
-
var _e_error, _e_error1;
|
|
7445
|
-
return {
|
|
7446
|
-
key: e.key,
|
|
7447
|
-
message: (_ref = (_e_error = e.error) === null || _e_error === void 0 ? void 0 : _e_error.message) !== null && _ref !== void 0 ? _ref : 'Unknown error',
|
|
7448
|
-
code: (_e_error1 = e.error) === null || _e_error1 === void 0 ? void 0 : _e_error1.code
|
|
7449
|
-
};
|
|
7450
|
-
});
|
|
7627
|
+
errors = failure.errors.map(modelAccessReadErrorFromUseMultipleModelsFailure);
|
|
7451
7628
|
return [
|
|
7452
7629
|
2,
|
|
7453
7630
|
{
|
|
@@ -8909,6 +9086,12 @@ function _is_native_reflect_construct$1() {
|
|
|
8909
9086
|
return this._appUrlDetails();
|
|
8910
9087
|
}
|
|
8911
9088
|
},
|
|
9089
|
+
{
|
|
9090
|
+
key: "appMcpUrl",
|
|
9091
|
+
get: function get() {
|
|
9092
|
+
return this.env.appMcpUrl;
|
|
9093
|
+
}
|
|
9094
|
+
},
|
|
8912
9095
|
{
|
|
8913
9096
|
key: "appWebhookUrl",
|
|
8914
9097
|
get: function get() {
|
|
@@ -12731,4 +12914,4 @@ function _define_property(obj, key, value) {
|
|
|
12731
12914
|
}
|
|
12732
12915
|
();
|
|
12733
12916
|
|
|
12734
|
-
export { AbstractFirebaseNestContext, AbstractFirebaseServerActionsContext, AbstractFirebaseServerAuthContext, AbstractFirebaseServerAuthService, AbstractFirebaseServerAuthUserContext, AbstractFirebaseServerNewUserService, AbstractFirebaseServerUserPasswordResetService, AbstractNestContext, AbstractServerFirebaseNestContext, ConfigureFirebaseAppCheckMiddlewareModule, ConfigureFirebaseWebhookMiddlewareModule, DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR, DEFAULT_RESET_COM_THROTTLE_TIME, DEFAULT_SERVER_ASSETS_BASE_PATH, 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, FirebaseAppCheckMiddleware, FirebaseAppCheckMiddlewareConfig, FirebaseNestServerRootModule, FirebaseRawBodyMiddleware, FirebaseServerAnalyticsSegmentListenerService, FirebaseServerAnalyticsSegmentModule, FirebaseServerAnalyticsService, FirebaseServerAnalyticsServiceListener, FirebaseServerAuthModule, FirebaseServerAuthNewUserSendSetupDetailsNoSetupConfigError, FirebaseServerAuthNewUserSendSetupDetailsSendOnceError, FirebaseServerAuthNewUserSendSetupDetailsThrottleError, FirebaseServerAuthPasswordResetInvalidCodeError, FirebaseServerAuthPasswordResetNoResetConfigError, FirebaseServerAuthPasswordResetSendOnceError, FirebaseServerAuthPasswordResetThrottleError, FirebaseServerAuthService, FirebaseServerAuthUserBadInputError, FirebaseServerAuthUserExistsError, FirebaseServerEnvService, FirebaseServerFirestoreContextModule, FirebaseServerFirestoreModule, FirebaseServerStorageContextModule, FirebaseServerStorageModule, FirebaseServerStorageService, GlobalRoutePrefixConfig, MAX_MODEL_ACCESS_MULTI_READ_KEYS, MODEL_API_NEST_APPLICATION_CONTEXT, ModelApiCallModelDispatchService, ModelApiController, ModelApiDispatchConfig, ModelApiGetService, NO_RUN_NAME_SPECIFIED_FOR_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_CODE, NoContentFirebaseServerUserPasswordResetService, NoSetupContentFirebaseServerNewUserService, ON_CALL_MODEL_ANALYTICS_HANDLER, ON_CALL_MODEL_ANALYTICS_SERVICE, OnCallModelAnalyticsService, PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE, SkipAppCheck, 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, authServicePasswordResetInvalidCodeError, authServicePasswordResetNoConfigError, authServicePasswordResetSendOnceError, authServicePasswordResetThrottleError, badRequestError, blockingFunctionHandlerWithNestContextFactory, buildNestServerRootModule, callWithAnalytics, catchAndThrowPasswordResetServerErrors, cloudEventHandlerWithNestContextFactory, collectionRefForPath, createModelUnknownModelTypeError, defaultFirebaseServerActionsTransformFactoryLogErrorFunction, defaultProvideFirebaseServerStorageServiceSimple, deleteModelUnknownModelTypeError, developmentUnknownSpecifierError, docRefForPath, documentModelNotAvailableError, executeOnCallQuery, 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, modelApiModuleMetadata, modelNotAvailableError, nestAppHasDevelopmentSchedulerEnabled, nestAppIsProductionEnvironment, nestFirebaseDoesNotExistError, nestFirebaseForbiddenPermissionError, nestServerInstance, noRunNameSpecifiedForScheduledFunctionDevelopmentFunction, noopFirebaseServerAnalyticsServiceListener, noopOnCallModelAnalyticsService, notFoundError, onCallAnalyticsEmitterInstance, onCallCreateModel, onCallDeleteModel, onCallDevelopmentFunction, onCallHandlerWithNestApplicationFactory, onCallHandlerWithNestContextFactory, onCallModel, onCallModelMissingCallTypeError, onCallModelUnknownCallTypeError, onCallQueryModel, onCallReadModel, onCallSpecifierHandler, onCallUpdateModel, onScheduleHandlerWithNestApplicationFactory, onScheduleHandlerWithNestContextFactory, optionalAuthContext, optionalFirestoreEncryptedField, permissionDeniedError, phoneNumberAlreadyExistsError, preconditionConflictError, provideAppFirestoreCollections, provideFirebaseServerAuthService, provideFirebaseServerStorageService, queryModelBadCursorError, queryModelUnknownModelTypeError, readApiDetails, readModelUnknownModelTypeError, resolveAdminOnlyValue, resolveAnalyticsFromApiDetails, setNestContextOnRequest, setNestContextOnScheduleRequest, taskQueueFunctionHandlerWithNestContextFactory, unauthenticatedContextHasNoAuthData, unauthenticatedContextHasNoUidError, unauthenticatedError, unavailableError, unavailableOrDeactivatedFunctionError, unknownModelCrudFunctionSpecifierError, unknownScheduledFunctionDevelopmentFunctionName, unknownScheduledFunctionDevelopmentFunctionType, updateModelUnknownModelTypeError, userContextFromUid, verifyAppCheckInRequest, withApiDetails };
|
|
12917
|
+
export { AbstractFirebaseNestContext, AbstractFirebaseServerActionsContext, AbstractFirebaseServerAuthContext, AbstractFirebaseServerAuthService, AbstractFirebaseServerAuthUserContext, AbstractFirebaseServerNewUserService, AbstractFirebaseServerUserPasswordResetService, AbstractNestContext, AbstractServerFirebaseNestContext, ConfigureFirebaseAppCheckMiddlewareModule, ConfigureFirebaseWebhookMiddlewareModule, DEFAULT_FIREBASE_PASSWORD_NUMBER_GENERATOR, DEFAULT_RESET_CODE_EXPIRES_IN, DEFAULT_RESET_COM_THROTTLE_TIME, DEFAULT_SERVER_ASSETS_BASE_PATH, 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, FirebaseAppCheckMiddleware, FirebaseAppCheckMiddlewareConfig, FirebaseNestServerRootModule, FirebaseRawBodyMiddleware, FirebaseServerAnalyticsSegmentListenerService, FirebaseServerAnalyticsSegmentModule, FirebaseServerAnalyticsService, FirebaseServerAnalyticsServiceListener, FirebaseServerAuthModule, FirebaseServerAuthNewUserSendSetupDetailsNoSetupConfigError, FirebaseServerAuthNewUserSendSetupDetailsSendOnceError, FirebaseServerAuthNewUserSendSetupDetailsThrottleError, FirebaseServerAuthPasswordResetInvalidCodeError, FirebaseServerAuthPasswordResetNoResetConfigError, FirebaseServerAuthPasswordResetSendOnceError, FirebaseServerAuthPasswordResetThrottleError, FirebaseServerAuthService, FirebaseServerAuthUserBadInputError, FirebaseServerAuthUserExistsError, FirebaseServerEnvService, FirebaseServerFirestoreContextModule, FirebaseServerFirestoreModule, FirebaseServerStorageContextModule, FirebaseServerStorageModule, FirebaseServerStorageService, GlobalRoutePrefixConfig, MAX_MODEL_ACCESS_MULTI_READ_KEYS, MODEL_API_NEST_APPLICATION_CONTEXT, ModelApiCallModelDispatchService, ModelApiController, ModelApiDispatchConfig, ModelApiGetService, NO_RUN_NAME_SPECIFIED_FOR_SCHEDULED_FUNCTION_DEVELOPMENT_FUNCTION_CODE, NoContentFirebaseServerUserPasswordResetService, NoSetupContentFirebaseServerNewUserService, ON_CALL_MODEL_ANALYTICS_HANDLER, ON_CALL_MODEL_ANALYTICS_SERVICE, OnCallModelAnalyticsService, PHONE_NUMBER_ALREADY_EXISTS_ERROR_CODE, SkipAppCheck, 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, authServicePasswordResetInvalidCodeError, authServicePasswordResetNoConfigError, authServicePasswordResetSendOnceError, authServicePasswordResetThrottleError, badRequestError, blockingFunctionHandlerWithNestContextFactory, buildNestServerRootModule, callWithAnalytics, catchAndThrowPasswordResetServerErrors, cloudEventHandlerWithNestContextFactory, collectionRefForPath, createModelUnknownModelTypeError, defaultFirebaseServerActionsTransformFactoryLogErrorFunction, defaultProvideFirebaseServerStorageServiceSimple, deleteModelUnknownModelTypeError, developmentUnknownSpecifierError, docRefForPath, documentModelNotAvailableError, executeOnCallQuery, 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, invokeModelUnknownModelTypeError, isActualSpecifier, isAdminInRequest, isAdminOrTargetUserInRequestData, isContextWithAuthData, isFirebaseError, isFirebaseHttpsError, isOnCallCrudModelApiDetails, isOnCallHandlerApiDetails, isOnCallModelTypeApiDetails, isOnCallSpecifierApiDetails, makeBlockingFunctionWithHandler, makeOnScheduleHandlerWithNestApplicationRequest, makeScheduledFunctionDevelopmentFunction, modelAccessReadErrorFromUseMultipleModelsFailure, modelApiModuleMetadata, modelNotAvailableError, nestAppHasDevelopmentSchedulerEnabled, nestAppIsProductionEnvironment, nestFirebaseDoesNotExistError, nestFirebaseForbiddenPermissionError, nestServerInstance, noRunNameSpecifiedForScheduledFunctionDevelopmentFunction, noopFirebaseServerAnalyticsServiceListener, noopOnCallModelAnalyticsService, notFoundError, onCallAnalyticsEmitterInstance, onCallCreateModel, onCallDeleteModel, onCallDevelopmentFunction, onCallHandlerWithNestApplicationFactory, onCallHandlerWithNestContextFactory, onCallInvokeModel, onCallModel, onCallModelMissingCallTypeError, onCallModelUnknownCallTypeError, onCallQueryModel, onCallReadModel, onCallSpecifierHandler, onCallUpdateModel, onScheduleHandlerWithNestApplicationFactory, onScheduleHandlerWithNestContextFactory, optionalAuthContext, optionalFirestoreEncryptedField, permissionDeniedError, phoneNumberAlreadyExistsError, preconditionConflictError, provideAppFirestoreCollections, provideFirebaseServerAuthService, provideFirebaseServerStorageService, queryModelBadCursorError, queryModelUnknownModelTypeError, readApiDetails, readModelUnknownModelTypeError, resolveAdminOnlyValue, resolveAnalyticsFromApiDetails, setNestContextOnRequest, setNestContextOnScheduleRequest, taskQueueFunctionHandlerWithNestContextFactory, unauthenticatedContextHasNoAuthData, unauthenticatedContextHasNoUidError, unauthenticatedError, unavailableError, unavailableOrDeactivatedFunctionError, unknownModelCrudFunctionSpecifierError, unknownScheduledFunctionDevelopmentFunctionName, unknownScheduledFunctionDevelopmentFunctionType, updateModelUnknownModelTypeError, userContextFromUid, verifyAppCheckInRequest, withApiDetails };
|
package/mailgun/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/mailgun",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.12.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@dereekb/analytics": "13.
|
|
6
|
-
"@dereekb/firebase": "13.
|
|
7
|
-
"@dereekb/firebase-server": "13.
|
|
8
|
-
"@dereekb/date": "13.
|
|
9
|
-
"@dereekb/nestjs": "13.
|
|
10
|
-
"@dereekb/model": "13.
|
|
11
|
-
"@dereekb/rxjs": "13.
|
|
12
|
-
"@dereekb/util": "13.
|
|
5
|
+
"@dereekb/analytics": "13.12.1",
|
|
6
|
+
"@dereekb/firebase": "13.12.1",
|
|
7
|
+
"@dereekb/firebase-server": "13.12.1",
|
|
8
|
+
"@dereekb/date": "13.12.1",
|
|
9
|
+
"@dereekb/nestjs": "13.12.1",
|
|
10
|
+
"@dereekb/model": "13.12.1",
|
|
11
|
+
"@dereekb/rxjs": "13.12.1",
|
|
12
|
+
"@dereekb/util": "13.12.1"
|
|
13
13
|
},
|
|
14
14
|
"exports": {
|
|
15
15
|
"./package.json": "./package.json",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./index.cjs.js').default;
|