@dereekb/firebase-server 4.1.0 → 5.0.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.
Files changed (90) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE +21 -0
  3. package/package.json +10 -9
  4. package/src/lib/auth/auth.nest.d.ts +2 -1
  5. package/src/lib/auth/auth.nest.js +6 -6
  6. package/src/lib/auth/auth.nest.js.map +1 -1
  7. package/src/lib/auth/auth.service.d.ts +9 -5
  8. package/src/lib/auth/auth.service.js +3 -3
  9. package/src/lib/auth/auth.service.js.map +1 -1
  10. package/src/lib/firebase/firebase.nest.d.ts +1 -1
  11. package/src/lib/firestore/driver.accessor.batch.d.ts +1 -1
  12. package/src/lib/firestore/driver.accessor.batch.js.map +1 -1
  13. package/src/lib/firestore/driver.accessor.default.js.map +1 -1
  14. package/src/lib/firestore/driver.accessor.js.map +1 -1
  15. package/src/lib/firestore/driver.accessor.transaction.d.ts +1 -1
  16. package/src/lib/firestore/driver.accessor.transaction.js.map +1 -1
  17. package/src/lib/firestore/driver.d.ts +1 -2
  18. package/src/lib/firestore/driver.query.d.ts +1 -1
  19. package/src/lib/function/type.d.ts +8 -2
  20. package/src/lib/nest/app.d.ts +14 -2
  21. package/src/lib/nest/app.js +14 -9
  22. package/src/lib/nest/app.js.map +1 -1
  23. package/src/lib/nest/function/context.d.ts +2 -3
  24. package/src/lib/nest/function/index.d.ts +2 -2
  25. package/src/lib/nest/function/index.js +2 -2
  26. package/src/lib/nest/function/index.js.map +1 -1
  27. package/src/lib/nest/function/v1/call.d.ts +36 -0
  28. package/src/lib/nest/function/v1/call.js +28 -0
  29. package/src/lib/nest/function/v1/call.js.map +1 -0
  30. package/src/lib/nest/function/{nest.utility.d.ts → v1/call.utility.d.ts} +3 -3
  31. package/src/lib/nest/function/{nest.utility.js → v1/call.utility.js} +3 -3
  32. package/src/lib/nest/function/v1/call.utility.js.map +1 -0
  33. package/src/lib/nest/function/v1/event.d.ts +38 -0
  34. package/src/lib/nest/function/{nest.js → v1/event.js} +2 -35
  35. package/src/lib/nest/function/v1/event.js.map +1 -0
  36. package/src/lib/nest/function/v1/index.d.ts +3 -0
  37. package/src/lib/nest/function/v1/index.js +7 -0
  38. package/src/lib/nest/function/v1/index.js.map +1 -0
  39. package/src/lib/nest/function/v2/blocking.d.ts +19 -0
  40. package/src/lib/nest/function/v2/blocking.js +23 -0
  41. package/src/lib/nest/function/v2/blocking.js.map +1 -0
  42. package/src/lib/nest/function/v2/call.d.ts +36 -0
  43. package/src/lib/nest/function/v2/call.js +28 -0
  44. package/src/lib/nest/function/v2/call.js.map +1 -0
  45. package/src/lib/nest/function/v2/event.d.ts +20 -0
  46. package/src/lib/nest/function/v2/event.js +23 -0
  47. package/src/lib/nest/function/v2/event.js.map +1 -0
  48. package/src/lib/nest/function/v2/index.d.ts +4 -0
  49. package/src/lib/nest/function/v2/index.js +8 -0
  50. package/src/lib/nest/function/v2/index.js.map +1 -0
  51. package/src/lib/nest/function/v2/taskqueue.d.ts +19 -0
  52. package/src/lib/nest/function/v2/taskqueue.js +23 -0
  53. package/src/lib/nest/function/v2/taskqueue.js.map +1 -0
  54. package/src/lib/nest/index.d.ts +2 -0
  55. package/src/lib/nest/index.js +2 -0
  56. package/src/lib/nest/index.js.map +1 -1
  57. package/src/lib/nest/middleware/index.d.ts +2 -0
  58. package/src/lib/nest/middleware/index.js +6 -0
  59. package/src/lib/nest/middleware/index.js.map +1 -0
  60. package/src/lib/nest/middleware/rawbody.middleware.d.ts +6 -0
  61. package/src/lib/nest/middleware/rawbody.middleware.js +16 -0
  62. package/src/lib/nest/middleware/rawbody.middleware.js.map +1 -0
  63. package/src/lib/nest/middleware/webhook.d.ts +10 -0
  64. package/src/lib/nest/middleware/webhook.js +30 -0
  65. package/src/lib/nest/middleware/webhook.js.map +1 -0
  66. package/src/lib/nest/nest.provider.d.ts +23 -0
  67. package/src/lib/nest/nest.provider.js +13 -0
  68. package/src/lib/nest/nest.provider.js.map +1 -0
  69. package/test/CHANGELOG.md +9 -0
  70. package/test/package.json +12 -11
  71. package/test/src/lib/firebase/firebase.admin.auth.js +1 -1
  72. package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
  73. package/test/src/lib/firebase/firebase.admin.d.ts +6 -18
  74. package/test/src/lib/firebase/firebase.admin.function.d.ts +4 -3
  75. package/test/src/lib/firebase/firebase.admin.function.js +7 -4
  76. package/test/src/lib/firebase/firebase.admin.function.js.map +1 -1
  77. package/test/src/lib/firebase/firebase.admin.js +7 -13
  78. package/test/src/lib/firebase/firebase.admin.js.map +1 -1
  79. package/test/src/lib/firebase/firebase.admin.nest.function.context.d.ts +3 -3
  80. package/test/src/lib/firebase/firebase.admin.nest.function.context.js +2 -0
  81. package/test/src/lib/firebase/firebase.admin.nest.function.context.js.map +1 -1
  82. package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +7 -8
  83. package/test/src/lib/firebase/firebase.admin.nest.function.js +8 -7
  84. package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -1
  85. package/test/src/lib/firebase/firebase.function.d.ts +23 -0
  86. package/test/src/lib/firebase/firebase.function.js +27 -0
  87. package/test/src/lib/firebase/firebase.function.js.map +1 -0
  88. package/src/lib/nest/function/nest.d.ts +0 -91
  89. package/src/lib/nest/function/nest.js.map +0 -1
  90. package/src/lib/nest/function/nest.utility.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,27 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
