@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.
- package/CHANGELOG.md +41 -0
- package/package.json +14 -13
- package/src/lib/auth/auth.context.d.ts +7 -0
- package/src/lib/auth/auth.context.js +12 -0
- package/src/lib/auth/auth.context.js.map +1 -0
- package/src/lib/auth/auth.service.d.ts +19 -2
- package/src/lib/auth/auth.service.js +20 -2
- package/src/lib/auth/auth.service.js.map +1 -1
- package/src/lib/auth/index.d.ts +1 -0
- package/src/lib/auth/index.js +1 -1
- package/src/lib/auth/index.js.map +1 -1
- package/src/lib/firestore/driver.accessor.js +1 -0
- package/src/lib/firestore/driver.accessor.js.map +1 -1
- package/src/lib/firestore/driver.query.js +6 -1
- package/src/lib/firestore/driver.query.js.map +1 -1
- package/src/lib/function/context.d.ts +3 -3
- package/src/lib/function/context.js.map +1 -1
- package/src/lib/function/error.d.ts +3 -0
- package/src/lib/function/error.js +10 -1
- package/src/lib/function/error.js.map +1 -1
- package/src/lib/nest/function/call.d.ts +23 -0
- package/src/lib/nest/function/call.js +28 -0
- package/src/lib/nest/function/call.js.map +1 -0
- package/src/lib/nest/function/context.d.ts +9 -1
- package/src/lib/nest/function/context.js +25 -3
- package/src/lib/nest/function/context.js.map +1 -1
- package/src/lib/nest/function/index.d.ts +2 -1
- package/src/lib/nest/function/index.js +2 -1
- package/src/lib/nest/function/index.js.map +1 -1
- package/src/lib/nest/function/nest.d.ts +19 -0
- package/src/lib/nest/function/nest.js +12 -0
- package/src/lib/nest/function/nest.js.map +1 -0
- package/src/lib/nest/function/v1/call.d.ts +5 -11
- package/src/lib/nest/function/v1/call.js +9 -3
- package/src/lib/nest/function/v1/call.js.map +1 -1
- package/src/lib/nest/function/v1/event.d.ts +14 -9
- package/src/lib/nest/function/v1/event.js +3 -2
- package/src/lib/nest/function/v1/event.js.map +1 -1
- package/src/lib/nest/function/v1/index.d.ts +0 -1
- package/src/lib/nest/function/v1/index.js +0 -1
- package/src/lib/nest/function/v1/index.js.map +1 -1
- package/src/lib/nest/function/v2/blocking.d.ts +8 -6
- package/src/lib/nest/function/v2/blocking.js +1 -1
- package/src/lib/nest/function/v2/blocking.js.map +1 -1
- package/src/lib/nest/function/v2/call.d.ts +3 -12
- package/src/lib/nest/function/v2/call.js +3 -2
- package/src/lib/nest/function/v2/call.js.map +1 -1
- package/src/lib/nest/function/v2/event.d.ts +8 -6
- package/src/lib/nest/function/v2/event.js +1 -1
- package/src/lib/nest/function/v2/event.js.map +1 -1
- package/src/lib/nest/function/v2/taskqueue.d.ts +9 -7
- package/src/lib/nest/function/v2/taskqueue.js +1 -1
- package/src/lib/nest/function/v2/taskqueue.js.map +1 -1
- package/src/lib/nest/index.d.ts +1 -0
- package/src/lib/nest/index.js +1 -0
- package/src/lib/nest/index.js.map +1 -1
- package/src/lib/nest/middleware/webhook.js.map +1 -1
- package/src/lib/nest/model/create.model.function.d.ts +16 -0
- package/src/lib/nest/model/create.model.function.js +37 -0
- package/src/lib/nest/model/create.model.function.js.map +1 -0
- package/src/lib/nest/model/delete.model.function.d.ts +16 -0
- package/src/lib/nest/model/delete.model.function.js +37 -0
- package/src/lib/nest/model/delete.model.function.js.map +1 -0
- package/src/lib/nest/model/index.d.ts +4 -0
- package/src/lib/nest/model/index.js +8 -0
- package/src/lib/nest/model/index.js.map +1 -0
- package/src/lib/nest/model/permission.error.d.ts +2 -0
- package/src/lib/nest/model/permission.error.js +20 -0
- package/src/lib/nest/model/permission.error.js.map +1 -0
- package/src/lib/nest/model/update.model.function.d.ts +16 -0
- package/src/lib/nest/model/update.model.function.js +37 -0
- package/src/lib/nest/model/update.model.function.js.map +1 -0
- package/src/lib/nest/nest.provider.d.ts +36 -1
- package/src/lib/nest/nest.provider.js +53 -1
- package/src/lib/nest/nest.provider.js.map +1 -1
- package/test/CHANGELOG.md +32 -0
- package/test/package.json +11 -10
- package/test/src/lib/firebase/firebase.admin.auth.d.ts +7 -6
- package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.collection.d.ts +5 -5
- package/test/src/lib/firebase/firebase.admin.function.d.ts +1 -2
- package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +1 -2
- package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -1
- package/test/src/lib/firebase/firebase.function.d.ts +5 -2
- package/test/src/lib/firebase/firebase.function.js +4 -0
- package/test/src/lib/firebase/firebase.function.js.map +1 -1
- package/test/src/lib/firebase/firebase.js +1 -1
- package/test/src/lib/firebase/firebase.js.map +1 -1
- package/test/src/lib/firestore/firestore.d.ts +1 -2
- package/src/lib/auth/auth.user.d.ts +0 -0
- package/src/lib/auth/auth.user.js +0 -2
- package/src/lib/auth/auth.user.js.map +0 -1
- package/src/lib/nest/function/transform.d.ts +0 -10
- package/src/lib/nest/function/transform.js +0 -27
- package/src/lib/nest/function/transform.js.map +0 -1
- package/src/lib/nest/function/v1/call.utility.d.ts +0 -10
- package/src/lib/nest/function/v1/call.utility.js +0 -23
- 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": "
|
|
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
|
|
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/
|
|
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": "
|
|
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": "
|
|
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)
|
|
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":";;;;AAGA,
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
package/src/lib/auth/index.d.ts
CHANGED
package/src/lib/auth/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
|
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":";;;
|
|
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 =
|
|
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,
|
|
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":";;;
|
|
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
|
-
|
|
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
|
|
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({},
|
|
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,
|
|
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"}
|
|
@@ -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("./
|
|
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,
|
|
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<
|
|
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<
|
|
30
|
+
export declare function onCallWithNestContextFactory<N>(appFactory: OnCallWithNestApplicationFactory, makeNestContext: MakeNestContext<N>): OnCallWithNestContextFactory<N>;
|