@dereekb/firebase-server 5.3.0 → 7.0.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.
Files changed (98) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/package.json +14 -13
  3. package/src/lib/auth/auth.context.d.ts +7 -0
  4. package/src/lib/auth/auth.context.js +12 -0
  5. package/src/lib/auth/auth.context.js.map +1 -0
  6. package/src/lib/auth/auth.service.d.ts +19 -2
  7. package/src/lib/auth/auth.service.js +20 -2
  8. package/src/lib/auth/auth.service.js.map +1 -1
  9. package/src/lib/auth/index.d.ts +1 -0
  10. package/src/lib/auth/index.js +1 -1
  11. package/src/lib/auth/index.js.map +1 -1
  12. package/src/lib/firestore/driver.accessor.js +1 -0
  13. package/src/lib/firestore/driver.accessor.js.map +1 -1
  14. package/src/lib/firestore/driver.query.js +6 -1
  15. package/src/lib/firestore/driver.query.js.map +1 -1
  16. package/src/lib/function/context.d.ts +3 -3
  17. package/src/lib/function/context.js.map +1 -1
  18. package/src/lib/function/error.d.ts +3 -0
  19. package/src/lib/function/error.js +10 -1
  20. package/src/lib/function/error.js.map +1 -1
  21. package/src/lib/nest/function/call.d.ts +23 -0
  22. package/src/lib/nest/function/call.js +28 -0
  23. package/src/lib/nest/function/call.js.map +1 -0
  24. package/src/lib/nest/function/context.d.ts +9 -1
  25. package/src/lib/nest/function/context.js +25 -3
  26. package/src/lib/nest/function/context.js.map +1 -1
  27. package/src/lib/nest/function/index.d.ts +2 -1
  28. package/src/lib/nest/function/index.js +2 -1
  29. package/src/lib/nest/function/index.js.map +1 -1
  30. package/src/lib/nest/function/nest.d.ts +19 -0
  31. package/src/lib/nest/function/nest.js +12 -0
  32. package/src/lib/nest/function/nest.js.map +1 -0
  33. package/src/lib/nest/function/v1/call.d.ts +5 -11
  34. package/src/lib/nest/function/v1/call.js +9 -3
  35. package/src/lib/nest/function/v1/call.js.map +1 -1
  36. package/src/lib/nest/function/v1/event.d.ts +14 -9
  37. package/src/lib/nest/function/v1/event.js +3 -2
  38. package/src/lib/nest/function/v1/event.js.map +1 -1
  39. package/src/lib/nest/function/v1/index.d.ts +0 -1
  40. package/src/lib/nest/function/v1/index.js +0 -1
  41. package/src/lib/nest/function/v1/index.js.map +1 -1
  42. package/src/lib/nest/function/v2/blocking.d.ts +8 -6
  43. package/src/lib/nest/function/v2/blocking.js +1 -1
  44. package/src/lib/nest/function/v2/blocking.js.map +1 -1
  45. package/src/lib/nest/function/v2/call.d.ts +3 -12
  46. package/src/lib/nest/function/v2/call.js +3 -2
  47. package/src/lib/nest/function/v2/call.js.map +1 -1
  48. package/src/lib/nest/function/v2/event.d.ts +8 -6
  49. package/src/lib/nest/function/v2/event.js +1 -1
  50. package/src/lib/nest/function/v2/event.js.map +1 -1
  51. package/src/lib/nest/function/v2/taskqueue.d.ts +9 -7
  52. package/src/lib/nest/function/v2/taskqueue.js +1 -1
  53. package/src/lib/nest/function/v2/taskqueue.js.map +1 -1
  54. package/src/lib/nest/index.d.ts +1 -0
  55. package/src/lib/nest/index.js +1 -0
  56. package/src/lib/nest/index.js.map +1 -1
  57. package/src/lib/nest/middleware/webhook.js.map +1 -1
  58. package/src/lib/nest/model/create.model.function.d.ts +16 -0
  59. package/src/lib/nest/model/create.model.function.js +37 -0
  60. package/src/lib/nest/model/create.model.function.js.map +1 -0
  61. package/src/lib/nest/model/delete.model.function.d.ts +16 -0
  62. package/src/lib/nest/model/delete.model.function.js +37 -0
  63. package/src/lib/nest/model/delete.model.function.js.map +1 -0
  64. package/src/lib/nest/model/index.d.ts +4 -0
  65. package/src/lib/nest/model/index.js +8 -0
  66. package/src/lib/nest/model/index.js.map +1 -0
  67. package/src/lib/nest/model/permission.error.d.ts +2 -0
  68. package/src/lib/nest/model/permission.error.js +20 -0
  69. package/src/lib/nest/model/permission.error.js.map +1 -0
  70. package/src/lib/nest/model/update.model.function.d.ts +16 -0
  71. package/src/lib/nest/model/update.model.function.js +37 -0
  72. package/src/lib/nest/model/update.model.function.js.map +1 -0
  73. package/src/lib/nest/nest.provider.d.ts +36 -1
  74. package/src/lib/nest/nest.provider.js +53 -1
  75. package/src/lib/nest/nest.provider.js.map +1 -1
  76. package/test/CHANGELOG.md +32 -0
  77. package/test/package.json +11 -10
  78. package/test/src/lib/firebase/firebase.admin.auth.d.ts +7 -6
  79. package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
  80. package/test/src/lib/firebase/firebase.admin.collection.d.ts +5 -5
  81. package/test/src/lib/firebase/firebase.admin.function.d.ts +1 -2
  82. package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +1 -2
  83. package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -1
  84. package/test/src/lib/firebase/firebase.function.d.ts +5 -2
  85. package/test/src/lib/firebase/firebase.function.js +4 -0
  86. package/test/src/lib/firebase/firebase.function.js.map +1 -1
  87. package/test/src/lib/firebase/firebase.js +1 -1
  88. package/test/src/lib/firebase/firebase.js.map +1 -1
  89. package/test/src/lib/firestore/firestore.d.ts +1 -2
  90. package/src/lib/auth/auth.user.d.ts +0 -0
  91. package/src/lib/auth/auth.user.js +0 -2
  92. package/src/lib/auth/auth.user.js.map +0 -1
  93. package/src/lib/nest/function/transform.d.ts +0 -10
  94. package/src/lib/nest/function/transform.js +0 -27
  95. package/src/lib/nest/function/transform.js.map +0 -1
  96. package/src/lib/nest/function/v1/call.utility.d.ts +0 -10
  97. package/src/lib/nest/function/v1/call.utility.js +0 -23
  98. package/src/lib/nest/function/v1/call.utility.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,47 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [7.0.1](https://github.com/dereekb/dbx-components/compare/v7.0.0-dev...v7.0.1) (2022-06-05)
6
+
7
+
8
+
9
+ # [7.0.0](https://github.com/dereekb/dbx-components/compare/v6.0.0-dev...v7.0.0) (2022-06-05)
10
+
11
+
12
+ ### Code Refactoring
13
+
14
+ * updated OnCallWithNestContextRequest to use single object ([2ef4002](https://github.com/dereekb/dbx-components/commit/2ef4002153d3e4b7efb012e31b2739378ac49789))
15
+
16
+
17
+ ### Features
18
+
19
+ * added FirestoreDocumentStore crud functions ([7786a40](https://github.com/dereekb/dbx-components/commit/7786a40f6033c2a1d5161805cde283dca7323db5))
20
+ * added onCallCreateModel ([84f7e72](https://github.com/dereekb/dbx-components/commit/84f7e72af20c1d0071feec3e46bae406d7fd5a26))
21
+ * added useModel to AbstractFirebaseNestContext ([29c1940](https://github.com/dereekb/dbx-components/commit/29c19402bff78d743d28ef88093757844f8ee5f7))
22
+
23
+
24
+ ### BREAKING CHANGES
25
+
26
+ * updated all onCall and functions to now use a single request object instead of multiple parameters
27
+
28
+
29
+
30
+ # [6.0.0](https://github.com/dereekb/dbx-components/compare/v5.3.0-dev...v6.0.0) (2022-06-03)
31
+
32
+
33
+ ### Features
34
+
35
+ * added AbstractFirebaseNestContext ([2f8e1a2](https://github.com/dereekb/dbx-components/commit/2f8e1a2127ffcfb23a428d6b46192633d8bf725f))
36
+ * added ContextGrantedModelRolesReader ([6fba1cc](https://github.com/dereekb/dbx-components/commit/6fba1cc637beeff55523df599eb88391352f9f58))
37
+ * added FirebaseModelsPermissionService ([9d75de4](https://github.com/dereekb/dbx-components/commit/9d75de4052dcfb15ef680d30f476ef494d8328a9))
38
+ * added InModelContextFirebaseModelServiceFactory ([9bf4697](https://github.com/dereekb/dbx-components/commit/9bf469731699a16ad27c96e3b149f552a429b471))
39
+ * added loadDocumentForKey to LimitedFirestoreDocumentAccessor ([96958b8](https://github.com/dereekb/dbx-components/commit/96958b89df62dc38136ac2dfcd2ce7c139b6099e))
40
+ * added OnCallDeleteModel ([358189d](https://github.com/dereekb/dbx-components/commit/358189d6db6ef7d8db93d6dd881d29cc724dd083))
41
+ * added OnCallUpdateModel ([3b60a06](https://github.com/dereekb/dbx-components/commit/3b60a06d48ec6a96940f44939e24e5c1f4879aa9))
42
+ * added orderByDocumentId, startAtValue, endAtValue constraints ([c846fee](https://github.com/dereekb/dbx-components/commit/c846feef6c26a3818bb006a807b6e931b7b14eaf))
43
+
44
+
45
+
5
46
  # [5.3.0](https://github.com/dereekb/dbx-components/compare/v5.2.1-dev...v5.3.0) (2022-05-30)
6
47
 
7
48
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "5.3.0",
3
+ "version": "7.0.1",
4
4
  "devDependencies": {
5
5
  "firebase-functions-test": "2.0.2"
6
6
  },
@@ -19,27 +19,28 @@
19
19
  "typings": "./src/index.d.ts",
20
20
  "dependencies": {},
21
21
  "peerDependencies": {
22
- "firebase-admin": "^10.2.0",
23
- "@nestjs/common": "^8.4.0",
24
- "@dereekb/util": "5.3.0",
25
- "make-error": "^1.3.0",
26
- "extra-set": "^2.2.11",
27
- "@dereekb/nestjs": "5.3.0",
28
- "@nestjs/config": "^2.0.1",
29
- "firebase-functions": "^3.21.2",
30
- "@dereekb/firebase": "5.3.0",
22
+ "@dereekb/firebase": "7.0.1",
31
23
  "rxjs": "^7.0.0",
32
24
  "rxfire": "^6.0.3",
33
25
  "firebase": "^9.8.0",
34
- "@dereekb/rxjs": "5.3.0",
26
+ "@dereekb/util": "7.0.1",
27
+ "make-error": "^1.3.0",
28
+ "ts-essentials": "^9.1.2",
29
+ "extra-set": "^2.2.11",
30
+ "@dereekb/rxjs": "7.0.1",
35
31
  "ms": "^3.0.0-canary.1",
36
- "@dereekb/date": "5.3.0",
32
+ "@dereekb/date": "7.0.1",
37
33
  "class-transformer": "^0.5.1",
38
34
  "date-fns": "^2.28.0",
39
35
  "class-validator": "^0.13.2",
40
36
  "date-fns-tz": "^1.3.0",
41
37
  "rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
42
- "@dereekb/model": "5.3.0",
38
+ "@dereekb/model": "7.0.1",
39
+ "firebase-functions": "^3.21.2",
40
+ "firebase-admin": "^10.2.0",
41
+ "@nestjs/common": "^8.4.0",
42
+ "@dereekb/nestjs": "7.0.1",
43
+ "@nestjs/config": "^2.0.1",
43
44
  "@google-cloud/firestore": "^5.0.2",
44
45
  "@nestjs/core": "^8.4.0",
45
46
  "@nestjs/platform-express": "^8.4.0",
@@ -0,0 +1,7 @@
1
+ import { FirebaseAuthToken } from '@dereekb/firebase';
2
+ import { AuthData } from 'firebase-functions/lib/common/providers/https';
3
+ import * as admin from 'firebase-admin';
4
+ export interface AuthDataRef {
5
+ auth?: AuthData;
6
+ }
7
+ export declare function firebaseAuthTokenFromDecodedIdToken(token: admin.auth.DecodedIdToken): FirebaseAuthToken;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.firebaseAuthTokenFromDecodedIdToken = void 0;
4
+ function firebaseAuthTokenFromDecodedIdToken(token) {
5
+ return {
6
+ email: token.email,
7
+ emailVerified: token.email_verified,
8
+ phoneNumber: token.phone_number
9
+ };
10
+ }
11
+ exports.firebaseAuthTokenFromDecodedIdToken = firebaseAuthTokenFromDecodedIdToken;
12
+ //# sourceMappingURL=auth.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.context.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.context.ts"],"names":[],"mappings":";;;AAQA,SAAgB,mCAAmC,CAAC,KAAgC;IAClF,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,cAAc;QACnC,WAAW,EAAE,KAAK,CAAC,YAAY;KAChC,CAAC;AACJ,CAAC;AAND,kFAMC"}
@@ -1,8 +1,9 @@
1
1
  import * as functions from 'firebase-functions';
2
2
  import * as admin from 'firebase-admin';
3
- import { FirebaseAuthUserId } from '@dereekb/firebase';
4
- import { AuthClaims, AuthRoleSet, ArrayOrValue, AuthRole, AuthClaimsUpdate, AuthClaimsObject } from '@dereekb/util';
3
+ import { FirebaseAuthContextInfo, FirebaseAuthUserId } from '@dereekb/firebase';
4
+ import { AuthClaims, AuthRoleSet, ArrayOrValue, AuthRole, AuthClaimsUpdate, AuthClaimsObject, Maybe } from '@dereekb/util';
5
5
  import { CallableContextWithAuthData } from '../function/context';
6
+ import { AuthDataRef } from './auth.context';
6
7
  export interface FirebaseServerAuthUserIdentifierContext {
7
8
  /**
8
9
  * UID of the user for this context.
@@ -137,8 +138,16 @@ export declare abstract class FirebaseServerAuthService<U extends FirebaseServer
137
138
  abstract userContext(uid: FirebaseAuthUserId): U;
138
139
  /**
139
140
  * Whether or not the input claims indicate admin priviledges.
141
+ *
142
+ * @param claims
140
143
  */
141
144
  abstract isAdmin(claims: AuthClaims): boolean;
145
+ /**
146
+ * Whether or not the input roles indicate admin priviledges.
147
+ *
148
+ * @param roles
149
+ */
150
+ abstract isAdminInRoles(roles: AuthRoleSet): boolean;
142
151
  /**
143
152
  * Reads the AuthRoleSet from the input claims.
144
153
  *
@@ -153,6 +162,12 @@ export declare abstract class FirebaseServerAuthService<U extends FirebaseServer
153
162
  * @param roles
154
163
  */
155
164
  abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
165
+ /**
166
+ * Builds a FirebaseAuthContextInfo for the input auth data context.
167
+ *
168
+ * @param context
169
+ */
170
+ abstract authContextInfo(context: AuthDataRef): Maybe<FirebaseAuthContextInfo>;
156
171
  }
157
172
  /**
158
173
  * Abstract FirebaseServerAuthService implementation.
@@ -164,6 +179,8 @@ export declare abstract class AbstractFirebaseServerAuthService<U extends Fireba
164
179
  protected abstract _context(context: CallableContextWithAuthData): C;
165
180
  abstract userContext(uid: FirebaseAuthUserId): U;
166
181
  isAdmin(claims: AuthClaims): boolean;
182
+ isAdminInRoles(roles: AuthRoleSet): boolean;
167
183
  abstract readRoles(claims: AuthClaims): AuthRoleSet;
168
184
  abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
185
+ authContextInfo(context: AuthDataRef): Maybe<FirebaseAuthContextInfo>;
169
186
  }
@@ -4,6 +4,7 @@ exports.AbstractFirebaseServerAuthService = exports.FirebaseServerAuthService =
4
4
  const tslib_1 = require("tslib");
5
5
  const util_1 = require("@dereekb/util");
6
6
  const context_1 = require("../function/context");
7
+ const auth_context_1 = require("./auth.context");
7
8
  class AbstractFirebaseServerAuthUserContext {
8
9
  constructor(service, uid) {
9
10
  this.service = service;
@@ -114,11 +115,28 @@ class AbstractFirebaseServerAuthService {
114
115
  }
115
116
  context(context) {
116
117
  (0, context_1.assertIsContextWithAuthData)(context);
117
- context.auth.token;
118
118
  return this._context(context);
119
119
  }
120
120
  isAdmin(claims) {
121
- return this.readRoles(claims).has(util_1.AUTH_ADMIN_ROLE);
121
+ return this.isAdminInRoles(this.readRoles(claims));
122
+ }
123
+ isAdminInRoles(roles) {
124
+ return roles.has(util_1.AUTH_ADMIN_ROLE);
125
+ }
126
+ authContextInfo(context) {
127
+ const { auth } = context;
128
+ let result;
129
+ if (auth) {
130
+ const _roles = (0, util_1.cachedGetter)(() => this.readRoles(auth.token));
131
+ result = {
132
+ uid: auth.uid,
133
+ isAdmin: () => this.isAdminInRoles(_roles()),
134
+ loadClaims: () => Promise.resolve(auth.token),
135
+ loadAuthRoles: () => Promise.resolve(_roles()),
136
+ token: (0, auth_context_1.firebaseAuthTokenFromDecodedIdToken)(auth.token)
137
+ };
138
+ }
139
+ return result;
122
140
  }
123
141
  }
124
142
  exports.AbstractFirebaseServerAuthService = AbstractFirebaseServerAuthService;
@@ -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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"}
@@ -1,2 +1,3 @@
1
1
  export * from './auth.service';
2
2
  export * from './auth.nest';
3
+ export * from './auth.context';
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./auth.service"), exports);
5
5
  tslib_1.__exportStar(require("./auth.nest"), exports);
6
- // export * from './auth.user';
6
+ tslib_1.__exportStar(require("./auth.context"), exports);
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,sDAA4B;AAC5B,+BAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B"}
@@ -37,6 +37,7 @@ exports.docRefForPath = docRefForPath;
37
37
  function firestoreClientAccessorDriver() {
38
38
  return {
39
39
  doc: (collection, path, ...pathSegments) => docRefForPath(collection, path, pathSegments),
40
+ docAtPath: (firestore, fullPath) => firestore.doc(fullPath),
40
41
  collectionGroup: (firestore, collectionId) => firestore.collectionGroup(collectionId),
41
42
  collection: (firestore, path, ...pathSegments) => collectionRefForPath(firestore, path, pathSegments),
42
43
  subcollection: (document, path, ...pathSegments) => collectionRefForPath(document, path, pathSegments),
@@ -1 +1 @@
1
- {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.firestoreClientQueryDriver = exports.firestoreClientQueryConstraintFunctionsDriver = exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = void 0;
4
+ const firestore_1 = require("@google-cloud/firestore");
4
5
  const firebase_1 = require("@dereekb/firebase");
5
6
  exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
6
7
  [firebase_1.FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.limit(data.limit),
7
8
  [firebase_1.FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.limitToLast(data.limit),
8
9
  [firebase_1.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.orderBy(data.fieldPath, data.directionStr),
10
+ [firebase_1.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.orderBy(firestore_1.FieldPath.documentId(), data.directionStr),
9
11
  [firebase_1.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.where(data.fieldPath, data.opStr, data.value),
10
12
  [firebase_1.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.offset(data.offset),
11
13
  [firebase_1.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.startAt(data.snapshot),
14
+ [firebase_1.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.startAt(...data.fieldValues),
12
15
  [firebase_1.FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.startAfter(data.snapshot),
13
16
  [firebase_1.FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.endAt(data.snapshot),
17
+ [firebase_1.FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.endAt(...data.fieldValues),
14
18
  [firebase_1.FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.endBefore(data.snapshot)
15
19
  };
16
20
  function firestoreClientQueryConstraintFunctionsDriver() {
17
21
  return (0, firebase_1.makeFirestoreQueryConstraintFunctionsDriver)({
18
22
  mapping: exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING,
19
23
  init: (query) => query,
20
- build: (query) => query
24
+ build: (query) => query,
25
+ documentIdFieldPath: () => firestore_1.FieldPath.documentId()
21
26
  });
22
27
  }
23
28
  exports.firestoreClientQueryConstraintFunctionsDriver = firestoreClientQueryConstraintFunctionsDriver;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.query.ts"],"names":[],"mappings":";;;AACA,gDAkB2B;AAId,QAAA,iDAAiD,GAA6E;IACzI,CAAC,gDAAqC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;IACrF,CAAC,wDAA6C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;IACnG,CAAC,mDAAwC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;IACjH,CAAC,gDAAqC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;IACjH,CAAC,iDAAsC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IACxF,CAAC,mDAAwC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAA4B,CAAC;IACjH,CAAC,sDAA2C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAA4B,CAAC;IACvH,CAAC,iDAAsC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAA4B,CAAC;IAC7G,CAAC,qDAA0C,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAA4B,CAAC;CACtH,CAAC;AAEF,SAAgB,6CAA6C;IAC3D,OAAO,IAAA,sDAA2C,EAA8B;QAC9E,OAAO,EAAE,yDAAiD;QAC1D,IAAI,EAAE,CAAI,KAAe,EAAE,EAAE,CAAC,KAAuC;QACrE,KAAK,EAAE,CAAI,KAAqC,EAAE,EAAE,CAAC,KAAK;KAC3D,CAAC,CAAC;AACL,CAAC;AAND,sGAMC;AAED,SAAgB,0BAA0B;IACxC,uCACK,6CAA6C,EAAE,KAClD,OAAO,CAAI,KAAe,EAAE,WAAyB;YACnD,IAAI,MAAiC,CAAC;YAEtC,IAAI,WAAW,EAAE;gBACf,MAAM,GAAI,WAAsC,CAAC,GAAG,CAAC,KAA4B,CAAC,CAAC;aACpF;iBAAM;gBACL,MAAM,GAAI,KAAwC,CAAC,GAAG,EAAE,CAAC;aAC1D;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,UAAU,CAAI,KAAe;YAC3B,OAAO,IAAA,+BAAoB,EAAmB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAE,KAAwC,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACxI,CAAC,IACD;AACJ,CAAC;AAlBD,gEAkBC"}
1
+ {"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.query.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import * as functions from 'firebase-functions';
2
- export declare type CallableContextWithAuthData = Omit<functions.https.CallableContext, 'auth'> & Required<Pick<functions.https.CallableContext, 'auth'>>;
3
- export declare function isContextWithAuthData(context: functions.https.CallableContext): context is CallableContextWithAuthData;
4
- export declare function assertIsContextWithAuthData(context: functions.https.CallableContext): asserts context is CallableContextWithAuthData;
2
+ export declare type CallableContextWithAuthData<R extends functions.https.CallableContext = functions.https.CallableContext> = Omit<R, 'auth'> & Required<Pick<R, 'auth'>>;
3
+ export declare function isContextWithAuthData<R extends functions.https.CallableContext>(context: functions.https.CallableContext): context is CallableContextWithAuthData<R>;
4
+ export declare function assertIsContextWithAuthData<R extends functions.https.CallableContext>(context: functions.https.CallableContext): asserts context is CallableContextWithAuthData<R>;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/context.ts"],"names":[],"mappings":";;;AACA,mCAA8D;AAI9D,SAAgB,qBAAqB,CAAC,OAAwC;;IAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,KAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,GAAG,CAAA,CAAC,CAAC;AAC7D,CAAC;AAFD,sDAEC;AAED,SAAgB,2BAA2B,CAAC,OAAwC;IAClF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,2CAAmC,GAAE,CAAC;KAC7C;AACH,CAAC;AAJD,kEAIC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/context.ts"],"names":[],"mappings":";;;AACA,mCAA8D;AAI9D,SAAgB,qBAAqB,CAA4C,OAAwC;;IACvH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,KAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,GAAG,CAAA,CAAC,CAAC;AAC7D,CAAC;AAFD,sDAEC;AAED,SAAgB,2BAA2B,CAA4C,OAAwC;IAC7H,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,2CAAmC,GAAE,CAAC;KAC7C;AACH,CAAC;AAJD,kEAIC"}
@@ -1,4 +1,7 @@
1
+ import { ServerError } from '@dereekb/util';
1
2
  import * as functions from 'firebase-functions';
2
3
  export declare function unauthenticatedContextHasNoAuthData(): functions.auth.HttpsError;
3
4
  export declare function unauthenticatedContextHasNoUidError(): functions.auth.HttpsError;
4
5
  export declare function preconditionConflictError(message: string): functions.auth.HttpsError;
6
+ export declare function forbiddenError(serverError: ServerError): functions.auth.HttpsError;
7
+ export declare function badRequestError(serverError: ServerError): functions.auth.HttpsError;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.preconditionConflictError = exports.unauthenticatedContextHasNoUidError = exports.unauthenticatedContextHasNoAuthData = void 0;
3
+ exports.badRequestError = exports.forbiddenError = exports.preconditionConflictError = exports.unauthenticatedContextHasNoUidError = exports.unauthenticatedContextHasNoAuthData = void 0;
4
4
  const functions = require("firebase-functions");
5
5
  function unauthenticatedContextHasNoAuthData() {
6
6
  return new functions.https.HttpsError('unauthenticated', 'expected authentication');
@@ -14,4 +14,13 @@ function preconditionConflictError(message) {
14
14
  return new functions.https.HttpsError('failed-precondition', message);
15
15
  }
16
16
  exports.preconditionConflictError = preconditionConflictError;
17
+ // MARK: General Errors
18
+ function forbiddenError(serverError) {
19
+ return new functions.https.HttpsError('unauthenticated', serverError.message || 'forbidden', serverError);
20
+ }
21
+ exports.forbiddenError = forbiddenError;
22
+ function badRequestError(serverError) {
23
+ return new functions.https.HttpsError('invalid-argument', serverError.message || 'forbidden', serverError);
24
+ }
25
+ exports.badRequestError = badRequestError;
17
26
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAEhD,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AACtF,CAAC;AAFD,kFAEC;AAED,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAFD,kFAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAFD,8DAEC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AACA,gDAAgD;AAEhD,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AACtF,CAAC;AAFD,kFAEC;AAED,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAFD,kFAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAFD,8DAEC;AAED,uBAAuB;AACvB,SAAgB,cAAc,CAAC,WAAwB;IACrD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,IAAI,WAAW,EAAE,WAAW,CAAC,CAAC;AAC5G,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe,CAAC,WAAwB;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,WAAW,CAAC,OAAO,IAAI,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7G,CAAC;AAFD,0CAEC"}
@@ -0,0 +1,23 @@
1
+ import { PromiseOrValue } from '@dereekb/util';
2
+ import { CallableRequest } from 'firebase-functions/lib/common/providers/https';
3
+ import { NestApplicationContextRequest, NestContextCallableRequest, NestContextCallableRequestWithAuth } from './nest';
4
+ import { MakeNestContext } from '../nest.provider';
5
+ export declare type OnCallWithNestApplicationRequest<I> = NestApplicationContextRequest<CallableRequest<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> = (request: OnCallWithNestApplicationRequest<I>) => PromiseOrValue<O>;
10
+ export declare type OnCallWithNestContextRequest<N, I> = NestContextCallableRequest<N, I>;
11
+ /**
12
+ * Runnable function that is passed an arbitrary nest context object in addition to the usual data/context provided by firebase.
13
+ */
14
+ export declare type OnCallWithNestContext<N, I = unknown, O = unknown> = (request: OnCallWithNestContextRequest<N, I>) => PromiseOrValue<O>;
15
+ export declare function setNestContextOnRequest<N, I>(makeNestContext: MakeNestContext<N>, request: OnCallWithNestApplicationRequest<I>): OnCallWithNestContextRequest<N, I>;
16
+ export declare type OnCallWithAuthorizedNestContext<N, I = unknown, O = unknown> = (request: NestContextCallableRequestWithAuth<N, I>) => PromiseOrValue<O>;
17
+ /**
18
+ * Creates an OnCallWithNestContext wrapper that validates the input CallableContext to assert the context has auth data before entering the function.
19
+ *
20
+ * @param fn
21
+ * @returns
22
+ */
23
+ export declare function inAuthContext<N, I, O>(fn: OnCallWithAuthorizedNestContext<N, I, O>): OnCallWithNestContext<N, I, O>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inAuthContext = exports.setNestContextOnRequest = void 0;
4
+ const context_1 = require("../../function/context");
5
+ const error_1 = require("../../function/error");
6
+ function setNestContextOnRequest(makeNestContext, request) {
7
+ request.nest = makeNestContext(request.nestApplication);
8
+ return request;
9
+ }
10
+ exports.setNestContextOnRequest = setNestContextOnRequest;
11
+ /**
12
+ * Creates an OnCallWithNestContext wrapper that validates the input CallableContext to assert the context has auth data before entering the function.
13
+ *
14
+ * @param fn
15
+ * @returns
16
+ */
17
+ function inAuthContext(fn) {
18
+ return (request) => {
19
+ if ((0, context_1.isContextWithAuthData)(request)) {
20
+ return fn(request);
21
+ }
22
+ else {
23
+ throw (0, error_1.unauthenticatedContextHasNoUidError)();
24
+ }
25
+ };
26
+ }
27
+ exports.inAuthContext = inAuthContext;
28
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/call.ts"],"names":[],"mappings":";;;AAGA,oDAA+D;AAC/D,gDAA2E;AAmB3E,SAAgB,uBAAuB,CAAO,eAAmC,EAAE,OAA4C;IAC5H,OAAuE,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzH,OAAO,OAAwD,CAAC;AAClE,CAAC;AAHD,0DAGC;AAKD;;;;;GAKG;AACH,SAAgB,aAAa,CAAU,EAA4C;IACjF,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,IAAA,+BAAqB,EAAC,OAAO,CAAC,EAAE;YAClC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;SACpB;aAAM;YACL,MAAM,IAAA,2CAAmC,GAAE,CAAC;SAC7C;IACH,CAAC,CAAC;AACJ,CAAC;AARD,sCAQC"}
@@ -1,5 +1,13 @@
1
1
  import { TransformAndValidateFunctionResultFactory, TransformAndValidateObjectFactory } from '@dereekb/model';
2
- import { FirebaseServerActionsTransformContext } from './transform';
2
+ /**
3
+ * Context used for transforming content.
4
+ */
5
+ export interface FirebaseServerActionsTransformContext {
6
+ readonly firebaseServerActionTransformFactory: TransformAndValidateObjectFactory;
7
+ readonly firebaseServerActionTransformFunctionFactory: TransformAndValidateFunctionResultFactory;
8
+ }
9
+ export declare function firebaseServerActionsTransformContext(): FirebaseServerActionsTransformContext;
10
+ export declare function firebaseServerActionsTransformFactory(): TransformAndValidateObjectFactory;
3
11
  /**
4
12
  * Context used for building FirebaseServerActions. It contains references to reusable factories.
5
13
  */
@@ -1,12 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.firebaseServerActionsContext = exports.AbstractFirebaseServerActionsContext = void 0;
4
- const transform_1 = require("./transform");
3
+ exports.firebaseServerActionsContext = exports.AbstractFirebaseServerActionsContext = exports.firebaseServerActionsTransformFactory = exports.firebaseServerActionsTransformContext = void 0;
4
+ const model_1 = require("@dereekb/model");
5
+ const common_1 = require("@nestjs/common");
6
+ const firebase_functions_1 = require("firebase-functions");
7
+ function firebaseServerActionsTransformContext() {
8
+ const firebaseServerActionTransformFactory = firebaseServerActionsTransformFactory();
9
+ const firebaseServerActionTransformFunctionFactory = (0, model_1.toTransformAndValidateFunctionResultFactory)(firebaseServerActionTransformFactory);
10
+ return {
11
+ firebaseServerActionTransformFactory,
12
+ firebaseServerActionTransformFunctionFactory
13
+ };
14
+ }
15
+ exports.firebaseServerActionsTransformContext = firebaseServerActionsTransformContext;
16
+ function firebaseServerActionsTransformFactory() {
17
+ const nestValidationExceptionFactory = new common_1.ValidationPipe().createExceptionFactory();
18
+ return (0, model_1.transformAndValidateObjectFactory)({
19
+ handleValidationError: (validationError) => {
20
+ const nestError = nestValidationExceptionFactory(validationError);
21
+ const details = nestError.getResponse();
22
+ throw new firebase_functions_1.https.HttpsError('invalid-argument', 'Parameters validation check failed.', details);
23
+ }
24
+ });
25
+ }
26
+ exports.firebaseServerActionsTransformFactory = firebaseServerActionsTransformFactory;
5
27
  class AbstractFirebaseServerActionsContext {
6
28
  }
7
29
  exports.AbstractFirebaseServerActionsContext = AbstractFirebaseServerActionsContext;
8
30
  function firebaseServerActionsContext() {
9
- return Object.assign({}, (0, transform_1.firebaseServerActionsTransformContext)());
31
+ return Object.assign({}, firebaseServerActionsTransformContext());
10
32
  }
11
33
  exports.firebaseServerActionsContext = firebaseServerActionsContext;
12
34
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/context.ts"],"names":[],"mappings":";;;AACA,2CAA2G;AAO3G,MAAsB,oCAAoC;CAGzD;AAHD,oFAGC;AAED,SAAgB,4BAA4B;IAC1C,yBACK,IAAA,iDAAqC,GAAE,EAC1C;AACJ,CAAC;AAJD,oEAIC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/context.ts"],"names":[],"mappings":";;;AACA,0CAA8L;AAC9L,2CAA+D;AAC/D,2DAA2C;AAW3C,SAAgB,qCAAqC;IACnD,MAAM,oCAAoC,GAAG,qCAAqC,EAAE,CAAC;IACrF,MAAM,4CAA4C,GAAG,IAAA,mDAA2C,EAAC,oCAAoC,CAAC,CAAC;IAEvI,OAAO;QACL,oCAAoC;QACpC,4CAA4C;KAC7C,CAAC;AACJ,CAAC;AARD,sFAQC;AAED,SAAgB,qCAAqC;IACnD,MAAM,8BAA8B,GAAG,IAAI,uBAAc,EAAE,CAAC,sBAAsB,EAAE,CAAC;IAErF,OAAO,IAAA,yCAAiC,EAAC;QACvC,qBAAqB,EAAE,CAAC,eAAkC,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;YAClE,MAAM,OAAO,GAAI,SAA2B,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,IAAI,0BAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,OAAO,CAAC,CAAC;QACjG,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAVD,sFAUC;AAQD,MAAsB,oCAAoC;CAGzD;AAHD,oFAGC;AAED,SAAgB,4BAA4B;IAC1C,yBACK,qCAAqC,EAAE,EAC1C;AACJ,CAAC;AAJD,oEAIC"}
@@ -1,4 +1,5 @@
1
1
  export * from './v1';
2
2
  export * from './v2';
3
3
  export * from './context';
4
- export * from './transform';
4
+ export * from './call';
5
+ export * from './nest';
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./v1"), exports);
5
5
  tslib_1.__exportStar(require("./v2"), exports);
6
6
  tslib_1.__exportStar(require("./context"), exports);
7
- tslib_1.__exportStar(require("./transform"), exports);
7
+ tslib_1.__exportStar(require("./call"), exports);
8
+ tslib_1.__exportStar(require("./nest"), exports);
8
9
  //# 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,+CAAqB;AACrB,+CAAqB;AACrB,oDAA0B;AAC1B,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,iDAAuB;AACvB,iDAAuB"}
@@ -0,0 +1,19 @@
1
+ import { INestApplicationContext } from '@nestjs/common';
2
+ import { CallableRequest } from 'firebase-functions/lib/common/providers/https';
3
+ import { CallableContextWithAuthData } from '../../function/context';
4
+ export declare type NestApplicationContextRequest<R> = R & {
5
+ readonly nestApplication: INestApplicationContext;
6
+ };
7
+ export declare type NestRef<N> = {
8
+ readonly nest: N;
9
+ };
10
+ export declare type NestContextRequest<N, R> = R & {
11
+ readonly nest: N;
12
+ };
13
+ export declare function injectNestIntoRequest<N, R>(nest: N, request: R): NestContextRequest<N, R>;
14
+ export declare function injectNestApplicationContextIntoRequest<R>(nestContext: INestApplicationContext, request: R): NestApplicationContextRequest<R>;
15
+ export declare type NestContextCallableRequest<N, I> = NestContextRequest<N, CallableRequest<I>>;
16
+ /**
17
+ * NestContextCallableRequest that has valid auth attached to it.
18
+ */
19
+ export declare type NestContextCallableRequestWithAuth<N, I> = CallableContextWithAuthData<NestContextCallableRequest<N, I>>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectNestApplicationContextIntoRequest = exports.injectNestIntoRequest = void 0;
4
+ function injectNestIntoRequest(nest, request) {
5
+ return Object.assign(Object.assign({}, request), { nest });
6
+ }
7
+ exports.injectNestIntoRequest = injectNestIntoRequest;
8
+ function injectNestApplicationContextIntoRequest(nestContext, request) {
9
+ return Object.assign(Object.assign({}, request), { nestApplication: nestContext });
10
+ }
11
+ exports.injectNestApplicationContextIntoRequest = injectNestApplicationContextIntoRequest;
12
+ //# sourceMappingURL=nest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nest.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/nest.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,qBAAqB,CAAO,IAAO,EAAE,OAAU;IAC7D,uCACK,OAAO,KACV,IAAI,IACJ;AACJ,CAAC;AALD,sDAKC;AAED,SAAgB,uCAAuC,CAAI,WAAoC,EAAE,OAAU;IACzG,uCACK,OAAO,KACV,eAAe,EAAE,WAAW,IAC5B;AACJ,CAAC;AALD,0FAKC"}
@@ -2,15 +2,13 @@ import * as functions from 'firebase-functions';
2
2
  import { INestApplicationContext } from '@nestjs/common';
3
3
  import { RunnableHttpFunction } from '../../../function/type';
4
4
  import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
5
+ import { OnCallWithNestApplication, OnCallWithNestApplicationRequest, OnCallWithNestContext } from '../call';
6
+ export declare function makeOnCallWithNestApplicationRequest<I>(nestApplication: INestApplicationContext, data: I, context: functions.https.CallableContext): OnCallWithNestApplicationRequest<I>;
5
7
  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
8
  /**
11
9
  * Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
12
10
  */
13
- export declare type OnCallWithNestApplicationFactory = <I, O>(fn: OnCallWithNestApplication<I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
11
+ export declare type OnCallWithNestApplicationFactory = <I = unknown, O = unknown>(fn: OnCallWithNestApplication<I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
14
12
  /**
15
13
  * Creates a factory for generating OnCallWithNestApplication functions.
16
14
  *
@@ -18,14 +16,10 @@ export declare type OnCallWithNestApplicationFactory = <I, O>(fn: OnCallWithNest
18
16
  * @returns
19
17
  */
20
18
  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
19
  /**
26
20
  * Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
27
21
  */
28
- export declare type OnCallWithNestContextFactory<C> = <I, O>(fn: OnCallWithNestContext<C, I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
22
+ export declare type OnCallWithNestContextFactory<N> = <I = unknown, O = unknown>(fn: OnCallWithNestContext<N, I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
29
23
  /**
30
24
  * Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
31
25
  *
@@ -33,4 +27,4 @@ export declare type OnCallWithNestContextFactory<C> = <I, O>(fn: OnCallWithNestC
33
27
  * @param makeNestContext
34
28
  * @returns
35
29
  */
36
- export declare function onCallWithNestContextFactory<C>(appFactory: OnCallWithNestApplicationFactory, makeNestContext: MakeNestContext<C>): OnCallWithNestContextFactory<C>;
30
+ export declare function onCallWithNestContextFactory<N>(appFactory: OnCallWithNestApplicationFactory, makeNestContext: MakeNestContext<N>): OnCallWithNestContextFactory<N>;