@dereekb/firebase-server 13.14.0 → 13.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/model",
3
- "version": "13.14.0",
3
+ "version": "13.16.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.14.0",
6
- "@dereekb/date": "13.14.0",
7
- "@dereekb/firebase": "13.14.0",
8
- "@dereekb/firebase-server": "13.14.0",
9
- "@dereekb/model": "13.14.0",
10
- "@dereekb/nestjs": "13.14.0",
11
- "@dereekb/rxjs": "13.14.0",
12
- "@dereekb/util": "13.14.0",
5
+ "@dereekb/analytics": "13.16.0",
6
+ "@dereekb/date": "13.16.0",
7
+ "@dereekb/firebase": "13.16.0",
8
+ "@dereekb/firebase-server": "13.16.0",
9
+ "@dereekb/model": "13.16.0",
10
+ "@dereekb/nestjs": "13.16.0",
11
+ "@dereekb/rxjs": "13.16.0",
12
+ "@dereekb/util": "13.16.0",
13
13
  "@nestjs/common": "^11.1.19",
14
14
  "@nestjs/config": "^4.0.4",
15
15
  "archiver": "^7.0.1",
package/oidc/index.cjs.js CHANGED
@@ -1147,16 +1147,16 @@ exports.JwksService = /*#__PURE__*/ function() {
1147
1147
  ];
1148
1148
  case 1:
1149
1149
  jwks = _state.sent();
1150
- if (!!jwks.keys.length) return [
1150
+ if (!jwks.keys.length) return [
1151
1151
  3,
1152
1152
  3
1153
1153
  ];
1154
1154
  return [
1155
1155
  4,
1156
- this.rotateKeys()
1156
+ this._syncKeysToCloud()
1157
1157
  ];
1158
1158
  case 2:
1159
- _state.sent();
1159
+ _state.sent(); // sync the keys to the cloud if they exist
1160
1160
  return [
1161
1161
  3,
1162
1162
  5
@@ -1164,10 +1164,10 @@ exports.JwksService = /*#__PURE__*/ function() {
1164
1164
  case 3:
1165
1165
  return [
1166
1166
  4,
1167
- this._syncKeysToCloud()
1167
+ this.rotateKeys()
1168
1168
  ];
1169
1169
  case 4:
1170
- _state.sent(); // sync the keys to the cloud if they exist
1170
+ _state.sent();
1171
1171
  _state.label = 5;
1172
1172
  case 5:
1173
1173
  return [
@@ -3063,7 +3063,7 @@ var GRANTABLE_MODELS = new Set(GRANTABLE_MODEL_NAMES);
3063
3063
  results = _state.sent();
3064
3064
  return [
3065
3065
  2,
3066
- !results.empty ? this._toPayload(results.docs[0].data()) : undefined
3066
+ results.empty ? undefined : this._toPayload(results.docs[0].data())
3067
3067
  ];
3068
3068
  }
3069
3069
  });
@@ -3086,7 +3086,7 @@ var GRANTABLE_MODELS = new Set(GRANTABLE_MODEL_NAMES);
3086
3086
  results = _state.sent();
3087
3087
  return [
3088
3088
  2,
3089
- !results.empty ? this._toPayload(results.docs[0].data()) : undefined
3089
+ results.empty ? undefined : this._toPayload(results.docs[0].data())
3090
3090
  ];
3091
3091
  }
3092
3092
  });
@@ -5111,7 +5111,7 @@ var FirebaseServerOidcAnalyticsService_1;
5111
5111
  var name = "".concat(this._eventNamePrefix).concat((_this__eventNames_event_type = this._eventNames[event.type]) !== null && _this__eventNames_event_type !== void 0 ? _this__eventNames_event_type : event.type);