6
+
7
+
8
+ ### Code Refactoring
9
+
10
+ * refactored @dereekb/firebase snapshot field ([c88d278](https://github.com/dereekb/dbx-components/commit/c88d2780d66f965a41ae299e013109f6860e9496))
11
+
12
+
13
+ ### Features
14
+
15
+ * added @dereekb/nestjs/stripe ([455f20e](https://github.com/dereekb/dbx-components/commit/455f20e4e6402b3d517e7857fb93ec82eb25817b))
16
+ * added firebase functions v2 nest context components ([e5ca892](https://github.com/dereekb/dbx-components/commit/e5ca89250c7b7cf99f75d8edb0fc16a4618cbc21))
17
+ * codedError now includes original error if available ([1262281](https://github.com/dereekb/dbx-components/commit/1262281f08b75000f863b483744418378006b2d2))
18
+
19
+
20
+ ### BREAKING CHANGES
21
+
22
+ * refactored @dereekb/firebase SnapshotConverterFunction and related components and @dereekb/util model conversion components to have better type safety and inference
23
+
24
+
25
+
5
26
  # [4.1.0](https://github.com/dereekb/dbx-components/compare/v4.0.1-dev...v4.1.0) (2022-05-17)
6
27
 
7
28
 
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Hapier Creative LLC.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "4.1.0",
3
+ "version": "5.0.0",
4
4
  "devDependencies": {
5
- "firebase-functions-test": "^2.0.0"
5
+ "firebase-functions-test": "2.0.2"
6
6
  },
7
7
  "exports": {
8
8
  ".": {
@@ -21,24 +21,25 @@
21
21
  "peerDependencies": {
22
22
  "firebase-admin": "^10.2.0",
23
23
  "@nestjs/common": "^8.4.0",
24
- "@dereekb/util": "4.1.0",
24
+ "@dereekb/util": "5.0.0",
25
25
  "make-error": "^1.3.0",
26
26
  "extra-set": "^2.2.11",
27
- "change-case": "^4.1.2",
28
- "firebase-functions": "^3.21.0",
29
- "@dereekb/firebase": "4.1.0",
27
+ "@dereekb/nestjs": "5.0.0",
28
+ "@nestjs/config": "^2.0.1",
29
+ "firebase-functions": "^3.21.2",
30
+ "@dereekb/firebase": "5.0.0",
30
31
  "rxjs": "^7.0.0",
31
32
  "rxfire": "^6.0.3",
32
33
  "firebase": "^9.8.0",
33
- "@dereekb/rxjs": "4.1.0",
34
+ "@dereekb/rxjs": "5.0.0",
34
35
  "ms": "^3.0.0-canary.1",
35
- "@dereekb/date": "4.1.0",
36
+ "@dereekb/date": "5.0.0",
36
37
  "class-transformer": "^0.5.1",
37
38
  "date-fns": "^2.28.0",
38
39
  "class-validator": "^0.13.2",
39
40
  "date-fns-tz": "^1.3.0",
40
41
  "rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
41
- "@dereekb/model": "4.1.0",
42
+ "@dereekb/model": "5.0.0",
42
43
  "@google-cloud/firestore": "^5.0.2",
43
44
  "@nestjs/core": "^8.4.0",
44
45
  "@nestjs/platform-express": "^8.4.0",
@@ -1,6 +1,7 @@
1
1
  import * as admin from 'firebase-admin';
2
2
  import { FactoryProvider, InjectionToken, ModuleMetadata, Provider } from "@nestjs/common";
3
3
  import { FirebaseServerAuthService } from './auth.service';
4
+ import { AdditionalModuleMetadata } from '@dereekb/nestjs';
4
5
  /**
5
6
  * Token to access the Auth for the app.
6
7
  */
@@ -15,7 +16,7 @@ export declare type ProvideFirestoreServerAuthServiceSimple<T extends FirebaseSe
15
16
  };
16
17
  export declare type ProvideFirebaseServerAuthService<T extends FirebaseServerAuthService> = FactoryProvider<T> | ProvideFirestoreServerAuthServiceSimple<T>;
17
18
  export declare function provideFirebaseServerAuthService<T extends FirebaseServerAuthService>(provider: ProvideFirebaseServerAuthService<T>): [ProvideFirebaseServerAuthService<T>, Provider<T>];
18
- export interface FirebaseServerAuthModuleMetadataConfig<T extends FirebaseServerAuthService> extends Pick<ModuleMetadata, 'imports' | 'exports' | 'providers'> {
19
+ export interface FirebaseServerAuthModuleMetadataConfig<T extends FirebaseServerAuthService> extends AdditionalModuleMetadata {
19
20
  readonly serviceProvider: ProvideFirebaseServerAuthService<T>;
20
21
  }
21
22
  /**
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const firebase_nest_1 = require("../firebase/firebase.nest");
7
7
  const auth_service_1 = require("./auth.service");
8
+ const nestjs_1 = require("@dereekb/nestjs");
8
9
  // MARK: Tokens
9
10
  /**
10
11
  * Token to access the Auth for the app.
@@ -45,12 +46,11 @@ exports.provideFirebaseServerAuthService = provideFirebaseServerAuthService;
45
46
  * @returns
46
47
  */
47
48
  function firebaseServerAuthModuleMetadata(config) {
48
- var _a, _b, _c;
49
- return {
50
- imports: [FirebaseServerAuthModule, ...((_a = config.imports) !== null && _a !== void 0 ? _a : [])],
51
- exports: [FirebaseServerAuthModule, config.serviceProvider.provide, ...((_b = config.exports) !== null && _b !== void 0 ? _b : [])],
52
- providers: [...provideFirebaseServerAuthService(config.serviceProvider), ...((_c = config.providers) !== null && _c !== void 0 ? _c : [])]
53
- };
49
+ return (0, nestjs_1.mergeModuleMetadata)({
50
+ imports: [FirebaseServerAuthModule],
51
+ exports: [FirebaseServerAuthModule, config.serviceProvider.provide],
52
+ providers: provideFirebaseServerAuthService(config.serviceProvider)
53
+ }, config);
54
54
  }
55
55
  exports.firebaseServerAuthModuleMetadata = firebaseServerAuthModuleMetadata;
56
56
  //# sourceMappingURL=auth.nest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.nest.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.ts"],"names":[],"mappings":";;;;AACA,2CAAmG;AACnG,6DAA+D;AAC/D,iDAA2D;AAE3D,eAAe;AACf;;GAEG;AACU,QAAA,mBAAmB,GAAmB,qBAAqB,CAAC;AAEzE;;GAEG;AASH,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;CAAI,CAAA;AAA5B,wBAAwB;IARpC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,2BAAmB;gBAC5B,UAAU,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC9C,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B,CAAC;QACF,OAAO,EAAE,CAAC,2BAAmB,CAAC;KAC/B,CAAC;GACW,wBAAwB,CAAI;AAA5B,4DAAwB;AASrC,SAAgB,gCAAgC,CAAsC,QAA6C;;IACjI,OAAO;wCAEA,QAAQ,KACX,MAAM,EAAE,MAAC,QAAgB,CAAC,MAAM,mCAAI,CAAC,2BAAmB,CAAC;QAE3D;YACE,OAAO,EAAE,wCAAyB;YAClC,WAAW,EAAE,QAAQ,CAAC,OAAO;SAC9B;KACF,CAAC;AACJ,CAAC;AAXD,4EAWC;AAOD;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAAsC,MAAiD;;IACrI,OAAO;QACL,OAAO,EAAE,CAAC,wBAAwB,EAAE,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;QAC9F,SAAS,EAAE,CAAC,GAAG,gCAAgC,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;KACtG,CAAC;AACJ,CAAC;AAND,4EAMC"}
1
+ {"version":3,"file":"auth.nest.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.ts"],"names":[],"mappings":";;;;AACA,2CAAmG;AACnG,6DAA+D;AAC/D,iDAA2D;AAC3D,4CAAgF;AAEhF,eAAe;AACf;;GAEG;AACU,QAAA,mBAAmB,GAAmB,qBAAqB,CAAC;AAEzE;;GAEG;AASH,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;CAAI,CAAA;AAA5B,wBAAwB;IARpC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,2BAAmB;gBAC5B,UAAU,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC9C,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B,CAAC;QACF,OAAO,EAAE,CAAC,2BAAmB,CAAC;KAC/B,CAAC;GACW,wBAAwB,CAAI;AAA5B,4DAAwB;AASrC,SAAgB,gCAAgC,CAAsC,QAA6C;;IACjI,OAAO;wCAEA,QAAQ,KACX,MAAM,EAAE,MAAC,QAA+B,CAAC,MAAM,mCAAI,CAAC,2BAAmB,CAAC;QAE1E;YACE,OAAO,EAAE,wCAAyB;YAClC,WAAW,EAAE,QAAQ,CAAC,OAAO;SAC9B;KACF,CAAC;AACJ,CAAC;AAXD,4EAWC;AAOD;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAAsC,MAAiD;IACrI,OAAO,IAAA,4BAAmB,EAAC;QACzB,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,OAAO,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;QACnE,SAAS,EAAE,gCAAgC,CAAC,MAAM,CAAC,eAAe,CAAC;KACpE,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAND,4EAMC"}
@@ -30,6 +30,10 @@ export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIde
30
30
  * @param roles
31
31
  */
32
32
  removeRoles(roles: ArrayOrValue<AuthRole>): Promise<void>;
33
+ /**
34
+ * Loads the claims from the user.
35
+ */
36
+ loadClaims<T = unknown>(): Promise<AuthClaims<T>>;
33
37
  /**
34
38
  * Updates the claims for a user by merging existing claims in with the input.
35
39
  *
@@ -60,11 +64,11 @@ export declare abstract class AbstractFirebaseServerAuthUserContext<S extends Fi
60
64
  loadRoles(): Promise<AuthRoleSet>;
61
65
  addRoles(roles: ArrayOrValue<AuthRole>): Promise<void>;
62
66
  removeRoles(roles: ArrayOrValue<AuthRole>): Promise<void>;
63
- protected _claimsForRolesChange(roles: ArrayOrValue<AuthRole>): AuthClaims<any>;
64
- loadClaims(): Promise<AuthClaims>;
67
+ protected _claimsForRolesChange(roles: ArrayOrValue<AuthRole>): object;
68
+ loadClaims<T = unknown>(): Promise<AuthClaims<T>>;
65
69
  updateClaims(claims: AuthClaimsUpdate): Promise<void>;
66
70
  clearClaims(): Promise<void>;
67
- setClaims(claims: AuthClaimsUpdate): Promise<void>;
71
+ setClaims(claims: AuthClaimsUpdate | null): Promise<void>;
68
72
  }
69
73
  export interface FirebaseServerAuthContext<U extends FirebaseServerAuthUserContext = FirebaseServerAuthUserContext> extends FirebaseServerAuthUserIdentifierContext {
70
74
  /**
@@ -144,7 +148,7 @@ export declare abstract class FirebaseServerAuthService<U extends FirebaseServer
144
148
  *
145
149
  * @param roles
146
150
  */
147
- abstract claimsForRoles(roles: AuthRoleSet): AuthClaims;
151
+ abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
148
152
  }
149
153
  /**
150
154
  * Abstract FirebaseServerAuthService implementation.
@@ -157,5 +161,5 @@ export declare abstract class AbstractFirebaseServerAuthService<U extends Fireba
157
161
  abstract userContext(uid: FirebaseAuthUserId): U;
158
162
  isAdmin(claims: AuthClaims): boolean;
159
163
  abstract readRoles(claims: AuthClaims): AuthRoleSet;
160
- abstract claimsForRoles(roles: AuthRoleSet): AuthClaims;
164
+ abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
161
165
  }
@@ -21,14 +21,14 @@ class AbstractFirebaseServerAuthUserContext {
21
21
  }
22
22
  addRoles(roles) {
23
23
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
- let claims = this._claimsForRolesChange(roles);
24
+ const claims = this._claimsForRolesChange(roles);
25
25
  return this.updateClaims(claims);
26
26
  });
27
27
  }
28
28
  removeRoles(roles) {
29
29
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
30
30
  const baseClaims = this._claimsForRolesChange(roles);
31
- let claims = {};
31
+ const claims = {};
32
32
  (0, util_1.forEachKeyValue)(baseClaims, {
33
33
  forEach: ([key]) => {
34
34
  claims[key] = null;
@@ -43,7 +43,7 @@ class AbstractFirebaseServerAuthUserContext {
43
43
  return (0, util_1.filterNullAndUndefinedValues)(this.service.claimsForRoles((0, util_1.asSet)(roles)));
44
44
  }
45
45
  loadClaims() {
46
- return this.loadRecord().then(x => { var _a; return (_a = x.customClaims) !== null && _a !== void 0 ? _a : {}; });
46
+ return this.loadRecord().then(x => { var _a; return ((_a = x.customClaims) !== null && _a !== void 0 ? _a : {}); });
47
47
  }
48
48
  updateClaims(claims) {
49
49
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,4 @@ import { FactoryProvider, InjectionToken } from "@nestjs/common";
4
4
  * Nest Injection Token to access the
5
5
  */
6
6
  export declare const FIREBASE_APP_TOKEN: InjectionToken;
7
- export declare function firebaseServerAppTokenProvider(useFactory: () => admin.app.App): FactoryProvider<any>;
7
+ export declare function firebaseServerAppTokenProvider(useFactory: () => admin.app.App): FactoryProvider<admin.app.App>;
@@ -25,7 +25,7 @@ export declare function writeBatchAccessorFactory<T>(writeBatch: GoogleCloudWrit
25
25
  export declare class WriteBatchFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
26
26
  readonly batch: GoogleCloudWriteBatch;
27
27
  readonly contextType = FirestoreDocumentContextType.BATCH;
28
- readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T>;
28
+ readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T, import("@dereekb/firebase").DocumentData>;
29
29
  constructor(batch: GoogleCloudWriteBatch);
30
30
  }
31
31
  export declare function writeBatchDocumentContext<T>(batch: GoogleCloudWriteBatch): WriteBatchFirestoreDocumentContext<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA0P;AAE1P,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAElD,YAAqB,KAA4B,EAAW,WAAiC;QAAxE,UAAK,GAAL,KAAK,CAAuB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAElG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,OAAO;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAsC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;QAChE,2JAA2J;QAC3J,6FAA6F;QAC7F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QACvE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AAjCD,0FAiCC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAI,UAAiC;IAC5E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,uCAAuC,CAAC,UAAU,EAAE,GAAG,CAAC;KACzG,CAAC;AACJ,CAAC;AAJD,8DAIC;AAED,gBAAgB;AAChB,MAAa,kCAAkC;IAK7C,YAAqB,KAA4B;QAA5B,UAAK,GAAL,KAAK,CAAuB;QAHxC,gBAAW,GAAG,uCAA4B,CAAC,KAAK,CAAC;QACjD,oBAAe,GAAG,yBAAyB,CAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,CAAC;CAEvD;AAPD,gFAOC;AAED,SAAgB,yBAAyB,CAAI,KAA4B;IACvE,OAAO,IAAI,kCAAkC,CAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
1
+ {"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA0P;AAE1P,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAElD,YAAqB,KAA4B,EAAW,WAAiC;QAAxE,UAAK,GAAL,KAAK,CAAuB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAElG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,OAAO;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAsC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;QAChE,2JAA2J;QAC3J,6FAA6F;QAC7F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAoC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AAjCD,0FAiCC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAI,UAAiC;IAC5E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,uCAAuC,CAAC,UAAU,EAAE,GAAG,CAAC;KACzG,CAAC;AACJ,CAAC;AAJD,8DAIC;AAED,gBAAgB;AAChB,MAAa,kCAAkC;IAK7C,YAAqB,KAA4B;QAA5B,UAAK,GAAL,KAAK,CAAuB;QAHxC,gBAAW,GAAG,uCAA4B,CAAC,KAAK,CAAC;QACjD,oBAAe,GAAG,yBAAyB,CAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,CAAC;CAEvD;AAPD,gFAOC;AAED,SAAgB,yBAAyB,CAAI,KAA4B;IACvE,OAAO,IAAI,kCAAkC,CAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAEA,gDAAyS;AAEzS,iBAAiB;AACjB,MAAa,oCAAoC;IAE/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAE3D,MAAM;QACJ,OAAO,IAAA,+BAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAqC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAW,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;CAEF;AA5BD,oFA4BC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAJD,0EAIC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,uCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAA;AACH,CAAC;AALD,0EAKC"}
1
+ {"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAEA,gDAA4R;AAE5R,iBAAiB;AACjB,MAAa,oCAAoC;IAE/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAE3D,MAAM;QACJ,OAAO,IAAA,+BAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAqC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAoC,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;IACnG,CAAC;CAEF;AA5BD,oFA4BC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAJD,0EAIC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,uCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAA;AACH,CAAC;AALD,0EAKC"}
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AACA,wCAAsC;AAEtC,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAEF,CAAC;AACe,CAAC;AACO,CAAC;AAElG,SAAgB,oBAAoB,CAAI,KAAgC,EAAE,IAAY,EAAE,YAAuB;IAC7G,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,QAAQ,YAAY,GAAG,CAAC,CAAC;SACjH;QAED,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAA6B,CAAC;AACvC,CAAC;AAjBD,oDAiBC;AAED,SAAgB,aAAa,CAAI,KAAyB,EAAE,IAAa,EAAE,YAAuB;IAChG,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAwC,CAAC,GAAG,EAAE,CAAiC,CAAC;IAEvH,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;KAEJ;IAED,OAAO,GAA2B,CAAC;AACrC,CAAC;AAfD,sCAeC;AAED,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,CAAI,UAAkC,EAAE,IAAa,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,aAAa,CAAC,UAA4C,EAAE,IAAI,EAAE,YAAY,CAAyB;QACjM,UAAU,EAAE,CAAI,SAAoB,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,SAAkC,EAAE,IAAI,EAAE,YAAY,CAA2B;QACzL,aAAa,EAAE,CAAI,QAA2B,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,QAAyC,EAAE,IAAI,EAAE,YAAY,CAA2B;QAC1M,8BAA8B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAU,EAA0B,EAAE,EAAE,wDAAC,OAAA,MAAO,SAAkC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,GAAA;QACpJ,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,SAAkC,CAAC,KAAK,EAAE;QAC/F,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAiC;QAC5D,wBAAwB,EAAE,iDAAgC;KAC3D,CAAC;AACJ,CAAC;AAXD,sEAWC"}
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AACA,wCAAsC;AAEtC,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAEF,CAAC;AACe,CAAC;AACO,CAAC;AAElG,SAAgB,oBAAoB,CAAI,KAAgC,EAAE,IAAY,EAAE,YAAuB;IAC7G,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,QAAQ,YAAY,GAAG,CAAC,CAAC;SACjH;QAED,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAA6B,CAAC;AACvC,CAAC;AAjBD,oDAiBC;AAED,SAAgB,aAAa,CAAI,KAAyB,EAAE,IAAa,EAAE,YAAuB;IAChG,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAwC,CAAC,GAAG,EAAE,CAAiC,CAAC;IAEvH,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;KAEJ;IAED,OAAO,GAA2B,CAAC;AACrC,CAAC;AAfD,sCAeC;AAED,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,CAAI,UAAkC,EAAE,IAAa,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,aAAa,CAAC,UAA4C,EAAE,IAAI,EAAE,YAAY,CAAyB;QACjM,UAAU,EAAE,CAAI,SAAoB,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,SAAkC,EAAE,IAAI,EAAE,YAAY,CAA2B;QACzL,aAAa,EAAE,CAAI,QAA2B,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,QAAyC,EAAE,IAAI,EAAE,YAAY,CAA2B;QAC1M,8BAA8B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAU,EAA0B,EAAE,EAAE,wDAAC,OAAA,MAAO,SAAkC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,GAAA;QACpJ,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,SAAkC,CAAC,KAAK,EAAE;QAC/F,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAwE;QACnG,wBAAwB,EAAE,iDAAiF;KAC5G,CAAC;AACJ,CAAC;AAXD,sEAWC"}
@@ -25,7 +25,7 @@ export declare function transactionAccessorFactory<T>(transaction: GoogleCloudTr
25
25
  export declare class TransactionFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
26
26
  readonly transaction: GoogleCloudTransaction;
27
27
  readonly contextType = FirestoreDocumentContextType.TRANSACTION;
28
- readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T>;
28
+ readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T, import("@dereekb/firebase").DocumentData>;
29
29
  constructor(transaction: GoogleCloudTransaction);
30
30
  }
31
31
  export declare function transactionDocumentContext<T>(transaction: GoogleCloudTransaction): TransactionFirestoreDocumentContext<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA2N;AAE3N,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IAEnD,YAAqB,WAAmC,EAAW,WAAiC;QAA/E,gBAAW,GAAX,WAAW,CAAwB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAEzG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAW,EAAE,OAAqB,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;;QAChE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAW,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AA/BD,4FA+BC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,wCAAwC,CAAC,WAAW,EAAE,GAAG,CAAC;KAC3G,CAAC;AACJ,CAAC;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,mCAAmC;IAK9C,YAAqB,WAAmC;QAAnC,gBAAW,GAAX,WAAW,CAAwB;QAH/C,gBAAW,GAAG,uCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,0BAA0B,CAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAEf,CAAC;CAE9D;AAPD,kFAOC;AAED,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
1
+ {"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA2N;AAE3N,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IAEnD,YAAqB,WAAmC,EAAW,WAAiC;QAA/E,gBAAW,GAAX,WAAW,CAAwB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAEzG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAkB,EAAE,OAAqB,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;;QAChE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAkB,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;QAC1F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AA/BD,4FA+BC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,wCAAwC,CAAC,WAAW,EAAE,GAAG,CAAC;KAC3G,CAAC;AACJ,CAAC;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,mCAAmC;IAK9C,YAAqB,WAAmC;QAAnC,gBAAW,GAAX,WAAW,CAAwB;QAH/C,gBAAW,GAAG,uCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,0BAA0B,CAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAEf,CAAC;CAE9D;AAPD,kFAOC;AAED,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
@@ -1,4 +1,3 @@
1
1
  import { FirestoreDrivers } from '@dereekb/firebase';
2
- export interface GoogleCloudFirestoreDrivers extends FirestoreDrivers {
3
- }
2
+ export declare type GoogleCloudFirestoreDrivers = FirestoreDrivers;
4
3
  export declare function googleCloudFirestoreDrivers(): GoogleCloudFirestoreDrivers;
@@ -1,6 +1,6 @@
1
1
  import { Query as GoogleCloudQuery } from "@google-cloud/firestore";
2
2
  import { FullFirestoreQueryConstraintHandlersMapping, FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from "@dereekb/firebase";
3
- export declare type FirestoreServerQueryBuilder<T = any> = GoogleCloudQuery<T>;
3
+ export declare type FirestoreServerQueryBuilder<T = unknown> = GoogleCloudQuery<T>;
4
4
  export declare const FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING: FullFirestoreQueryConstraintHandlersMapping<FirestoreServerQueryBuilder>;
5
5
  export declare function firestoreClientQueryConstraintFunctionsDriver(): FirestoreQueryConstraintFunctionsDriver;
6
6
  export declare function firestoreClientQueryDriver(): FirestoreQueryDriver;
@@ -1,5 +1,11 @@
1
- import { HttpsFunction, Runnable } from "firebase-functions";
1
+ import { PromiseOrValue } from '@dereekb/util';
2
+ import { Runnable, HttpsFunction } from 'firebase-functions/v1';
3
+ import { CallableFunction } from "firebase-functions/v2/https";
2
4
  /**
3
- * Union of firebase-functions HttpsFunction and Runnable
5
+ * Firebase Functions V1 - Union of firebase-functions HttpsFunction and Runnable.
4
6
  */
5
7
  export declare type RunnableHttpFunction<I> = HttpsFunction & Runnable<I>;
8
+ /**
9
+ * Firebase Functions V2 - CallableFunction with output as an optional type.
10
+ */
11
+ export declare type CallableHttpFunction<I, O = unknown> = CallableFunction<I, PromiseOrValue<O>>;
@@ -1,5 +1,5 @@
1
1
  import { ClassType, Getter } from '@dereekb/util';
2
- import { INestApplicationContext, Provider } from '@nestjs/common';
2
+ import { INestApplicationContext, NestApplicationOptions, Provider } from '@nestjs/common';
3
3
  import * as express from 'express';
4
4
  import * as admin from 'firebase-admin';
5
5
  export interface NestServer {
@@ -8,6 +8,10 @@ export interface NestServer {
8
8
  }
9
9
  export declare type NestAppPromiseGetter = Getter<Promise<INestApplicationContext>>;
10
10
  export interface NestServerInstance<T> {
11
+ /**
12
+ * Root module class of the app.
13
+ */
14
+ readonly moduleClass: ClassType<T>;
11
15
  /**
12
16
  * Initializes and returns the Nest Server.
13
17
  *
@@ -31,6 +35,14 @@ export interface NestServerInstanceConfig<T> {
31
35
  /**
32
36
  * Additional providers to provide globally.
33
37
  */
34
- providers?: Provider<any>[];
38
+ readonly providers?: Provider<unknown>[];
39
+ /**
40
+ * Whether or not to configure webhook usage. This will configure routes to use
41
+ */
42
+ readonly configureWebhooks?: boolean;
43
+ /**
44
+ * Additional nest application options.
45
+ */
46
+ readonly applicationOptions?: NestApplicationOptions;
35
47
  }
36
48
  export declare function nestServerInstance<T>(config: NestServerInstanceConfig<T>): NestServerInstance<T>;
@@ -7,6 +7,7 @@ const core_1 = require("@nestjs/core");
7
7
  const platform_express_1 = require("@nestjs/platform-express");
8
8
  const express = require("express");
9
9
  const firebase_nest_1 = require("../firebase/firebase.nest");
10
+ const webhook_1 = require("./middleware/webhook");
10
11
  class FirebaseNestServerRootModule {
11
12
  }
12
13
  exports.FirebaseNestServerRootModule = FirebaseNestServerRootModule;
@@ -23,38 +24,41 @@ function nestServerInstance(config) {
23
24
  if (additionalProviders) {
24
25
  (0, util_1.mergeArrayOrValueIntoArray)(providers, additionalProviders);
25
26
  }
27
+ const imports = [moduleClass];
28
+ // NOTE: https://cloud.google.com/functions/docs/writing/http#parsing_http_requests
29
+ const options = { bodyParser: false }; // firebase already parses the requests
30
+ if (config.configureWebhooks) {
31
+ imports.push(webhook_1.ConfigureFirebaseWebhookMiddlewareModule);
32
+ }
26
33
  const providersModule = {
27
34
  module: FirebaseNestServerRootModule,
28
- imports: [moduleClass],
35
+ imports,
29
36
  providers,
30
37
  exports: providers,
31
38
  global: true
32
39
  };
33
- const nestApp = yield core_1.NestFactory.create(providersModule, new platform_express_1.ExpressAdapter(expressInstance));
40
+ const nestApp = yield core_1.NestFactory.create(providersModule, new platform_express_1.ExpressAdapter(expressInstance), options);
34
41
  return nestApp.init();
35
42
  });
36
43
  const nest = createNestServer(server)
37
- .then(v => {
38
- console.log('Nest Ready');
39
- return v;
40
- })
41
44
  .catch(err => {
42
- console.error('Nest broken', err);
45
+ console.error('Nest failed startup.', err);
43
46
  throw err;
44
47
  });
45
48
  nestServer = { server, nest: (0, util_1.makeGetter)(nest) };
46
49
  serversCache.set(appName, nestServer);
47
50
  }
51
+ ;
48
52
  return nestServer;
49
53
  };
50
54
  const removeNestServer = (firebaseApp) => tslib_1.__awaiter(this, void 0, void 0, function* () {
51
55
  const appName = firebaseApp.name;
52
- let nestServer = serversCache.get(appName);
56
+ const nestServer = serversCache.get(appName);
53
57
  let removed;
54
58
  if (nestServer) {
55
59
  removed = nestServer.nest().then(x => {
56
60
  serversCache.delete(appName);
57
- return x.close().then(x => true);
61
+ return x.close().then(() => true);
58
62
  });
59
63
  }
60
64
  else {
@@ -63,6 +67,7 @@ function nestServerInstance(config) {
63
67
  return removed;
64
68
  });
65
69
  return {
70
+ moduleClass,
66
71
  initNestServer,
67
72
  removeNestServer
68
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/app.ts"],"names":[],"mappings":";;;;AAAA,wCAAoG;AAEpG,uCAA2C;AAC3C,+DAA0D;AAC1D,mCAAmC;AACnC,6DAA2E;AA2B3E,MAAa,4BAA4B;CAAI;AAA7C,oEAA6C;AAa7C,SAAgB,kBAAkB,CAAI,MAAmC;IACvE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAAC;IAC/D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEnD,MAAM,cAAc,GAAG,CAAC,WAA0B,EAAc,EAAE;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;QACjC,IAAI,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;YACzB,MAAM,gBAAgB,GAAG,CAAO,eAAgC,EAAE,EAAE;gBAClE,MAAM,SAAS,GAAG,CAAC,IAAA,8CAA8B,EAAC,IAAA,eAAQ,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAE1E,IAAI,mBAAmB,EAAE;oBACvB,IAAA,iCAA0B,EAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;iBAC5D;gBAED,MAAM,eAAe,GAAkB;oBACrC,MAAM,EAAE,4BAA4B;oBACpC,OAAO,EAAE,CAAC,WAAW,CAAC;oBACtB,SAAS;oBACT,OAAO,EAAE,SAAS;oBAClB,MAAM,EAAE,IAAI;iBACb,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,kBAAW,CAAC,MAAM,CACtC,eAAe,EACf,IAAI,iCAAc,CAAC,eAAe,CAAC,CACpC,CAAC;gBAEF,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC,CAAA,CAAC;YAEF,MAAM,IAAI,GAA8B,gBAAgB,CAAC,MAAM,CAAC;iBAC7D,IAAI,CAAC,CAAC,CAAC,EAAE;gBACR,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1B,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;gBAClC,MAAM,GAAG,CAAC;YACZ,CAAC,CAA8B,CAAC;YAElC,UAAU,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,iBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YAChD,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACvC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAO,WAA0B,EAAoB,EAAE;QAC9E,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC;QACjC,IAAI,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,OAAyB,CAAC;QAE9B,IAAI,UAAU,EAAE;YACd,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACnC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAClC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAA,CAAC;IAEF,OAAO;QACL,cAAc;QACd,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAvED,gDAuEC"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/app.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,9 @@ import { FirebaseServerActionsTransformContext } from "./transform";
3
3
  /**
4
4
  * Context used for building FirebaseServerActions. It contains references to reusable factories.
5
5
  */
6
- export interface FirebaseServerActionsContext extends FirebaseServerActionsTransformContext {
7
- }
6
+ export declare type FirebaseServerActionsContext = FirebaseServerActionsTransformContext;
8
7
  export declare abstract class AbstractFirebaseServerActionsContext implements FirebaseServerActionsContext {
9
8
  abstract readonly firebaseServerActionTransformFactory: TransformAndValidateObjectFactory;
10
- abstract readonly firebaseServerActionTransformFunctionFactory: TransformAndValidateFunctionResultFactory<any>;
9
+ abstract readonly firebaseServerActionTransformFunctionFactory: TransformAndValidateFunctionResultFactory<unknown>;
11
10
  }
12
11
  export declare function firebaseServerActionsContext(): FirebaseServerActionsContext;
@@ -1,4 +1,4 @@
1
+ export * from './v1';
2
+ export * from './v2';
1
3
  export * from './context';
2
- export * from './nest';
3
- export * from './nest.utility';
4
4
  export * from './transform';
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./v1"), exports);
5
+ tslib_1.__exportStar(require("./v2"), exports);
4
6
  tslib_1.__exportStar(require("./context"), exports);
5
- tslib_1.__exportStar(require("./nest"), exports);
6
- tslib_1.__exportStar(require("./nest.utility"), exports);
7
7
  tslib_1.__exportStar(require("./transform"), exports);
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,iDAAuB;AACvB,yDAA+B;AAC/B,sDAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB;AACrB,+CAAqB;AACrB,oDAA0B;AAC1B,sDAA4B"}
@@ -0,0 +1,36 @@
1
+ import * as functions from 'firebase-functions';
2
+ import { INestApplicationContext } from '@nestjs/common';
3
+ import { RunnableHttpFunction } from '../../../function/type';
4
+ import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
5
+ export declare type NestApplicationRunnableHttpFunctionFactory<I> = NestApplicationFunctionFactory<RunnableHttpFunction<I>>;
6
+ /**
7
+ * Runnable function that is passed an INestApplicationContext in addition to the usual data/context provided by firebase.
8
+ */
9
+ export declare type OnCallWithNestApplication<I = unknown, O = unknown> = (nest: INestApplicationContext, data: I, context: functions.https.CallableContext) => O;
10
+ /**
11
+ * Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
12
+ */
13
+ export declare type OnCallWithNestApplicationFactory = <I, O>(fn: OnCallWithNestApplication<I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
14
+ /**
15
+ * Creates a factory for generating OnCallWithNestApplication functions.
16
+ *
17
+ * @param nestAppPromiseGetter
18
+ * @returns
19
+ */
20
+ export declare function onCallWithNestApplicationFactory(): OnCallWithNestApplicationFactory;
21
+ /**
22
+ * Runnable function that is passed an arbitrary nest context object in addition to the usual data/context provided by firebase.
23
+ */
24
+ export declare type OnCallWithNestContext<C, I = unknown, O = unknown> = (nestContext: C, data: I, context: functions.https.CallableContext) => O;
25
+ /**
26
+ * Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
27
+ */
28
+ export declare type OnCallWithNestContextFactory<C> = <I, O>(fn: OnCallWithNestContext<C, I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
29
+ /**
30
+ * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
31
+ *
32
+ * @param appFactory
33
+ * @param makeNestContext
34
+ * @returns
35
+ */
36
+ export declare function onCallWithNestContextFactory<C>(appFactory: OnCallWithNestApplicationFactory, makeNestContext: MakeNestContext<C>): OnCallWithNestContextFactory<C>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.onCallWithNestContextFactory = exports.onCallWithNestApplicationFactory = void 0;
4
+ const functions = require("firebase-functions");
5
+ /**
6
+ * Creates a factory for generating OnCallWithNestApplication functions.
7
+ *
8
+ * @param nestAppPromiseGetter
9
+ * @returns
10
+ */
11
+ function onCallWithNestApplicationFactory() {
12
+ return (fn) => {
13
+ return (nestAppPromiseGetter) => functions.https.onCall((data, context) => nestAppPromiseGetter().then(x => fn(x, data, context)));
14
+ };
15
+ }
16
+ exports.onCallWithNestApplicationFactory = onCallWithNestApplicationFactory;
17
+ /**
18
+ * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
19
+ *
20
+ * @param appFactory
21
+ * @param makeNestContext
22
+ * @returns
23
+ */
24
+ function onCallWithNestContextFactory(appFactory, makeNestContext) {
25
+ return (fn) => appFactory((nest, data, context) => fn(makeNestContext(nest), data, context));
26
+ }
27
+ exports.onCallWithNestContextFactory = onCallWithNestContextFactory;
28
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/call.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAkBhD;;;;;GAKG;AACH,SAAgB,gCAAgC;IAC9C,OAAO,CAAO,EAAmC,EAAE,EAAE;QACnD,OAAO,CAAC,oBAAkD,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAO,EAAE,OAAwC,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvM,CAAC,CAAC;AACJ,CAAC;AAJD,4EAIC;AAYD;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAI,UAA4C,EAAE,eAAmC;IAC/H,OAAO,CAAO,EAAkC,EAAE,EAAE,CAAC,UAAU,CAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3I,CAAC;AAFD,oEAEC"}
@@ -1,6 +1,6 @@
1
- import { CallableContextWithAuthData } from "../../function/context";
2
- import { OnCallWithNestContext } from "./nest";
3
- export declare type OnCallWithAuthorizedNestContext<C, I = any, O = any> = (nestContext: C, data: I, context: CallableContextWithAuthData) => O;
1
+ import { CallableContextWithAuthData } from "../../../function/context";
2
+ import { OnCallWithNestContext } from "./call";
3
+ export declare type OnCallWithAuthorizedNestContext<C, I = unknown, O = unknown> = (nestContext: C, data: I, context: CallableContextWithAuthData) => O;
4
4
  /**
5
5
  * Creates an OnCallWithNestContext wrapper that validates the input CallableContext to assert the context has auth data before entering the function.
6
6
  *
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inAuthContext = void 0;
4
- const context_1 = require("../../function/context");
5
- const error_1 = require("../../function/error");
4
+ const context_1 = require("../../../function/context");
5
+ const error_1 = require("../../../function/error");
6
6
  /**
7
7
  * Creates an OnCallWithNestContext wrapper that validates the input CallableContext to assert the context has auth data before entering the function.
8
8
  *
@@ -20,4 +20,4 @@ function inAuthContext(fn) {
20
20
  };
21
21
  }
22
22
  exports.inAuthContext = inAuthContext;
23
- //# sourceMappingURL=nest.utility.js.map
23
+ //# sourceMappingURL=call.utility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.utility.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/call.utility.ts"],"names":[],"mappings":";;;AACA,uDAA+F;AAC/F,mDAA8E;AAK9E;;;;;GAKG;AACH,SAAgB,aAAa,CAAU,EAA4C;IACjF,OAAO,CAAC,WAAc,EAAE,IAAO,EAAE,OAAwC,EAAE,EAAE;QAC3E,IAAI,IAAA,+BAAqB,EAAC,OAAO,CAAC,EAAE;YAClC,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SACvC;aAAM;YACL,MAAM,IAAA,2CAAmC,GAAE,CAAC;SAC7C;IACH,CAAC,CAAA;AACH,CAAC;AARD,sCAQC"}