@dereekb/firebase-server 5.2.0 → 6.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.
- package/CHANGELOG.md +24 -0
- package/package.json +13 -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/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/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/delete.model.function.d.ts +15 -0
- package/src/lib/nest/model/delete.model.function.js +36 -0
- package/src/lib/nest/model/delete.model.function.js.map +1 -0
- package/src/lib/nest/model/index.d.ts +3 -0
- package/src/lib/nest/model/index.js +7 -0
- package/src/lib/nest/model/index.js.map +1 -0
- package/src/lib/{auth/auth.user.d.ts → nest/model/model.api.d.ts} +0 -0
- package/src/lib/nest/model/model.api.js +2 -0
- package/src/lib/nest/model/model.api.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 +15 -0
- package/src/lib/nest/model/update.model.function.js +36 -0
- package/src/lib/nest/model/update.model.function.js.map +1 -0
- package/src/lib/nest/nest.provider.d.ts +25 -1
- package/src/lib/nest/nest.provider.js +38 -1
- package/src/lib/nest/nest.provider.js.map +1 -1
- package/test/CHANGELOG.md +17 -0
- package/test/package.json +10 -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.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.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.js +0 -2
- package/src/lib/auth/auth.user.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [6.0.0](https://github.com/dereekb/dbx-components/compare/v5.3.0-dev...v6.0.0) (2022-06-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added AbstractFirebaseNestContext ([2f8e1a2](https://github.com/dereekb/dbx-components/commit/2f8e1a2127ffcfb23a428d6b46192633d8bf725f))
|
|
11
|
+
* added ContextGrantedModelRolesReader ([6fba1cc](https://github.com/dereekb/dbx-components/commit/6fba1cc637beeff55523df599eb88391352f9f58))
|
|
12
|
+
* added FirebaseModelsPermissionService ([9d75de4](https://github.com/dereekb/dbx-components/commit/9d75de4052dcfb15ef680d30f476ef494d8328a9))
|
|
13
|
+
* added InModelContextFirebaseModelServiceFactory ([9bf4697](https://github.com/dereekb/dbx-components/commit/9bf469731699a16ad27c96e3b149f552a429b471))
|
|
14
|
+
* added loadDocumentForKey to LimitedFirestoreDocumentAccessor ([96958b8](https://github.com/dereekb/dbx-components/commit/96958b89df62dc38136ac2dfcd2ce7c139b6099e))
|
|
15
|
+
* added OnCallDeleteModel ([358189d](https://github.com/dereekb/dbx-components/commit/358189d6db6ef7d8db93d6dd881d29cc724dd083))
|
|
16
|
+
* added OnCallUpdateModel ([3b60a06](https://github.com/dereekb/dbx-components/commit/3b60a06d48ec6a96940f44939e24e5c1f4879aa9))
|
|
17
|
+
* added orderByDocumentId, startAtValue, endAtValue constraints ([c846fee](https://github.com/dereekb/dbx-components/commit/c846feef6c26a3818bb006a807b6e931b7b14eaf))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
# [5.3.0](https://github.com/dereekb/dbx-components/compare/v5.2.1-dev...v5.3.0) (2022-05-30)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [5.2.1](https://github.com/dereekb/dbx-components/compare/v5.2.0-dev...v5.2.1) (2022-05-29)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
5
29
|
# [5.2.0](https://github.com/dereekb/dbx-components/compare/v5.1.0-dev...v5.2.0) (2022-05-29)
|
|
6
30
|
|
|
7
31
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"firebase-functions-test": "2.0.2"
|
|
6
6
|
},
|
|
@@ -19,27 +19,27 @@
|
|
|
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.2.0",
|
|
25
|
-
"make-error": "^1.3.0",
|
|
26
|
-
"extra-set": "^2.2.11",
|
|
27
|
-
"@dereekb/nestjs": "5.2.0",
|
|
28
|
-
"@nestjs/config": "^2.0.1",
|
|
29
|
-
"firebase-functions": "^3.21.2",
|
|
30
|
-
"@dereekb/firebase": "5.2.0",
|
|
22
|
+
"@dereekb/firebase": "6.0.0",
|
|
31
23
|
"rxjs": "^7.0.0",
|
|
32
24
|
"rxfire": "^6.0.3",
|
|
33
25
|
"firebase": "^9.8.0",
|
|
34
|
-
"@dereekb/
|
|
26
|
+
"@dereekb/util": "6.0.0",
|
|
27
|
+
"make-error": "^1.3.0",
|
|
28
|
+
"extra-set": "^2.2.11",
|
|
29
|
+
"@dereekb/rxjs": "6.0.0",
|
|
35
30
|
"ms": "^3.0.0-canary.1",
|
|
36
|
-
"@dereekb/date": "
|
|
31
|
+
"@dereekb/date": "6.0.0",
|
|
37
32
|
"class-transformer": "^0.5.1",
|
|
38
33
|
"date-fns": "^2.28.0",
|
|
39
34
|
"class-validator": "^0.13.2",
|
|
40
35
|
"date-fns-tz": "^1.3.0",
|
|
41
36
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
42
|
-
"@dereekb/model": "
|
|
37
|
+
"@dereekb/model": "6.0.0",
|
|
38
|
+
"firebase-functions": "^3.21.2",
|
|
39
|
+
"firebase-admin": "^10.2.0",
|
|
40
|
+
"@nestjs/common": "^8.4.0",
|
|
41
|
+
"@dereekb/nestjs": "6.0.0",
|
|
42
|
+
"@nestjs/config": "^2.0.1",
|
|
43
43
|
"@google-cloud/firestore": "^5.0.2",
|
|
44
44
|
"@nestjs/core": "^8.4.0",
|
|
45
45
|
"@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,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"}
|
package/src/lib/nest/index.d.ts
CHANGED
package/src/lib/nest/index.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./function"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./middleware"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./model"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./app"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./nest.provider"), exports);
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,uDAA6B;AAC7B,gDAAsB;AACtB,0DAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B;AAC3B,uDAA6B;AAC7B,kDAAwB;AACxB,gDAAsB;AACtB,0DAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/middleware/webhook.ts"],"names":[],"mappings":";;;;AAAA,4CAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/middleware/webhook.ts"],"names":[],"mappings":";;;;AAAA,4CAAwE;AACxE,2CAAoE;AACpE,6DAAiE;AAEjE;;;;GAIG;AAEH,IAAa,wCAAwC,GAArD,MAAa,wCAAwC;IAArD;QACmB,WAAM,GAAG,IAAI,eAAM,CAAC,0CAA0C,CAAC,CAAC;IAMnF,CAAC;IAJQ,SAAS,CAAC,QAA4B;QAC3C,QAAQ,CAAC,KAAK,CAAC,8CAAyB,CAAC,CAAC,SAAS,CAAC,8CAAqC,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;CACF,CAAA;AAPY,wCAAwC;IADpD,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,wCAAwC,CAOpD;AAPY,4FAAwC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FirestoreModelName, FirestoreModelIdentity, FirestoreModelNames, OnCallDeleteModelParams } from '@dereekb/firebase';
|
|
2
|
+
import { CallableContextWithAuthData } from '../../function/context';
|
|
3
|
+
import { OnCallWithAuthorizedNestContext } from '../function/v1/call.utility';
|
|
4
|
+
export declare type OnCallDeleteModelFunction<C, I = unknown, O = void> = (nest: C, requestData: I, context: CallableContextWithAuthData) => O;
|
|
5
|
+
export declare type OnCallDeleteModelMap<C, T extends FirestoreModelIdentity = FirestoreModelIdentity> = {
|
|
6
|
+
[K in FirestoreModelNames<T>]?: OnCallDeleteModelFunction<C, any, any>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Creates a OnCallWithAuthorizedNestContext function for updating model params.
|
|
10
|
+
*
|
|
11
|
+
* @param map
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function onCallDeleteModel<C>(map: OnCallDeleteModelMap<C>): OnCallWithAuthorizedNestContext<C, OnCallDeleteModelParams, unknown>;
|
|
15
|
+
export declare function deleteModelUnknownModelTypeError(modelType: FirestoreModelName): import("firebase-functions/v1/auth").HttpsError;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteModelUnknownModelTypeError = exports.onCallDeleteModel = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const function_1 = require("../../function");
|
|
6
|
+
/**
|
|
7
|
+
* Creates a OnCallWithAuthorizedNestContext function for updating model params.
|
|
8
|
+
*
|
|
9
|
+
* @param map
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function onCallDeleteModel(map) {
|
|
13
|
+
return (nest, requestData, context) => {
|
|
14
|
+
const modelType = requestData === null || requestData === void 0 ? void 0 : requestData.modelType;
|
|
15
|
+
const deleteFn = map[modelType];
|
|
16
|
+
if (deleteFn) {
|
|
17
|
+
return deleteFn(nest, requestData.data, context);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw deleteModelUnknownModelTypeError(modelType);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.onCallDeleteModel = onCallDeleteModel;
|
|
25
|
+
function deleteModelUnknownModelTypeError(modelType) {
|
|
26
|
+
return (0, function_1.badRequestError)((0, util_1.serverError)({
|
|
27
|
+
status: 400,
|
|
28
|
+
code: 'UNKNOWN_TYPE_ERROR',
|
|
29
|
+
message: 'Invalid type to delete.',
|
|
30
|
+
data: {
|
|
31
|
+
modelType
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
exports.deleteModelUnknownModelTypeError = deleteModelUnknownModelTypeError;
|
|
36
|
+
//# sourceMappingURL=delete.model.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/delete.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAE5C,6CAAiD;AAUjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B;IAC/D,OAAO,CAAI,IAAO,EAAE,WAAuC,EAAE,OAAoC,EAAE,EAAE;QACnG,MAAM,SAAS,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;QACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAClD;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAXD,8CAWC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./permission.error"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./update.model.function"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./delete.model.function"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC,kEAAwC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.api.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/model.api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nestFirebaseForbiddenPermissionError = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const error_1 = require("../../function/error");
|
|
6
|
+
const nestFirebaseForbiddenPermissionError = (firebaseContextGrantedModelRoles, roles) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
return (0, error_1.forbiddenError)((0, util_1.serverError)({
|
|
9
|
+
status: 403,
|
|
10
|
+
code: 'PERMISSION_ERROR',
|
|
11
|
+
message: 'You do not have permission to do this.',
|
|
12
|
+
data: {
|
|
13
|
+
id: (_a = firebaseContextGrantedModelRoles.data) === null || _a === void 0 ? void 0 : _a.document.id,
|
|
14
|
+
type: (_b = firebaseContextGrantedModelRoles.data) === null || _b === void 0 ? void 0 : _b.document.modelType,
|
|
15
|
+
roles
|
|
16
|
+
}
|
|
17
|
+
}));
|
|
18
|
+
};
|
|
19
|
+
exports.nestFirebaseForbiddenPermissionError = nestFirebaseForbiddenPermissionError;
|
|
20
|
+
//# sourceMappingURL=permission.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.error.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/permission.error.ts"],"names":[],"mappings":";;;AACA,wCAA0D;AAE1D,gDAAsD;AAE/C,MAAM,oCAAoC,GAAgD,CAAC,gCAA2G,EAAE,KAAiC,EAAE,EAAE;;IAClP,OAAO,IAAA,sBAAc,EACnB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,wCAAwC;QACjD,IAAI,EAAE;YACJ,EAAE,EAAE,MAAA,gCAAgC,CAAC,IAAI,0CAAE,QAAQ,CAAC,EAAE;YACtD,IAAI,EAAE,MAAA,gCAAgC,CAAC,IAAI,0CAAE,QAAQ,CAAC,SAAS;YAC/D,KAAK;SACN;KACF,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,oCAAoC,wCAa/C"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FirestoreModelName, FirestoreModelIdentity, FirestoreModelNames, OnCallUpdateModelParams } from '@dereekb/firebase';
|
|
2
|
+
import { CallableContextWithAuthData } from '../../function/context';
|
|
3
|
+
import { OnCallWithAuthorizedNestContext } from '../function/v1/call.utility';
|
|
4
|
+
export declare type OnCallUpdateModelFunction<C, I = unknown, O = void> = (nest: C, requestData: I, context: CallableContextWithAuthData) => O;
|
|
5
|
+
export declare type OnCallUpdateModelMap<C, T extends FirestoreModelIdentity = FirestoreModelIdentity> = {
|
|
6
|
+
[K in FirestoreModelNames<T>]?: OnCallUpdateModelFunction<C, any, any>;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Creates a OnCallWithAuthorizedNestContext function for updating model params.
|
|
10
|
+
*
|
|
11
|
+
* @param map
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function onCallUpdateModel<C>(map: OnCallUpdateModelMap<C>): OnCallWithAuthorizedNestContext<C, OnCallUpdateModelParams, unknown>;
|
|
15
|
+
export declare function updateModelUnknownModelTypeError(modelType: FirestoreModelName): import("firebase-functions/v1/auth").HttpsError;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateModelUnknownModelTypeError = exports.onCallUpdateModel = void 0;
|
|
4
|
+
const util_1 = require("@dereekb/util");
|
|
5
|
+
const function_1 = require("../../function");
|
|
6
|
+
/**
|
|
7
|
+
* Creates a OnCallWithAuthorizedNestContext function for updating model params.
|
|
8
|
+
*
|
|
9
|
+
* @param map
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
function onCallUpdateModel(map) {
|
|
13
|
+
return (nest, requestData, context) => {
|
|
14
|
+
const modelType = requestData === null || requestData === void 0 ? void 0 : requestData.modelType;
|
|
15
|
+
const updateFn = map[modelType];
|
|
16
|
+
if (updateFn) {
|
|
17
|
+
return updateFn(nest, requestData.data, context);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw updateModelUnknownModelTypeError(modelType);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.onCallUpdateModel = onCallUpdateModel;
|
|
25
|
+
function updateModelUnknownModelTypeError(modelType) {
|
|
26
|
+
return (0, function_1.badRequestError)((0, util_1.serverError)({
|
|
27
|
+
status: 400,
|
|
28
|
+
code: 'UNKNOWN_TYPE_ERROR',
|
|
29
|
+
message: 'Invalid type to update.',
|
|
30
|
+
data: {
|
|
31
|
+
modelType
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
exports.updateModelUnknownModelTypeError = updateModelUnknownModelTypeError;
|
|
36
|
+
//# sourceMappingURL=update.model.function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.model.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/update.model.function.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAE5C,6CAAiD;AAUjD;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,GAA4B;IAC/D,OAAO,CAAI,IAAO,EAAE,WAAuC,EAAE,OAAoC,EAAE,EAAE;QACnG,MAAM,SAAS,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;QACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAClD;aAAM;YACL,MAAM,gCAAgC,CAAC,SAAS,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;AACJ,CAAC;AAXD,8CAWC;AAED,SAAgB,gCAAgC,CAAC,SAA6B;IAC5E,OAAO,IAAA,0BAAe,EACpB,IAAA,kBAAW,EAAC;QACV,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,yBAAyB;QAClC,IAAI,EAAE;YACJ,SAAS;SACV;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAXD,4EAWC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FirebaseAppModelContext, FirebaseModelsService, InContextFirebaseModelsService } from '@dereekb/firebase';
|
|
2
|
+
import { BuildFunction, Getter } from '@dereekb/util';
|
|
2
3
|
import { INestApplicationContext } from '@nestjs/common';
|
|
4
|
+
import { AuthDataRef } from '../auth';
|
|
5
|
+
import { FirebaseServerAuthService } from '../auth/auth.service';
|
|
3
6
|
/**
|
|
4
7
|
* Getter for an INestApplicationContext promise. Nest should be initialized when the promise resolves.
|
|
5
8
|
*/
|
|
@@ -21,3 +24,24 @@ export declare abstract class AbstractNestContext {
|
|
|
21
24
|
readonly nest: INestApplicationContext;
|
|
22
25
|
constructor(nest: INestApplicationContext);
|
|
23
26
|
}
|
|
27
|
+
export declare abstract class AbstractFirebaseNestContext<C, Y extends FirebaseModelsService<any, any>> extends AbstractNestContext {
|
|
28
|
+
abstract get authService(): FirebaseServerAuthService;
|
|
29
|
+
abstract get modelsService(): Y;
|
|
30
|
+
abstract get app(): C;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a FirebaseAppModelContext instance.
|
|
33
|
+
*
|
|
34
|
+
* @param auth
|
|
35
|
+
* @param buildFn
|
|
36
|
+
* @returns
|
|
37
|
+
*/
|
|
38
|
+
modelContext(auth: AuthDataRef, buildFn?: BuildFunction<FirebaseAppModelContext<C>>): FirebaseAppModelContext<C>;
|
|
39
|
+
/**
|
|
40
|
+
* Creates a InContextFirebaseModelsService given the input context and parameters.
|
|
41
|
+
*
|
|
42
|
+
* @param auth
|
|
43
|
+
* @param buildFn
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
service(auth: AuthDataRef, buildFn?: BuildFunction<FirebaseAppModelContext<C>>): InContextFirebaseModelsService<Y>;
|
|
47
|
+
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbstractNestContext = void 0;
|
|
3
|
+
exports.AbstractFirebaseNestContext = exports.AbstractNestContext = void 0;
|
|
4
|
+
const firebase_1 = require("@dereekb/firebase");
|
|
5
|
+
const util_1 = require("@dereekb/util");
|
|
6
|
+
const permission_error_1 = require("./model/permission.error");
|
|
4
7
|
/**
|
|
5
8
|
* Abstract class that wraps an INestApplicationContext value.
|
|
6
9
|
*/
|
|
@@ -10,4 +13,38 @@ class AbstractNestContext {
|
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
15
|
exports.AbstractNestContext = AbstractNestContext;
|
|
16
|
+
class AbstractFirebaseNestContext extends AbstractNestContext {
|
|
17
|
+
/**
|
|
18
|
+
* Creates a FirebaseAppModelContext instance.
|
|
19
|
+
*
|
|
20
|
+
* @param auth
|
|
21
|
+
* @param buildFn
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
modelContext(auth, buildFn) {
|
|
25
|
+
const base = {
|
|
26
|
+
auth: this.authService.authContextInfo(auth),
|
|
27
|
+
app: this.app,
|
|
28
|
+
makePermissionError: permission_error_1.nestFirebaseForbiddenPermissionError
|
|
29
|
+
};
|
|
30
|
+
return buildFn
|
|
31
|
+
? (0, util_1.build)({
|
|
32
|
+
base,
|
|
33
|
+
build: buildFn
|
|
34
|
+
})
|
|
35
|
+
: base;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Creates a InContextFirebaseModelsService given the input context and parameters.
|
|
39
|
+
*
|
|
40
|
+
* @param auth
|
|
41
|
+
* @param buildFn
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
service(auth, buildFn) {
|
|
45
|
+
const firebaseModelContext = this.modelContext(auth, buildFn);
|
|
46
|
+
return (0, firebase_1.inContextFirebaseModelsServiceFactory)(this.modelsService)(firebaseModelContext);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.AbstractFirebaseNestContext = AbstractFirebaseNestContext;
|
|
13
50
|
//# sourceMappingURL=nest.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;AAAA,gDAA0J;AAC1J,wCAA6D;AAI7D,+DAAgF;AAmBhF;;GAEG;AACH,MAAsB,mBAAmB;IACvC,YAAqB,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;CACvD;AAFD,kDAEC;AAED,MAAsB,2BAA0E,SAAQ,mBAAmB;IAKzH;;;;;;OAMG;IACH,YAAY,CAAC,IAAiB,EAAE,OAAmD;QACjF,MAAM,IAAI,GAA+B;YACvC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC;YAC5C,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,mBAAmB,EAAE,uDAAoC;SAC1D,CAAC;QAEF,OAAO,OAAO;YACZ,CAAC,CAAC,IAAA,YAAK,EAAC;gBACJ,IAAI;gBACJ,KAAK,EAAE,OAAO;aACf,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAiB,EAAE,OAAmD;QAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,IAAA,gDAAqC,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAsC,CAAC;IAC9H,CAAC;CACF;AAtCD,kEAsCC"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [6.0.0](https://github.com/dereekb/dbx-components/compare/v5.3.0-dev...v6.0.0) (2022-06-03)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added OnCallUpdateModel ([3b60a06](https://github.com/dereekb/dbx-components/commit/3b60a06d48ec6a96940f44939e24e5c1f4879aa9))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [5.3.0](https://github.com/dereekb/dbx-components/compare/v5.2.1-dev...v5.3.0) (2022-05-30)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [5.2.1](https://github.com/dereekb/dbx-components/compare/v5.2.0-dev...v5.2.1) (2022-05-29)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
# [5.2.0](https://github.com/dereekb/dbx-components/compare/v5.1.0-dev...v5.2.0) (2022-05-29)
|
|
6
23
|
|
|
7
24
|
|
package/test/package.json
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"typings": "./src/index.d.ts",
|
|
6
6
|
"dependencies": {},
|
|
7
7
|
"peerDependencies": {
|
|
8
|
-
"@dereekb/firebase": "
|
|
8
|
+
"@dereekb/firebase": "6.0.0",
|
|
9
9
|
"rxjs": "^7.0.0",
|
|
10
10
|
"rxfire": "^6.0.3",
|
|
11
11
|
"firebase": "^9.8.0",
|
|
12
|
-
"@dereekb/util": "
|
|
12
|
+
"@dereekb/util": "6.0.0",
|
|
13
13
|
"make-error": "^1.3.0",
|
|
14
14
|
"extra-set": "^2.2.11",
|
|
15
|
-
"@dereekb/rxjs": "
|
|
15
|
+
"@dereekb/rxjs": "6.0.0",
|
|
16
16
|
"ms": "^3.0.0-canary.1",
|
|
17
|
-
"@dereekb/date": "
|
|
17
|
+
"@dereekb/date": "6.0.0",
|
|
18
18
|
"class-transformer": "^0.5.1",
|
|
19
19
|
"date-fns": "^2.28.0",
|
|
20
20
|
"class-validator": "^0.13.2",
|
|
21
21
|
"date-fns-tz": "^1.3.0",
|
|
22
22
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
23
|
-
"@dereekb/model": "
|
|
24
|
-
"@dereekb/util/test": "
|
|
23
|
+
"@dereekb/model": "6.0.0",
|
|
24
|
+
"@dereekb/util/test": "6.0.0",
|
|
25
25
|
"firebase-admin": "^10.2.0",
|
|
26
26
|
"jsonwebtoken": "^8.0.0",
|
|
27
27
|
"firebase-functions": "^3.21.2",
|
|
28
28
|
"@nestjs/common": "^8.4.0",
|
|
29
29
|
"@google-cloud/firestore": "^5.0.2",
|
|
30
|
-
"@dereekb/firebase/test": "
|
|
31
|
-
"@dereekb/firebase-server": "
|
|
32
|
-
"@dereekb/nestjs": "
|
|
30
|
+
"@dereekb/firebase/test": "6.0.0",
|
|
31
|
+
"@dereekb/firebase-server": "6.0.0",
|
|
32
|
+
"@dereekb/nestjs": "6.0.0",
|
|
33
33
|
"@nestjs/config": "^2.0.1",
|
|
34
34
|
"@nestjs/core": "^8.4.0",
|
|
35
35
|
"@nestjs/platform-express": "^8.4.0",
|
|
@@ -8,6 +8,8 @@ import { DecodedIdToken } from 'firebase-admin/lib/auth/token-verifier';
|
|
|
8
8
|
import { Auth } from 'firebase-admin/lib/auth/auth';
|
|
9
9
|
import { CallableContextOptions, ContextOptions, WrappedFunction, WrappedScheduledFunction } from 'firebase-functions-test/lib/main';
|
|
10
10
|
import { EventContext } from 'firebase-functions/lib/cloud-functions';
|
|
11
|
+
export declare type CallCloudFunction<I = any> = WrappedScheduledFunction | WrappedFunction<I>;
|
|
12
|
+
export declare type CallCloudFunctionParams<F> = F extends WrappedFunction<infer I> ? I : unknown;
|
|
11
13
|
/**
|
|
12
14
|
* Testing context for a single user.
|
|
13
15
|
*/
|
|
@@ -17,7 +19,7 @@ export interface AuthorizedUserTestContext {
|
|
|
17
19
|
loadIdToken(): Promise<string>;
|
|
18
20
|
loadDecodedIdToken(): Promise<DecodedIdToken>;
|
|
19
21
|
makeContextOptions(): Promise<ContextOptions>;
|
|
20
|
-
callCloudFunction<
|
|
22
|
+
callCloudFunction<F extends CallCloudFunction, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
|
|
21
23
|
}
|
|
22
24
|
export declare class AuthorizedUserTestContextFixture<PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends AuthorizedUserTestContextInstance<PI> = AuthorizedUserTestContextInstance<PI>> extends AbstractChildJestTestContextFixture<I, PF> implements AuthorizedUserTestContext {
|
|
23
25
|
get uid(): FirebaseAuthUserId;
|
|
@@ -25,10 +27,9 @@ export declare class AuthorizedUserTestContextFixture<PI extends FirebaseAdminTe
|
|
|
25
27
|
loadIdToken(): Promise<string>;
|
|
26
28
|
loadDecodedIdToken(): Promise<DecodedIdToken>;
|
|
27
29
|
makeContextOptions(): Promise<ContextOptions>;
|
|
28
|
-
callCloudFunction<
|
|
29
|
-
}
|
|
30
|
-
export interface CallEventFunctionEventContext extends Partial<Omit<EventContext, 'auth'>> {
|
|
30
|
+
callCloudFunction<F extends CallCloudFunction, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
|
|
31
31
|
}
|
|
32
|
+
export declare type CallEventFunctionEventContext = Partial<Omit<EventContext, 'auth'>>;
|
|
32
33
|
export declare class AuthorizedUserTestContextInstance<PI extends FirebaseAdminTestContext = FirebaseAdminTestContext> implements AuthorizedUserTestContext {
|
|
33
34
|
readonly uid: FirebaseAuthUserId;
|
|
34
35
|
readonly testContext: PI;
|
|
@@ -37,8 +38,8 @@ export declare class AuthorizedUserTestContextInstance<PI extends FirebaseAdminT
|
|
|
37
38
|
loadIdToken(): Promise<string>;
|
|
38
39
|
loadDecodedIdToken(): Promise<DecodedIdToken>;
|
|
39
40
|
makeContextOptions(): Promise<ContextOptions>;
|
|
40
|
-
callCloudFunction<
|
|
41
|
-
callEventCloudFunction<
|
|
41
|
+
callCloudFunction<F extends CallCloudFunction, O = unknown>(fn: F, params: CallCloudFunctionParams<F>): Promise<O>;
|
|
42
|
+
callEventCloudFunction<F extends WrappedFunction<any>, O = unknown>(fn: F, params: CallCloudFunctionParams<F>, contextOptions?: CallEventFunctionEventContext): Promise<O>;
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
44
45
|
* Generated user details. Used by AuthorizedUserTestContextParams.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":";;;;AACA,wCAAoI;AACpI,6CAAwH;AAMxH,+CAAmD;
|
|
1
|
+
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,7 @@ export interface FirebaseAdminFunctionTestConfig {
|
|
|
17
17
|
*/
|
|
18
18
|
useFunctionSingletonContext: boolean;
|
|
19
19
|
}
|
|
20
|
-
export
|
|
21
|
-
}
|
|
20
|
+
export declare type FirebaseAdminFunctionTestContext = FirebaseAdminTestContext;
|
|
22
21
|
export interface FullFirebaseAdminFunctionTestContext extends FirebaseAdminFunctionTestContext, JestTestContextFixture<FirebaseAdminFunctionTestContextInstance> {
|
|
23
22
|
}
|
|
24
23
|
export declare class FirebaseAdminFunctionTestContextFixture extends AbstractJestTestContextFixture<FirebaseAdminFunctionTestContextInstance> implements FirebaseAdminFunctionTestContext {
|
|
@@ -15,8 +15,7 @@ export declare class FirebaseAdminFunctionNestTestContextFixture<PI extends Fire
|
|
|
15
15
|
export declare class FirebaseAdminFunctionNestTestContextInstance<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance> extends FirebaseAdminNestTestContextInstance<PI> implements FirebaseAdminFunctionNestTestContext {
|
|
16
16
|
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
17
17
|
}
|
|
18
|
-
export
|
|
19
|
-
}
|
|
18
|
+
export declare type FirebaseAdminFunctionNestTestConfig<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends FirebaseAdminFunctionNestTestContextInstance<PI> = FirebaseAdminFunctionNestTestContextInstance<PI>, C extends FirebaseAdminFunctionNestTestContextFixture<PI, PF, I> = FirebaseAdminFunctionNestTestContextFixture<PI, PF, I>> = FirebaseAdminNestTestConfig<PI, PF, I, C>;
|
|
20
19
|
export declare type FirebaseAdminFunctionNestTestContextFactory<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends FirebaseAdminFunctionNestTestContextInstance<PI> = FirebaseAdminFunctionNestTestContextInstance<PI>, C extends FirebaseAdminFunctionNestTestContextFixture<PI, PF, I> = FirebaseAdminFunctionNestTestContextFixture<PI, PF, I>> = JestTestContextFactory<C>;
|
|
21
20
|
export declare function firebaseAdminFunctionNestContextFixture<PI extends FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends FirebaseAdminFunctionNestTestContextInstance<PI> = FirebaseAdminFunctionNestTestContextInstance<PI>, C extends FirebaseAdminFunctionNestTestContextFixture<PI, PF, I> = FirebaseAdminFunctionNestTestContextFixture<PI, PF, I>>(config: FirebaseAdminFunctionNestTestConfig<PI, PF, I, C>, factory: JestTestContextFactory<PF>): FirebaseAdminFunctionNestTestContextFactory<PI, PF, I, C>;
|
|
22
21
|
export declare class FirebaseAdminFunctionNestRootModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.nest.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.ts"],"names":[],"mappings":";;;AAEA,+DAAkN;AAClN,uEAA8H;AAE9H,2DAAsK;AAEtK,gBAAgB;AAChB,SAAgB,mCAAmC,CAAI,OAA6C,EAAE,EAAiD;IACrJ,OAAO,IAAA,+CAA2B,EAAI,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACnG,CAAC;AAFD,kFAEC;AAKD,MAAa,2CAA+T,SAAQ,yDAA8C;IAChY,6CAA6C;IAC7C,6BAA6B,CAAI,EAAiD;QAChF,OAAO,IAAI,CAAC,mCAAmC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,mCAAmC,CAAI,EAAiD;QACtF,OAAO,mCAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxC,CAAC;CACF;AAdD,kGAcC;AAED,MAAa,4CAA6I,SAAQ,0DAAwC;IACxM,6CAA6C;IAC7C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF;AALD,oGAKC;
|
|
1
|
+
{"version":3,"file":"firebase.admin.nest.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.ts"],"names":[],"mappings":";;;AAEA,+DAAkN;AAClN,uEAA8H;AAE9H,2DAAsK;AAEtK,gBAAgB;AAChB,SAAgB,mCAAmC,CAAI,OAA6C,EAAE,EAAiD;IACrJ,OAAO,IAAA,+CAA2B,EAAI,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACnG,CAAC;AAFD,kFAEC;AAKD,MAAa,2CAA+T,SAAQ,yDAA8C;IAChY,6CAA6C;IAC7C,6BAA6B,CAAI,EAAiD;QAChF,OAAO,IAAI,CAAC,mCAAmC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxD,CAAC;IAED,mCAAmC,CAAI,EAAiD;QACtF,OAAO,mCAAmC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxC,CAAC;CACF;AAdD,kGAcC;AAED,MAAa,4CAA6I,SAAQ,0DAAwC;IACxM,6CAA6C;IAC7C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF;AALD,oGAKC;AAMD,SAAgB,uCAAuC,CACrD,MAAyD,EACzD,OAAmC;IAEnC,OAAO,CAAC,UAAgD,EAAE,EAAE;QAC1D,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2CAA2C,CAAe,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACnG,CAAC,CAAC;AACJ,CAAC;AAPD,0FAOC;AAED,MAAa,mCAAmC;CAAG;AAAnD,kFAAmD;AAEnD,SAAgB,2CAA2C,CACzD,MAAyD,EACzD,CAAK,EACL,UAAgD;IAEhD,MAAM,YAAY,mBAChB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,2CAA2C,CAAC,MAAM,CAAM,EACrF,YAAY,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,4CAA4C,CAAK,QAAQ,EAAE,IAAI,CAAM,IACxG,MAAM,CACV,CAAC;IAEF,OAAO,IAAA,yDAAmC,EAAe,YAAY,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACxF,CAAC;AAZD,kGAYC;AAED,SAAgB,uCAAuC,CACrD,MAA0J;IAE1J,OAAO,uCAAuC,CAAgH,MAAM,EAAE,iEAAuC,CAAC,CAAC;AACjN,CAAC;AAJD,0FAIC"}
|
|
@@ -42,7 +42,7 @@ function applyFirebaseGCloudTestProjectIdToFirebaseConfigEnv() {
|
|
|
42
42
|
if (!testProjectId) {
|
|
43
43
|
throw new Error('No test project id was available in the environment. Did you call initFirebaseAdminTestEnvironment() first?');
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
const config = JSON.parse((_a = process.env.FIREBASE_CONFIG) !== null && _a !== void 0 ? _a : '{}');
|
|
46
46
|
config.projectId = testProjectId;
|
|
47
47
|
process.env.FIREBASE_CONFIG = JSON.stringify(config);
|
|
48
48
|
process.env.GCLOUD_PROJECT = testProjectId; // re-apply to GCLOUD_PROJECT too
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.ts"],"names":[],"mappings":";;;AAAA,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAmBxC,SAAgB,6BAA6B;IAC3C,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAFD,sEAEC;AAED,SAAgB,oBAAoB;IAClC,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAHD,oDAGC;AAED,SAAgB,uCAAuC;IACrD,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC;IACvC,mDAAmD,EAAE,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,0FAMC;AAED,SAAgB,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AACpC,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACzC,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mDAAmD;;IACjE,qDAAqD;IACrD,yHAAyH;IACzH,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAE/C,gDAAgD;IAEhD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;KAChI;IAED,
|
|
1
|
+
{"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.ts"],"names":[],"mappings":";;;AAAA,IAAI,2BAA2B,GAAG,KAAK,CAAC;AAmBxC,SAAgB,6BAA6B;IAC3C,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAFD,sEAEC;AAED,SAAgB,oBAAoB;IAClC,MAAM,SAAS,GAAG,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1D,OAAO,SAAS,CAAC;AACnB,CAAC;AAHD,oDAGC;AAED,SAAgB,uCAAuC;IACrD,MAAM,SAAS,GAAG,oBAAoB,EAAE,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC;IACvC,mDAAmD,EAAE,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,0FAMC;AAED,SAAgB,kBAAkB;IAChC,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;AACpC,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB;IACpC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;AACzC,CAAC;AAFD,wDAEC;AAED;;;;;GAKG;AACH,SAAgB,mDAAmD;;IACjE,qDAAqD;IACrD,yHAAyH;IACzH,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;IAE/C,gDAAgD;IAEhD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;KAChI;IAED,MAAM,MAAM,GAAQ,IAAI,CAAC,KAAK,CAAC,MAAA,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC,iCAAiC;IAE7E,OAAO,aAAa,CAAC;AACvB,CAAC;AAlBD,kHAkBC;AAED;;GAEG;AACH,SAAgB,gCAAgC,CAAC,MAA0C;IACzF,SAAS,gBAAgB,CAAC,QAAgB;QACxC,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,oEAAoE,CAAC,CAAC;IAChH,CAAC;IAED,SAAS,iBAAiB,CAAC,QAA2D,EAAE,MAAc;QACpG,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAElD,IAAI,cAAc,EAAE;YAClB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;SACtC;aAAM,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI,EAAE;YAC9C,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,uCAAuC,EAAE,CAAC;IAC1C,iBAAiB,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IACzD,iBAAiB,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;IAC1D,iBAAiB,CAAC,SAAS,EAAE,gCAAgC,CAAC,CAAC;IAE/D,mDAAmD,EAAE,CAAC;IAEtD,2BAA2B,GAAG,IAAI,CAAC;AACrC,CAAC;AAvBD,4EAuBC"}
|
|
@@ -4,8 +4,7 @@ export interface GoogleCloudTestFirestoreConfig {
|
|
|
4
4
|
host: string;
|
|
5
5
|
port: number;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
8
|
-
}
|
|
7
|
+
export declare type GoogleCloudTestFirestoreContext = TestFirestoreContext;
|
|
9
8
|
export declare function makeGoogleFirestoreContext(drivers: TestingFirestoreDrivers, firestore: Firestore): TestFirestoreContext;
|
|
10
9
|
export declare class GoogleCloudTestFirestoreInstance extends TestFirestoreInstance {
|
|
11
10
|
constructor(drivers: TestingFirestoreDrivers, firestore: Firestore);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.user.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.user.ts"],"names":[],"mappings":""}
|