5112
5112
  if (this._logEvents) {
5113
5113
  var uidSuffix = event.uid ? " uid=".concat(event.uid) : '';
5114
- var durationSuffix = event.durationMs != null ? " (".concat(event.durationMs, "ms)") : '';
5114
+ var durationSuffix = event.durationMs == null ? '' : " (".concat(event.durationMs, "ms)");
5115
5115
  var outcome = event.isSuccessful ? 'Succeeded' : 'Failed';
5116
5116
  var reasonSuffix = event.reason ? " reason=".concat(event.reason) : '';
5117
5117
  this._logger.log("".concat(name, " ").concat(outcome).concat(uidSuffix).concat(reasonSuffix).concat(durationSuffix));
package/oidc/index.esm.js CHANGED
@@ -1145,16 +1145,16 @@ var JwksService = /*#__PURE__*/ function() {
1145
1145
  ];
1146
1146
  case 1:
1147
1147
  jwks = _state.sent();
1148
- if (!!jwks.keys.length) return [
1148
+ if (!jwks.keys.length) return [
1149
1149
  3,
1150
1150
  3
1151
1151
  ];
1152
1152
  return [
1153
1153
  4,
1154
- this.rotateKeys()
1154
+ this._syncKeysToCloud()
1155
1155
  ];
1156
1156
  case 2:
1157
- _state.sent();
1157
+ _state.sent(); // sync the keys to the cloud if they exist
1158
1158
  return [
1159
1159
  3,
1160
1160
  5
@@ -1162,10 +1162,10 @@ var JwksService = /*#__PURE__*/ function() {
1162
1162
  case 3:
1163
1163
  return [
1164
1164
  4,
1165
- this._syncKeysToCloud()
1165
+ this.rotateKeys()
1166
1166
  ];
1167
1167
  case 4:
1168
- _state.sent(); // sync the keys to the cloud if they exist
1168
+ _state.sent();
1169
1169
  _state.label = 5;
1170
1170
  case 5:
1171
1171
  return [
@@ -3061,7 +3061,7 @@ var GRANTABLE_MODELS = new Set(GRANTABLE_MODEL_NAMES);
3061
3061
  results = _state.sent();
3062
3062
  return [
3063
3063
  2,
3064
- !results.empty ? this._toPayload(results.docs[0].data()) : undefined
3064
+ results.empty ? undefined : this._toPayload(results.docs[0].data())
3065
3065
  ];
3066
3066
  }
3067
3067
  });
@@ -3084,7 +3084,7 @@ var GRANTABLE_MODELS = new Set(GRANTABLE_MODEL_NAMES);
3084
3084
  results = _state.sent();
3085
3085
  return [
3086
3086
  2,
3087
- !results.empty ? this._toPayload(results.docs[0].data()) : undefined
3087
+ results.empty ? undefined : this._toPayload(results.docs[0].data())
3088
3088
  ];
3089
3089
  }
3090
3090
  });
@@ -5109,7 +5109,7 @@ var FirebaseServerOidcAnalyticsService_1;
5109
5109
  var name = "".concat(this._eventNamePrefix).concat((_this__eventNames_event_type = this._eventNames[event.type]) !== null && _this__eventNames_event_type !== void 0 ? _this__eventNames_event_type : event.type);
