@dereekb/firebase-server 4.0.1 → 5.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 +44 -0
- package/LICENSE +21 -0
- package/package.json +17 -8
- package/src/lib/auth/auth.nest.d.ts +3 -2
- package/src/lib/auth/auth.nest.js +10 -8
- package/src/lib/auth/auth.nest.js.map +1 -1
- package/src/lib/auth/auth.service.d.ts +14 -6
- package/src/lib/auth/auth.service.js +5 -5
- package/src/lib/auth/auth.service.js.map +1 -1
- package/src/lib/firebase/firebase.nest.d.ts +2 -2
- package/src/lib/firestore/driver.accessor.batch.d.ts +4 -4
- package/src/lib/firestore/driver.accessor.batch.js +1 -1
- package/src/lib/firestore/driver.accessor.batch.js.map +1 -1
- package/src/lib/firestore/driver.accessor.d.ts +1 -1
- package/src/lib/firestore/driver.accessor.default.d.ts +3 -3
- package/src/lib/firestore/driver.accessor.default.js +2 -2
- package/src/lib/firestore/driver.accessor.default.js.map +1 -1
- package/src/lib/firestore/driver.accessor.js +2 -5
- package/src/lib/firestore/driver.accessor.js.map +1 -1
- package/src/lib/firestore/driver.accessor.transaction.d.ts +4 -4
- package/src/lib/firestore/driver.accessor.transaction.js +1 -1
- package/src/lib/firestore/driver.accessor.transaction.js.map +1 -1
- package/src/lib/firestore/driver.d.ts +1 -2
- package/src/lib/firestore/driver.query.d.ts +3 -3
- package/src/lib/firestore/driver.query.js.map +1 -1
- package/src/lib/firestore/firestore.nest.d.ts +1 -1
- package/src/lib/firestore/firestore.nest.js +12 -6
- package/src/lib/firestore/firestore.nest.js.map +1 -1
- package/src/lib/function/context.js +1 -1
- package/src/lib/function/context.js.map +1 -1
- package/src/lib/function/type.d.ts +8 -2
- package/src/lib/nest/app.d.ts +14 -2
- package/src/lib/nest/app.js +15 -12
- package/src/lib/nest/app.js.map +1 -1
- package/src/lib/nest/function/context.d.ts +4 -5
- package/src/lib/nest/function/index.d.ts +2 -2
- package/src/lib/nest/function/index.js +2 -2
- package/src/lib/nest/function/index.js.map +1 -1
- package/src/lib/nest/function/transform.d.ts +1 -1
- package/src/lib/nest/function/v1/call.d.ts +36 -0
- package/src/lib/nest/function/v1/call.js +28 -0
- package/src/lib/nest/function/v1/call.js.map +1 -0
- package/src/lib/nest/function/{nest.utility.d.ts → v1/call.utility.d.ts} +3 -3
- package/src/lib/nest/function/{nest.utility.js → v1/call.utility.js} +3 -3
- package/src/lib/nest/function/v1/call.utility.js.map +1 -0
- package/src/lib/nest/function/v1/event.d.ts +38 -0
- package/src/lib/nest/function/v1/event.js +41 -0
- package/src/lib/nest/function/v1/event.js.map +1 -0
- package/src/lib/nest/function/v1/index.d.ts +3 -0
- package/src/lib/nest/function/v1/index.js +7 -0
- package/src/lib/nest/function/v1/index.js.map +1 -0
- package/src/lib/nest/function/v2/blocking.d.ts +19 -0
- package/src/lib/nest/function/v2/blocking.js +23 -0
- package/src/lib/nest/function/v2/blocking.js.map +1 -0
- package/src/lib/nest/function/v2/call.d.ts +36 -0
- package/src/lib/nest/function/v2/call.js +28 -0
- package/src/lib/nest/function/v2/call.js.map +1 -0
- package/src/lib/nest/function/v2/event.d.ts +20 -0
- package/src/lib/nest/function/v2/event.js +23 -0
- package/src/lib/nest/function/v2/event.js.map +1 -0
- package/src/lib/nest/function/v2/index.d.ts +4 -0
- package/src/lib/nest/function/v2/index.js +8 -0
- package/src/lib/nest/function/v2/index.js.map +1 -0
- package/src/lib/nest/function/v2/taskqueue.d.ts +19 -0
- package/src/lib/nest/function/v2/taskqueue.js +23 -0
- package/src/lib/nest/function/v2/taskqueue.js.map +1 -0
- package/src/lib/nest/index.d.ts +2 -0
- package/src/lib/nest/index.js +2 -0
- package/src/lib/nest/index.js.map +1 -1
- package/src/lib/nest/middleware/index.d.ts +2 -0
- package/src/lib/nest/middleware/index.js +6 -0
- package/src/lib/nest/middleware/index.js.map +1 -0
- package/src/lib/nest/middleware/rawbody.middleware.d.ts +6 -0
- package/src/lib/nest/middleware/rawbody.middleware.js +16 -0
- package/src/lib/nest/middleware/rawbody.middleware.js.map +1 -0
- package/src/lib/nest/middleware/webhook.d.ts +10 -0
- package/src/lib/nest/middleware/webhook.js +28 -0
- package/src/lib/nest/middleware/webhook.js.map +1 -0
- package/src/lib/nest/nest.provider.d.ts +23 -0
- package/src/lib/nest/nest.provider.js +13 -0
- package/src/lib/nest/nest.provider.js.map +1 -0
- package/test/CHANGELOG.md +17 -0
- package/test/package.json +12 -11
- package/test/src/lib/firebase/firebase.admin.auth.d.ts +3 -3
- package/test/src/lib/firebase/firebase.admin.auth.js +7 -9
- package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.collection.d.ts +2 -2
- package/test/src/lib/firebase/firebase.admin.collection.js +0 -1
- package/test/src/lib/firebase/firebase.admin.collection.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.d.ts +7 -19
- package/test/src/lib/firebase/firebase.admin.function.d.ts +5 -4
- package/test/src/lib/firebase/firebase.admin.function.js +8 -6
- package/test/src/lib/firebase/firebase.admin.function.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.js +7 -13
- package/test/src/lib/firebase/firebase.admin.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.nest.d.ts +2 -2
- package/test/src/lib/firebase/firebase.admin.nest.function.context.d.ts +5 -5
- package/test/src/lib/firebase/firebase.admin.nest.function.context.js +2 -0
- package/test/src/lib/firebase/firebase.admin.nest.function.context.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.nest.function.d.ts +11 -12
- package/test/src/lib/firebase/firebase.admin.nest.function.js +8 -7
- package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.nest.js +2 -2
- package/test/src/lib/firebase/firebase.admin.nest.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.test.server.d.ts +1 -1
- package/test/src/lib/firebase/firebase.admin.test.server.js.map +1 -1
- package/test/src/lib/firebase/firebase.function.d.ts +23 -0
- package/test/src/lib/firebase/firebase.function.js +27 -0
- package/test/src/lib/firebase/firebase.function.js.map +1 -0
- package/test/src/lib/firebase/firebase.js.map +1 -1
- package/test/src/lib/firestore/firestore.js +1 -1
- package/test/src/lib/firestore/firestore.js.map +1 -1
- package/test-setup.js.map +1 -1
- package/src/lib/nest/function/nest.d.ts +0 -91
- package/src/lib/nest/function/nest.js +0 -74
- package/src/lib/nest/function/nest.js.map +0 -1
- package/src/lib/nest/function/nest.utility.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskqueue.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/taskqueue.ts"],"names":[],"mappings":";;;AAeA;;;;;;GAMG;AACH,SAAgB,8CAA8C,CAAI,eAAmC;IACnG,OAAO,CAAc,EAAwD,EAAE,EAAE;QAC/E,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,cAAc,GAAqD,CAAC,OAAkD,EAAE,EAAE;gBAC9H,MAAM,SAAS,GAAgC,CAAC,KAAQ,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC1I,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAXD,wGAWC"}
|
package/src/lib/nest/index.d.ts
CHANGED
package/src/lib/nest/index.js
CHANGED
|
@@ -2,5 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./function"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./middleware"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./app"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./nest.provider"), exports);
|
|
6
8
|
//# 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,gDAAsB"}
|
|
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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./rawbody.middleware"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./webhook"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/middleware/index.ts"],"names":[],"mappings":";;;AAAA,+DAAqC;AACrC,oDAA0B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { NestMiddleware } from '@nestjs/common';
|
|
2
|
+
import { Request } from 'firebase-functions/v2/https';
|
|
3
|
+
import { Response } from 'express';
|
|
4
|
+
export declare class FirebaseRawBodyMiddleware implements NestMiddleware {
|
|
5
|
+
use(req: Request, res: Response, next: () => void): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FirebaseRawBodyMiddleware = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
let FirebaseRawBodyMiddleware = class FirebaseRawBodyMiddleware {
|
|
7
|
+
use(req, res, next) {
|
|
8
|
+
req.body = req.rawBody;
|
|
9
|
+
next();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
FirebaseRawBodyMiddleware = tslib_1.__decorate([
|
|
13
|
+
(0, common_1.Injectable)()
|
|
14
|
+
], FirebaseRawBodyMiddleware);
|
|
15
|
+
exports.FirebaseRawBodyMiddleware = FirebaseRawBodyMiddleware;
|
|
16
|
+
//# sourceMappingURL=rawbody.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rawbody.middleware.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/middleware/rawbody.middleware.ts"],"names":[],"mappings":";;;;AAAA,2CAA4D;AAK5D,IAAa,yBAAyB,GAAtC,MAAa,yBAAyB;IACpC,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAgB;QAC/C,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AALY,yBAAyB;IADrC,IAAA,mBAAU,GAAE;GACA,yBAAyB,CAKrC;AALY,8DAAyB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MiddlewareConsumer } from '@nestjs/common';
|
|
2
|
+
/**
|
|
3
|
+
* Convenience class that mirrors the ConfigureWebhookMiddlewareModule class in @dereekb/nestjs, but for Firebase apps.
|
|
4
|
+
*
|
|
5
|
+
* Requests to /webhook/* have their request.body value set to the rawBody.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ConfigureFirebaseWebhookMiddlewareModule {
|
|
8
|
+
private readonly logger;
|
|
9
|
+
configure(consumer: MiddlewareConsumer): void;
|
|
10
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigureFirebaseWebhookMiddlewareModule = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const rawbody_middleware_1 = require("./rawbody.middleware");
|
|
7
|
+
/**
|
|
8
|
+
* Convenience class that mirrors the ConfigureWebhookMiddlewareModule class in @dereekb/nestjs, but for Firebase apps.
|
|
9
|
+
*
|
|
10
|
+
* Requests to /webhook/* have their request.body value set to the rawBody.
|
|
11
|
+
*/
|
|
12
|
+
let ConfigureFirebaseWebhookMiddlewareModule = class ConfigureFirebaseWebhookMiddlewareModule {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.logger = new common_1.Logger('ConfigureFirebaseWebhookMiddlewareModule');
|
|
15
|
+
}
|
|
16
|
+
configure(consumer) {
|
|
17
|
+
consumer.apply(rawbody_middleware_1.FirebaseRawBodyMiddleware).forRoutes({
|
|
18
|
+
path: '/webhook/*',
|
|
19
|
+
method: common_1.RequestMethod.POST
|
|
20
|
+
});
|
|
21
|
+
this.logger.debug('Configured firebase webhook routes with proper middleware.');
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
ConfigureFirebaseWebhookMiddlewareModule = tslib_1.__decorate([
|
|
25
|
+
(0, common_1.Module)({})
|
|
26
|
+
], ConfigureFirebaseWebhookMiddlewareModule);
|
|
27
|
+
exports.ConfigureFirebaseWebhookMiddlewareModule = ConfigureFirebaseWebhookMiddlewareModule;
|
|
28
|
+
//# sourceMappingURL=webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/middleware/webhook.ts"],"names":[],"mappings":";;;;AAAA,2CAAmF;AACnF,6DAAiE;AAEjE;;;;GAIG;AAEH,IAAa,wCAAwC,GAArD,MAAa,wCAAwC;IAArD;QACmB,WAAM,GAAG,IAAI,eAAM,CAAC,0CAA0C,CAAC,CAAC;IAUnF,CAAC;IARQ,SAAS,CAAC,QAA4B;QAC3C,QAAQ,CAAC,KAAK,CAAC,8CAAyB,CAAC,CAAC,SAAS,CAAC;YAClD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,sBAAa,CAAC,IAAI;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;CACF,CAAA;AAXY,wCAAwC;IADpD,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,wCAAwC,CAWpD;AAXY,4FAAwC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Getter } from '@dereekb/util';
|
|
2
|
+
import { INestApplicationContext } from '@nestjs/common';
|
|
3
|
+
/**
|
|
4
|
+
* Getter for an INestApplicationContext promise. Nest should be initialized when the promise resolves.
|
|
5
|
+
*/
|
|
6
|
+
export declare type NestApplicationPromiseGetter = Getter<Promise<INestApplicationContext>>;
|
|
7
|
+
/**
|
|
8
|
+
* Generates a function from the passed NestApplicationPromiseGetter/context.
|
|
9
|
+
*
|
|
10
|
+
* This pattern is available to allow generating similar content for differenting contexts, such as production and testing.
|
|
11
|
+
*/
|
|
12
|
+
export declare type NestApplicationFunctionFactory<F> = (nestAppPromiseGetter: NestApplicationPromiseGetter) => F;
|
|
13
|
+
/**
|
|
14
|
+
* Getter for an INestApplicationContext promise. Nest should be initialized when the promise resolves.
|
|
15
|
+
*/
|
|
16
|
+
export declare type MakeNestContext<C> = (nest: INestApplicationContext) => C;
|
|
17
|
+
/**
|
|
18
|
+
* Abstract class that wraps an INestApplicationContext value.
|
|
19
|
+
*/
|
|
20
|
+
export declare abstract class AbstractNestContext {
|
|
21
|
+
readonly nest: INestApplicationContext;
|
|
22
|
+
constructor(nest: INestApplicationContext);
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractNestContext = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Abstract class that wraps an INestApplicationContext value.
|
|
6
|
+
*/
|
|
7
|
+
class AbstractNestContext {
|
|
8
|
+
constructor(nest) {
|
|
9
|
+
this.nest = nest;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.AbstractNestContext = AbstractNestContext;
|
|
13
|
+
//# sourceMappingURL=nest.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest.provider.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/nest.provider.ts"],"names":[],"mappings":";;;AAoBA;;GAEG;AACH,MAAsB,mBAAmB;IACvC,YAAqB,IAA6B;QAA7B,SAAI,GAAJ,IAAI,CAAyB;IAAG,CAAC;CACvD;AAFD,kDAEC"}
|
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
|
+
## [5.0.1](https://github.com/dereekb/dbx-components/compare/v5.0.0-dev...v5.0.1) (2022-05-26)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* added firebase functions v2 nest context components ([e5ca892](https://github.com/dereekb/dbx-components/commit/e5ca89250c7b7cf99f75d8edb0fc16a4618cbc21))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# [4.1.0](https://github.com/dereekb/dbx-components/compare/v4.0.1-dev...v4.1.0) (2022-05-17)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
5
22
|
## [4.0.1](https://github.com/dereekb/dbx-components/compare/v4.0.0-dev...v4.0.1) (2022-05-14)
|
|
6
23
|
|
|
7
24
|
|
package/test/package.json
CHANGED
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
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": "5.0.1",
|
|
9
9
|
"rxjs": "^7.0.0",
|
|
10
10
|
"rxfire": "^6.0.3",
|
|
11
11
|
"firebase": "^9.8.0",
|
|
12
|
-
"@dereekb/util": "
|
|
12
|
+
"@dereekb/util": "5.0.1",
|
|
13
13
|
"make-error": "^1.3.0",
|
|
14
14
|
"extra-set": "^2.2.11",
|
|
15
|
-
"
|
|
16
|
-
"@dereekb/rxjs": "4.0.1",
|
|
15
|
+
"@dereekb/rxjs": "5.0.1",
|
|
17
16
|
"ms": "^3.0.0-canary.1",
|
|
18
|
-
"@dereekb/date": "
|
|
17
|
+
"@dereekb/date": "5.0.1",
|
|
19
18
|
"class-transformer": "^0.5.1",
|
|
20
19
|
"date-fns": "^2.28.0",
|
|
21
20
|
"class-validator": "^0.13.2",
|
|
22
21
|
"date-fns-tz": "^1.3.0",
|
|
23
22
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
24
|
-
"@dereekb/model": "
|
|
25
|
-
"@dereekb/util/test": "
|
|
23
|
+
"@dereekb/model": "5.0.1",
|
|
24
|
+
"@dereekb/util/test": "5.0.1",
|
|
26
25
|
"firebase-admin": "^10.2.0",
|
|
27
26
|
"jsonwebtoken": "^8.0.0",
|
|
28
|
-
"firebase-functions": "^3.21.
|
|
27
|
+
"firebase-functions": "^3.21.2",
|
|
29
28
|
"@nestjs/common": "^8.4.0",
|
|
30
29
|
"@google-cloud/firestore": "^5.0.2",
|
|
31
|
-
"@dereekb/firebase/test": "
|
|
32
|
-
"@dereekb/firebase-server": "
|
|
30
|
+
"@dereekb/firebase/test": "5.0.1",
|
|
31
|
+
"@dereekb/firebase-server": "5.0.1",
|
|
32
|
+
"@dereekb/nestjs": "5.0.1",
|
|
33
|
+
"@nestjs/config": "^2.0.1",
|
|
33
34
|
"@nestjs/core": "^8.4.0",
|
|
34
35
|
"@nestjs/platform-express": "^8.4.0",
|
|
35
36
|
"tslib": "^2.0.0"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FirebaseAuthUserId } from '@dereekb/firebase';
|
|
2
|
-
import { Factory, GetterOrValue, PromiseOrValue } from
|
|
3
|
-
import { AbstractChildJestTestContextFixture, JestTestContextFixture } from
|
|
4
|
-
import { FirebaseAdminTestContext } from
|
|
2
|
+
import { Factory, GetterOrValue, PromiseOrValue } from '@dereekb/util';
|
|
3
|
+
import { AbstractChildJestTestContextFixture, JestTestContextFixture } from '@dereekb/util/test';
|
|
4
|
+
import { FirebaseAdminTestContext } from './firebase.admin';
|
|
5
5
|
import { CreateRequest } from 'firebase-admin/lib/auth/auth-config';
|
|
6
6
|
import { UserRecord } from 'firebase-admin/lib/auth/user-record';
|
|
7
7
|
import { DecodedIdToken } from 'firebase-admin/lib/auth/token-verifier';
|
|
@@ -45,10 +45,10 @@ class AuthorizedUserTestContextInstance {
|
|
|
45
45
|
return this.loadUserRecord().then((record) => createTestFunctionContextOptions(this.testContext.auth, record));
|
|
46
46
|
}
|
|
47
47
|
callCloudFunction(fn, params) {
|
|
48
|
-
return this.makeContextOptions().then(options => fn(params, options));
|
|
48
|
+
return this.makeContextOptions().then((options) => fn(params, options));
|
|
49
49
|
}
|
|
50
50
|
callEventCloudFunction(fn, params, contextOptions) {
|
|
51
|
-
return this.makeContextOptions().then(options => fn(params,
|
|
51
|
+
return this.makeContextOptions().then((options) => fn(params, contextOptions ? Object.assign(Object.assign({}, contextOptions), options) : options));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.AuthorizedUserTestContextInstance = AuthorizedUserTestContextInstance;
|
|
@@ -59,13 +59,12 @@ function authorizedUserContext(config, buildTests) {
|
|
|
59
59
|
authorizedUserContextFactory(config)({ f: config.f }, buildTests);
|
|
60
60
|
}
|
|
61
61
|
exports.authorizedUserContext = authorizedUserContext;
|
|
62
|
-
;
|
|
63
62
|
/**
|
|
64
63
|
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
65
64
|
*/
|
|
66
65
|
function authorizedUserContextFactory(config) {
|
|
67
66
|
const { uid: uidGetter, makeInstance = (uid, testInstance) => new AuthorizedUserTestContextInstance(uid, testInstance), makeFixture = (f) => new AuthorizedUserTestContextFixture(f), makeUserDetails = () => ({}), initUser } = config;
|
|
68
|
-
const makeUid =
|
|
67
|
+
const makeUid = uidGetter ? (0, util_1.asGetter)(uidGetter) : exports.testUidFactory;
|
|
69
68
|
return (params, buildTests) => {
|
|
70
69
|
const { f, user: inputUser } = params;
|
|
71
70
|
return (0, test_1.useJestContextFixture)({
|
|
@@ -94,13 +93,12 @@ function authorizedUserContextFactory(config) {
|
|
|
94
93
|
};
|
|
95
94
|
}
|
|
96
95
|
exports.authorizedUserContextFactory = authorizedUserContextFactory;
|
|
97
|
-
;
|
|
98
96
|
/**
|
|
99
97
|
* Incrementing number factory for generating test UID values.
|
|
100
98
|
*
|
|
101
99
|
* Has the format 'test-uid-<number>'
|
|
102
100
|
*/
|
|
103
|
-
exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `test-uid-${i}`);
|
|
101
|
+
exports.testUidFactory = (0, util_1.mapGetter)((0, util_1.incrementingNumberFactory)(), (i) => `test-uid-${i}+${new Date().toISOString()}`);
|
|
104
102
|
/**
|
|
105
103
|
* Creates a CallableContextOptions with auth attached corresponding to the input UserRecord.
|
|
106
104
|
*
|
|
@@ -153,9 +151,9 @@ function testFirestoreClaimsFromUserRecord(userRecord) {
|
|
|
153
151
|
var _a;
|
|
154
152
|
// Copy claims to be similar to DecodedIdToken pieces.
|
|
155
153
|
const baseClaims = {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
154
|
+
picture: userRecord.photoURL,
|
|
155
|
+
email: userRecord.email,
|
|
156
|
+
email_verified: (_a = userRecord.emailVerified) !== null && _a !== void 0 ? _a : false,
|
|
159
157
|
firebase: {
|
|
160
158
|
sign_in_provider: '@dereekb/firebase-server/test',
|
|
161
159
|
identities: []
|
|
@@ -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;AAgBnD,MAAa,
|
|
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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FirestoreCollection, FirestoreDocument, DocumentReference } from '@dereekb/firebase';
|
|
2
2
|
import { ModelKey, PromiseOrValue } from '@dereekb/util';
|
|
3
|
-
import { JestTestContextFixture, AbstractChildJestTestContextFixture } from
|
|
4
|
-
import { FirebaseAdminTestContext } from
|
|
3
|
+
import { JestTestContextFixture, AbstractChildJestTestContextFixture } from '@dereekb/util/test';
|
|
4
|
+
import { FirebaseAdminTestContext } from './firebase.admin';
|
|
5
5
|
/**
|
|
6
6
|
* Testing context for a single model.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAYxH,MAAa,
|
|
1
|
+
{"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAYxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAbD,0DAaC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAdD,4DAcC;AA0CD;;GAEG;AACH,SAAgB,uBAAuB,CAQrC,MAA4D;IAC5D,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAAE,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhU,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AA9BD,0DA8BC"}
|
|
@@ -2,24 +2,12 @@ import * as admin from 'firebase-admin';
|
|
|
2
2
|
import { Firestore } from '@google-cloud/firestore';
|
|
3
3
|
import { Auth } from 'firebase-admin/lib/auth/auth';
|
|
4
4
|
import { JestTestFirestoreContextFactory, TestFirestoreContext, TestFirestoreContextFixture, TestFirestoreInstance } from '@dereekb/firebase/test';
|
|
5
|
-
import { AbstractJestTestContextFixture, JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from
|
|
5
|
+
import { AbstractJestTestContextFixture, JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from '@dereekb/util/test';
|
|
6
6
|
import { GoogleCloudTestFirestoreInstance } from '../firestore/firestore';
|
|
7
|
-
import {
|
|
8
|
-
import { wrap, WrappedFunction, WrappedScheduledFunction } from 'firebase-functions-test/lib/main';
|
|
9
|
-
import { Getter } from '@dereekb/util';
|
|
7
|
+
import { FirebaseAdminCloudFunctionWrapper, FirebaseAdminCloudFunctionWrapperSource } from './firebase.function';
|
|
10
8
|
export interface FirebaseAdminTestConfig {
|
|
11
9
|
}
|
|
12
|
-
export
|
|
13
|
-
export declare type WrapCloudFunctionInput<T> = CloudFunctionV1<T>;
|
|
14
|
-
export declare type WrappedCloudFunction<T> = WrappedScheduledFunction | WrappedFunction<T>;
|
|
15
|
-
export interface FirebaseAdminCloudFunctionWrapper {
|
|
16
|
-
/**
|
|
17
|
-
* Wrap function if available. If not in the right context/supported then this will throw an exception.
|
|
18
|
-
*/
|
|
19
|
-
get wrapCloudFunction(): WrapCloudFunction;
|
|
20
|
-
}
|
|
21
|
-
export declare function wrapCloudFunctionForTests<I, T extends WrapCloudFunctionInput<I> = WrapCloudFunctionInput<I>>(wrapper: FirebaseAdminCloudFunctionWrapper, getter: Getter<T>): Getter<WrappedCloudFunction<I>>;
|
|
22
|
-
export interface FirebaseAdminTestContext extends FirebaseAdminCloudFunctionWrapper {
|
|
10
|
+
export interface FirebaseAdminTestContext extends FirebaseAdminCloudFunctionWrapperSource {
|
|
23
11
|
readonly app: admin.app.App;
|
|
24
12
|
readonly auth: Auth;
|
|
25
13
|
readonly firestore: Firestore;
|
|
@@ -32,17 +20,17 @@ export declare class FirebaseAdminTestContextFixture extends AbstractJestTestCon
|
|
|
32
20
|
get firestore(): Firestore;
|
|
33
21
|
get firestoreInstance(): TestFirestoreInstance;
|
|
34
22
|
get firestoreContext(): TestFirestoreContext;
|
|
35
|
-
get
|
|
23
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
36
24
|
}
|
|
37
25
|
export declare class FirebaseAdminTestContextInstance implements FirebaseAdminTestContext {
|
|
38
26
|
readonly app: admin.app.App;
|
|
39
|
-
readonly getTestFirestoreInstance: import("@dereekb/util").CachedFactoryWithInput<GoogleCloudTestFirestoreInstance,
|
|
27
|
+
readonly getTestFirestoreInstance: import("@dereekb/util").CachedFactoryWithInput<GoogleCloudTestFirestoreInstance, unknown>;
|
|
40
28
|
constructor(app: admin.app.App);
|
|
41
29
|
get auth(): Auth;
|
|
42
30
|
get firestore(): Firestore;
|
|
43
31
|
get firestoreInstance(): TestFirestoreInstance;
|
|
44
32
|
get firestoreContext(): TestFirestoreContext;
|
|
45
|
-
get
|
|
33
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
46
34
|
}
|
|
47
35
|
export declare abstract class AbstractFirebaseAdminTestContextInstanceChild<F extends FirebaseAdminTestContextInstance = FirebaseAdminTestContextInstance> implements FirebaseAdminTestContext {
|
|
48
36
|
readonly parent: F;
|
|
@@ -52,7 +40,7 @@ export declare abstract class AbstractFirebaseAdminTestContextInstanceChild<F ex
|
|
|
52
40
|
get firestore(): Firestore;
|
|
53
41
|
get firestoreInstance(): TestFirestoreInstance;
|
|
54
42
|
get firestoreContext(): TestFirestoreContext;
|
|
55
|
-
get
|
|
43
|
+
get fnWrapper(): FirebaseAdminCloudFunctionWrapper;
|
|
56
44
|
}
|
|
57
45
|
/**
|
|
58
46
|
* A JestTestContextBuilderFunction for building firebase test context factories using firebase-admin.
|
|
@@ -3,8 +3,8 @@ import { Firestore } from '@google-cloud/firestore';
|
|
|
3
3
|
import { Auth } from 'firebase-admin/lib/auth/auth';
|
|
4
4
|
import { FeaturesList } from 'firebase-functions-test/lib/features';
|
|
5
5
|
import { TestFirestoreContext, TestFirestoreInstance } from '@dereekb/firebase/test';
|
|
6
|
-
import { AbstractJestTestContextFixture, JestTestContextFactory, JestTestContextFixture } from
|
|
7
|
-
import { FirebaseAdminTestContext, FirebaseAdminTestContextInstance
|
|
6
|
+
import { AbstractJestTestContextFixture, JestTestContextFactory, JestTestContextFixture } from '@dereekb/util/test';
|
|
7
|
+
import { FirebaseAdminTestContext, FirebaseAdminTestContextInstance } from './firebase.admin';
|
|
8
8
|
export declare function setupFirebaseAdminFunctionTestSingleton(reroll?: boolean): FeaturesList;
|
|
9
9
|
export declare function rerollFirebaseAdminFunctionTestSingleton(): FeaturesList;
|
|
10
10
|
export interface FirebaseAdminFunctionTestConfig {
|
|
@@ -27,12 +27,13 @@ export declare class FirebaseAdminFunctionTestContextFixture extends AbstractJes
|
|
|
27
27
|
get firestore(): Firestore;
|
|
28
28
|
get firestoreInstance(): TestFirestoreInstance;
|
|
29
29
|
get firestoreContext(): TestFirestoreContext;
|
|
30
|
-
get
|
|
30
|
+
get fnWrapper(): import("./firebase.function").FirebaseAdminCloudFunctionWrapper;
|
|
31
31
|
}
|
|
32
32
|
export declare class FirebaseAdminFunctionTestContextInstance extends FirebaseAdminTestContextInstance implements FirebaseAdminFunctionTestContext {
|
|
33
33
|
readonly instance: FeaturesList;
|
|
34
|
+
private _fnWrapper;
|
|
34
35
|
constructor(instance: FeaturesList, app: admin.app.App);
|
|
35
|
-
get
|
|
36
|
+
get fnWrapper(): import("./firebase.function").FirebaseAdminCloudFunctionWrapper;
|
|
36
37
|
}
|
|
37
38
|
export declare let DEFAULT_FIREBASE_ADMIN_FUNCTION_TEST_USE_FUNCTION_SINGLETON_CONTEXT: boolean;
|
|
38
39
|
export declare function setDefaultFirebaseAdminFunctionTestUseFunctionSingleton(use: boolean): void;
|
|
@@ -7,6 +7,8 @@ const functions = require("firebase-functions-test");
|
|
|
7
7
|
const test_1 = require("@dereekb/util/test");
|
|
8
8
|
const firebase_1 = require("./firebase");
|
|
9
9
|
const firebase_admin_1 = require("./firebase.admin");
|
|
10
|
+
const util_1 = require("@dereekb/util");
|
|
11
|
+
const firebase_function_1 = require("./firebase.function");
|
|
10
12
|
// MARK: FirebaseAdminFunctionTestBuilder
|
|
11
13
|
let functionsInitialized = false;
|
|
12
14
|
/**
|
|
@@ -52,8 +54,8 @@ class FirebaseAdminFunctionTestContextFixture extends test_1.AbstractJestTestCon
|
|
|
52
54
|
get firestoreContext() {
|
|
53
55
|
return this.instance.firestoreContext;
|
|
54
56
|
}
|
|
55
|
-
get
|
|
56
|
-
return this.instance.
|
|
57
|
+
get fnWrapper() {
|
|
58
|
+
return this.instance.fnWrapper;
|
|
57
59
|
}
|
|
58
60
|
}
|
|
59
61
|
exports.FirebaseAdminFunctionTestContextFixture = FirebaseAdminFunctionTestContextFixture;
|
|
@@ -61,9 +63,10 @@ class FirebaseAdminFunctionTestContextInstance extends firebase_admin_1.Firebase
|
|
|
61
63
|
constructor(instance, app) {
|
|
62
64
|
super(app);
|
|
63
65
|
this.instance = instance;
|
|
66
|
+
this._fnWrapper = (0, util_1.cachedGetter)(() => (0, firebase_function_1.firebaseAdminCloudFunctionWrapper)(this.instance));
|
|
64
67
|
}
|
|
65
|
-
get
|
|
66
|
-
return this.
|
|
68
|
+
get fnWrapper() {
|
|
69
|
+
return this._fnWrapper();
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
exports.FirebaseAdminFunctionTestContextInstance = FirebaseAdminFunctionTestContextInstance;
|
|
@@ -106,8 +109,7 @@ exports.firebaseAdminFunctionTestBuilder = (0, test_1.jestTestContextBuilder)({
|
|
|
106
109
|
yield instance.app.delete(); // will be called in cleanup
|
|
107
110
|
firebaseFunctionsTestInstance.cleanup();
|
|
108
111
|
}
|
|
109
|
-
catch (e) {
|
|
110
|
-
}
|
|
112
|
+
catch (e) { }
|
|
111
113
|
firebaseFunctionsTestInstance = undefined;
|
|
112
114
|
}
|
|
113
115
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.function.ts"],"names":[],"mappings":";;;;AAAA,wCAAwC;AACxC,qDAAqD;AAKrD,6CAA4I;AAC5I,yCAAiL;AACjL,
|
|
1
|
+
{"version":3,"file":"firebase.admin.function.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.firebaseAdminFirestoreContextWithFixture = exports.firebaseAdminFirestoreContextFixture = exports.firebaseAdminTestContextFactory = exports.firebaseAdminTestBuilder = exports.AbstractFirebaseAdminTestContextInstanceChild = exports.FirebaseAdminTestContextInstance = exports.FirebaseAdminTestContextFixture =
|
|
3
|
+
exports.firebaseAdminFirestoreContextWithFixture = exports.firebaseAdminFirestoreContextFixture = exports.firebaseAdminTestContextFactory = exports.firebaseAdminTestBuilder = exports.AbstractFirebaseAdminTestContextInstanceChild = exports.FirebaseAdminTestContextInstance = exports.FirebaseAdminTestContextFixture = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const admin = require("firebase-admin");
|
|
6
6
|
const test_1 = require("@dereekb/firebase/test");
|
|
@@ -9,10 +9,6 @@ const firebase_server_1 = require("@dereekb/firebase-server");
|
|
|
9
9
|
const firestore_1 = require("../firestore/firestore");
|
|
10
10
|
const firebase_1 = require("./firebase");
|
|
11
11
|
const util_1 = require("@dereekb/util");
|
|
12
|
-
function wrapCloudFunctionForTests(wrapper, getter) {
|
|
13
|
-
return () => wrapper.wrapCloudFunction(getter());
|
|
14
|
-
}
|
|
15
|
-
exports.wrapCloudFunctionForTests = wrapCloudFunctionForTests;
|
|
16
12
|
class FirebaseAdminTestContextFixture extends test_2.AbstractJestTestContextFixture {
|
|
17
13
|
// MARK: FirebaseAdminTestContext (Forwarded)
|
|
18
14
|
get app() {
|
|
@@ -30,8 +26,8 @@ class FirebaseAdminTestContextFixture extends test_2.AbstractJestTestContextFixt
|
|
|
30
26
|
get firestoreContext() {
|
|
31
27
|
return this.instance.firestoreContext;
|
|
32
28
|
}
|
|
33
|
-
get
|
|
34
|
-
return this.instance.
|
|
29
|
+
get fnWrapper() {
|
|
30
|
+
return this.instance.fnWrapper;
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
33
|
exports.FirebaseAdminTestContextFixture = FirebaseAdminTestContextFixture;
|
|
@@ -56,10 +52,8 @@ class FirebaseAdminTestContextInstance {
|
|
|
56
52
|
get firestoreContext() {
|
|
57
53
|
return this.firestoreInstance.context;
|
|
58
54
|
}
|
|
59
|
-
get
|
|
60
|
-
|
|
61
|
-
throw new Error('wrapCloudFunction is unsupported by this type.');
|
|
62
|
-
};
|
|
55
|
+
get fnWrapper() {
|
|
56
|
+
throw new Error('wrapCloudFunction is unsupported by this type.');
|
|
63
57
|
}
|
|
64
58
|
}
|
|
65
59
|
exports.FirebaseAdminTestContextInstance = FirebaseAdminTestContextInstance;
|
|
@@ -83,8 +77,8 @@ class AbstractFirebaseAdminTestContextInstanceChild {
|
|
|
83
77
|
get firestoreContext() {
|
|
84
78
|
return this.parent.firestoreContext;
|
|
85
79
|
}
|
|
86
|
-
get
|
|
87
|
-
return this.parent.
|
|
80
|
+
get fnWrapper() {
|
|
81
|
+
return this.parent.fnWrapper;
|
|
88
82
|
}
|
|
89
83
|
}
|
|
90
84
|
exports.AbstractFirebaseAdminTestContextInstanceChild = AbstractFirebaseAdminTestContextInstanceChild;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.ts"],"names":[],"mappings":";;;;AAAA,wCAAwC;AAGxC,iDAAgL;AAChL,6CAAsM;AACtM,8DAAuE;AACvE,sDAA0E;
|
|
1
|
+
{"version":3,"file":"firebase.admin.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { AbstractChildJestTestContextFixture, JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from
|
|
1
|
+
import { AbstractChildJestTestContextFixture, JestBuildTestsWithContextFunction, JestTestContextFactory, JestTestContextFixture } from '@dereekb/util/test';
|
|
2
2
|
import { AbstractFirebaseAdminTestContextInstanceChild, FirebaseAdminTestContextInstance } from './firebase.admin';
|
|
3
3
|
import { Abstract, INestApplicationContext, Provider, Type } from '@nestjs/common/interfaces';
|
|
4
|
-
import { NestAppPromiseGetter } from
|
|
4
|
+
import { NestAppPromiseGetter } from '@dereekb/firebase-server';
|
|
5
5
|
import { TestingModule } from '@nestjs/testing';
|
|
6
6
|
import { ArrayOrValue, ClassType, Getter } from '@dereekb/util';
|
|
7
7
|
export interface FirebaseAdminNestTestContext {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NestApplicationRunnableHttpFunctionFactory } from
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { NestApplicationRunnableHttpFunctionFactory } from '@dereekb/firebase-server';
|
|
2
|
+
import { FirebaseAdminFunctionNestTestContext } from './firebase.admin.nest.function';
|
|
3
|
+
import { WrappedCloudFunctionV1 } from './firebase.function';
|
|
4
4
|
export interface CloudFunctionTestConfig<I> {
|
|
5
5
|
f: FirebaseAdminFunctionNestTestContext;
|
|
6
6
|
fn: NestApplicationRunnableHttpFunctionFactory<I>;
|
|
@@ -11,7 +11,7 @@ export interface CloudFunctionTestConfig<I> {
|
|
|
11
11
|
* @param config
|
|
12
12
|
* @param buildTests
|
|
13
13
|
*/
|
|
14
|
-
export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>, buildTests: (fn:
|
|
14
|
+
export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
|
|
15
15
|
/**
|
|
16
16
|
* Convenience function that calls describe and cloudFunctionContext together.
|
|
17
17
|
*
|
|
@@ -19,4 +19,4 @@ export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>,
|
|
|
19
19
|
* @param config
|
|
20
20
|
* @param buildTests
|
|
21
21
|
*/
|
|
22
|
-
export declare function describeCloudFunctionTest<I>(label: string, config: CloudFunctionTestConfig<I>, buildTests: (fn:
|
|
22
|
+
export declare function describeCloudFunctionTest<I>(label: string, config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
|