5110
5110
  if (this._logEvents) {
5111
5111
  var uidSuffix = event.uid ? " uid=".concat(event.uid) : '';
5112
- var durationSuffix = event.durationMs != null ? " (".concat(event.durationMs, "ms)") : '';
5112
+ var durationSuffix = event.durationMs == null ? '' : " (".concat(event.durationMs, "ms)");
5113
5113
  var outcome = event.isSuccessful ? 'Succeeded' : 'Failed';
5114
5114
  var reasonSuffix = event.reason ? " reason=".concat(event.reason) : '';
5115
5115
  this._logger.log("".concat(name, " ").concat(outcome).concat(uidSuffix).concat(reasonSuffix).concat(durationSuffix));
package/oidc/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/oidc",
3
- "version": "13.14.0",
3
+ "version": "13.16.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.14.0",
6
- "@dereekb/date": "13.14.0",
7
- "@dereekb/firebase": "13.14.0",
8
- "@dereekb/firebase-server": "13.14.0",
9
- "@dereekb/model": "13.14.0",
10
- "@dereekb/nestjs": "13.14.0",
11
- "@dereekb/rxjs": "13.14.0",
12
- "@dereekb/util": "13.14.0",
13
- "@dereekb/zoho": "13.14.0",
5
+ "@dereekb/analytics": "13.16.0",
6
+ "@dereekb/date": "13.16.0",
7
+ "@dereekb/firebase": "13.16.0",
8
+ "@dereekb/firebase-server": "13.16.0",
9
+ "@dereekb/model": "13.16.0",
10
+ "@dereekb/nestjs": "13.16.0",
11
+ "@dereekb/rxjs": "13.16.0",
12
+ "@dereekb/util": "13.16.0",
13
+ "@dereekb/zoho": "13.16.0",
14
14
  "@nestjs/common": "^11.1.19",
15
15
  "@nestjs/config": "^4.0.4",
16
16
  "express": "^5.2.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "13.14.0",
3
+ "version": "13.16.0",
4
4
  "sideEffects": false,
5
5
  "exports": {
6
6
  "./test": {
@@ -57,15 +57,15 @@
57
57
  "types": "./src/index.d.ts",
58
58
  "peerDependencies": {
59
59
  "@cantoo/pdf-lib": "^2.6.5",
60
- "@dereekb/analytics": "13.14.0",
61
- "@dereekb/date": "13.14.0",
62
- "@dereekb/dbx-core": "13.14.0",
63
- "@dereekb/firebase": "13.14.0",
64
- "@dereekb/model": "13.14.0",
65
- "@dereekb/nestjs": "13.14.0",
66
- "@dereekb/rxjs": "13.14.0",
67
- "@dereekb/util": "13.14.0",
68
- "@dereekb/zoho": "13.14.0",
60
+ "@dereekb/analytics": "13.16.0",
61
+ "@dereekb/date": "13.16.0",
62
+ "@dereekb/dbx-core": "13.16.0",
63
+ "@dereekb/firebase": "13.16.0",
64
+ "@dereekb/model": "13.16.0",
65
+ "@dereekb/nestjs": "13.16.0",
66
+ "@dereekb/rxjs": "13.16.0",
67
+ "@dereekb/util": "13.16.0",
68
+ "@dereekb/zoho": "13.16.0",
69
69
  "@google-cloud/firestore": "^7.11.6",
70
70
  "@google-cloud/storage": "^7.19.0",
71
71
  "@modelcontextprotocol/sdk": "1.29.0",
@@ -48,6 +48,18 @@ export interface FirebaseServerAuthResetUserPasswordClaims extends FirebaseAuthR
48
48
  * await userCtx.addRoles(AUTH_ADMIN_ROLE);
49
49
  * ```
50
50
  */
51
+ /**
52
+ * Optional overrides for {@link FirebaseServerAuthUserContext.beginResetPassword}.
53
+ */
54
+ export interface FirebaseServerAuthBeginResetPasswordOptions {
55
+ /**
56
+ * Lifetime of the generated reset code, in milliseconds. When provided, overrides the context
57
+ * default ({@link AbstractFirebaseServerAuthUserContext._resetCodeExpiresInMs} / {@link DEFAULT_RESET_CODE_EXPIRES_IN}).
58
+ *
59
+ * Intended for admin-initiated resets that need a longer window than the self-service default.
60
+ */
61
+ readonly resetCodeExpiresIn?: Maybe<Milliseconds>;
62
+ }
51
63
  export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIdentifierContext {
52
64
  /**
53
65
  * Checks whether the user exists in Firebase Auth.
@@ -71,8 +83,10 @@ export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIde
71
83
  *
72
84
  * The returned claims contain the generated password and a timestamp, which can be
73
85
  * communicated to the user through an external channel (e.g., email).
86
+ *
87
+ * @param options - Optional overrides for the reset, such as a custom code lifetime.
74
88
  */
75
- beginResetPassword(): Promise<FirebaseServerAuthResetUserPasswordClaims>;
89
+ beginResetPassword(options?: FirebaseServerAuthBeginResetPasswordOptions): Promise<FirebaseServerAuthResetUserPasswordClaims>;
76
90
  /**
77
91
  * Loads the reset password claims if a password reset is currently active.
78
92
  *
@@ -186,7 +200,7 @@ export declare abstract class AbstractFirebaseServerAuthUserContext<S extends Fi
186
200
  * @returns A random numeric string suitable as a temporary password.
187
201
  */
188
202
  protected _generateResetPasswordKey(): string;
189
- beginResetPassword(): Promise<FirebaseServerAuthResetUserPasswordClaims>;
203
+ beginResetPassword(options?: FirebaseServerAuthBeginResetPasswordOptions): Promise<FirebaseServerAuthResetUserPasswordClaims>;
190
204
  /**
191
205
  * Returns the TTL (in milliseconds) for newly-generated reset codes. Subclasses may override
192
206
  * to customize expiry.
@@ -641,6 +655,12 @@ export interface FirebaseServerAuthInitiatePasswordReset<D = unknown> {
641
655
  * Whether or not to force sending the test details.
642
656
  */
643
657
  readonly sendDetailsInTestEnvironment?: Maybe<boolean>;
658
+ /**
659
+ * Optional override for the generated reset code's lifetime, in milliseconds. Defaults to the
660
+ * context default (15 min). Use a longer value for admin-initiated resets that may not be
661
+ * acted on for a day or two. Not exposed through the public API.
662
+ */
663
+ readonly resetCodeExpiresIn?: Maybe<Milliseconds>;
644
664
  /**
645
665
  * Any additional reset context.
646
666
  */
@@ -841,7 +861,7 @@ export interface FirebaseServerUserPasswordResetService<D = unknown, U extends F
841
861
  */
842
862
  export declare const DEFAULT_RESET_COM_THROTTLE_TIME: number;
843
863
  /**
844
- * Default lifetime (15 minutes) of a reset code before it expires.
864
+ * Default lifetime (30 minutes) of a reset code before it expires.
845
865
  *
846
866
  * Used by {@link AbstractFirebaseServerAuthUserContext.beginResetPassword} to set
847
867
  * `resetExpiresAt` in the user's claims.
package/test/index.cjs.js CHANGED
@@ -712,7 +712,7 @@ function _ts_generator$a(thisArg, body) {
712
712
  *
713
713
  * Has the format 'test-uid-<number>'
714
714
  */ var testUidFactory = util.mapGetter(util.incrementingNumberFactory(), function(i) {
715
- return "".concat(new Date().getTime(), "0").concat(i);
715
+ return "".concat(Date.now(), "0").concat(i);
716
716
  });
717
717
  /**
718
718
  * Creates a CallableContextOptions with auth attached corresponding to the input UserRecord.
@@ -1294,7 +1294,7 @@ var adminEnvironmentInitialized = false;
1294
1294
  * // => 'firebase-test-1710000000000'
1295
1295
  * ```
1296
1296
  */ function generateNewProjectId() {
1297
- return 'firebase-test-' + new Date().getTime();
1297
+ return 'firebase-test-' + Date.now();
1298
1298
  }
1299
1299
  /**
1300
1300
  * Generates a new project ID and writes it to the `GCLOUD_PROJECT` and `GCLOUD_TEST_PROJECT`
@@ -1926,7 +1926,7 @@ var COUNTER = 0;
1926
1926
  var drivers, projectId, firebaseStorage, defaultBucketId;
1927
1927
  return _ts_generator$7(this, function(_state) {
1928
1928
  drivers = test$1.makeTestingFirebaseStorageDrivers(firebaseServer.googleCloudFirebaseStorageDrivers());
1929
- projectId = "firebase-storage-server-test-".concat(new Date().getTime(), "-").concat(COUNTER++);
1929
+ projectId = "firebase-storage-server-test-".concat(Date.now(), "-").concat(COUNTER++);
1930
1930
  firebaseStorage = new storage.Storage({
1931
1931
  projectId: projectId,
1932
1932
  // ensure http:// is provided so the library doesn't default to/try https://
package/test/index.esm.js CHANGED
@@ -711,7 +711,7 @@ function _ts_generator$a(thisArg, body) {
711
711
  *
712
712
  * Has the format 'test-uid-<number>'
713
713
  */ var testUidFactory = mapGetter(incrementingNumberFactory(), function(i) {
714
- return "".concat(new Date().getTime(), "0").concat(i);
714
+ return "".concat(Date.now(), "0").concat(i);
715
715
  });
716
716
  /**
717
717
  * Creates a CallableContextOptions with auth attached corresponding to the input UserRecord.
@@ -1293,7 +1293,7 @@ var adminEnvironmentInitialized = false;
1293
1293
  * // => 'firebase-test-1710000000000'
1294
1294
  * ```
1295
1295
  */ function generateNewProjectId() {
1296
- return 'firebase-test-' + new Date().getTime();
1296
+ return 'firebase-test-' + Date.now();
1297
1297
  }
1298
1298
  /**
1299
1299
  * Generates a new project ID and writes it to the `GCLOUD_PROJECT` and `GCLOUD_TEST_PROJECT`
@@ -1925,7 +1925,7 @@ var COUNTER = 0;
1925
1925
  var drivers, projectId, firebaseStorage, defaultBucketId;
1926
1926
  return _ts_generator$7(this, function(_state) {
1927
1927
  drivers = makeTestingFirebaseStorageDrivers(googleCloudFirebaseStorageDrivers());
1928
- projectId = "firebase-storage-server-test-".concat(new Date().getTime(), "-").concat(COUNTER++);
1928
+ projectId = "firebase-storage-server-test-".concat(Date.now(), "-").concat(COUNTER++);
1929
1929
  firebaseStorage = new Storage({
1930
1930
  projectId: projectId,
1931
1931
  // ensure http:// is provided so the library doesn't default to/try https://
package/test/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "13.14.0",
3
+ "version": "13.16.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.14.0",
6
- "@dereekb/date": "13.14.0",
7
- "@dereekb/firebase": "13.14.0",
8
- "@dereekb/firebase-server": "13.14.0",
9
- "@dereekb/firebase-server/oidc": "13.14.0",
10
- "@dereekb/model": "13.14.0",
11
- "@dereekb/nestjs": "13.14.0",
12
- "@dereekb/rxjs": "13.14.0",
13
- "@dereekb/util": "13.14.0",
5
+ "@dereekb/analytics": "13.16.0",
6
+ "@dereekb/date": "13.16.0",
7
+ "@dereekb/firebase": "13.16.0",
8
+ "@dereekb/firebase-server": "13.16.0",
9
+ "@dereekb/firebase-server/oidc": "13.16.0",
10
+ "@dereekb/model": "13.16.0",
11
+ "@dereekb/nestjs": "13.16.0",
12
+ "@dereekb/rxjs": "13.16.0",
13
+ "@dereekb/util": "13.16.0",
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.14.0"
26
+ "@dereekb/nestjs": "13.16.0"
27
27
  },
28
28
  "exports": {
29
29
  "./package.json": "./package.json",
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/twilio",
3
- "version": "13.14.0",
3
+ "version": "13.16.0",
4
4
  "peerDependencies": {
5
- "@dereekb/date": "13.14.0",
6
- "@dereekb/firebase": "13.14.0",
7
- "@dereekb/firebase-server": "13.14.0",
8
- "@dereekb/model": "13.14.0",
9
- "@dereekb/nestjs": "13.14.0",
10
- "@dereekb/rxjs": "13.14.0",
11
- "@dereekb/util": "13.14.0"
5
+ "@dereekb/date": "13.16.0",
6
+ "@dereekb/firebase": "13.16.0",
7
+ "@dereekb/firebase-server": "13.16.0",
8
+ "@dereekb/model": "13.16.0",
9
+ "@dereekb/nestjs": "13.16.0",
10
+ "@dereekb/rxjs": "13.16.0",
11
+ "@dereekb/util": "13.16.0"
12
12
  },
13
13
  "exports": {
14
14
  "./package.json": "./package.json",
package/zoho/index.cjs.js CHANGED
@@ -347,13 +347,13 @@ function _ts_generator(thisArg, body) {
347
347
  lat: new Date()
348
348
  }
349
349
  };
350
- if (!!existingData) return [
350
+ if (!existingData) return [
351
351
  3,
352
352
  3
353
353
  ];
354
354
  return [
355
355
  4,
356
- documentInTransaction.create(templateOrUpdate)
356
+ documentInTransaction.update(templateOrUpdate)
357
357
  ];
358
358
  case 2:
359
359
  _state.sent();
@@ -364,7 +364,7 @@ function _ts_generator(thisArg, body) {
364
364
  case 3:
365
365
  return [
366
366
  4,
367
- documentInTransaction.update(templateOrUpdate)
367
+ documentInTransaction.create(templateOrUpdate)
368
368
  ];
369
369
  case 4:
370
370
  _state.sent();
package/zoho/index.esm.js CHANGED
@@ -345,13 +345,13 @@ function _ts_generator(thisArg, body) {
345
345
  lat: new Date()
346
346
  }
347
347
  };
348
- if (!!existingData) return [
348
+ if (!existingData) return [
349
349
  3,
350
350
  3
351
351
  ];
352
352
  return [
353
353
  4,
354
- documentInTransaction.create(templateOrUpdate)
354
+ documentInTransaction.update(templateOrUpdate)
355
355
  ];
356
356
  case 2:
357
357
  _state.sent();
@@ -362,7 +362,7 @@ function _ts_generator(thisArg, body) {
362
362
  case 3:
363
363
  return [
364
364
  4,
365
- documentInTransaction.update(templateOrUpdate)
365
+ documentInTransaction.create(templateOrUpdate)
366
366
  ];
367
367
  case 4:
368
368
  _state.sent();
package/zoho/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/zoho",
3
- "version": "13.14.0",
3
+ "version": "13.16.0",
4
4
  "peerDependencies": {
5
- "@dereekb/analytics": "13.14.0",
6
- "@dereekb/date": "13.14.0",
7
- "@dereekb/model": "13.14.0",
8
- "@dereekb/nestjs": "13.14.0",
9
- "@dereekb/rxjs": "13.14.0",
10
- "@dereekb/firebase": "13.14.0",
11
- "@dereekb/util": "13.14.0",
12
- "@dereekb/zoho": "13.14.0"
5
+ "@dereekb/analytics": "13.16.0",
6
+ "@dereekb/date": "13.16.0",
7
+ "@dereekb/model": "13.16.0",
8
+ "@dereekb/nestjs": "13.16.0",
9
+ "@dereekb/rxjs": "13.16.0",
10
+ "@dereekb/firebase": "13.16.0",
11
+ "@dereekb/util": "13.16.0",
12
+ "@dereekb/zoho": "13.16.0"
13
13
  },
14
14
  "exports": {
15
15
  "./package.json": "./package.json",