@dereekb/firebase-server 6.0.0 → 7.1.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 +36 -0
- package/package.json +8 -7
- package/src/lib/firestore/driver.query.js +1 -0
- package/src/lib/firestore/driver.query.js.map +1 -1
- package/src/lib/function/context.d.ts +3 -3
- package/src/lib/function/context.js.map +1 -1
- package/src/lib/nest/function/call.d.ts +23 -0
- package/src/lib/nest/function/call.js +28 -0
- package/src/lib/nest/function/call.js.map +1 -0
- package/src/lib/nest/function/context.d.ts +9 -1
- package/src/lib/nest/function/context.js +25 -3
- package/src/lib/nest/function/context.js.map +1 -1
- package/src/lib/nest/function/index.d.ts +2 -1
- package/src/lib/nest/function/index.js +2 -1
- package/src/lib/nest/function/index.js.map +1 -1
- package/src/lib/nest/function/nest.d.ts +19 -0
- package/src/lib/nest/function/nest.js +12 -0
- package/src/lib/nest/function/nest.js.map +1 -0
- package/src/lib/nest/function/v1/call.d.ts +5 -11
- package/src/lib/nest/function/v1/call.js +9 -3
- package/src/lib/nest/function/v1/call.js.map +1 -1
- package/src/lib/nest/function/v1/event.d.ts +14 -9
- package/src/lib/nest/function/v1/event.js +3 -2
- package/src/lib/nest/function/v1/event.js.map +1 -1
- package/src/lib/nest/function/v1/index.d.ts +0 -1
- package/src/lib/nest/function/v1/index.js +0 -1
- package/src/lib/nest/function/v1/index.js.map +1 -1
- package/src/lib/nest/function/v2/blocking.d.ts +8 -6
- package/src/lib/nest/function/v2/blocking.js +1 -1
- package/src/lib/nest/function/v2/blocking.js.map +1 -1
- package/src/lib/nest/function/v2/call.d.ts +3 -12
- package/src/lib/nest/function/v2/call.js +3 -2
- package/src/lib/nest/function/v2/call.js.map +1 -1
- package/src/lib/nest/function/v2/event.d.ts +8 -6
- package/src/lib/nest/function/v2/event.js +1 -1
- package/src/lib/nest/function/v2/event.js.map +1 -1
- package/src/lib/nest/function/v2/taskqueue.d.ts +9 -7
- package/src/lib/nest/function/v2/taskqueue.js +1 -1
- package/src/lib/nest/function/v2/taskqueue.js.map +1 -1
- package/src/lib/nest/model/create.model.function.d.ts +16 -0
- package/src/lib/nest/model/create.model.function.js +37 -0
- package/src/lib/nest/model/create.model.function.js.map +1 -0
- package/src/lib/nest/model/delete.model.function.d.ts +7 -6
- package/src/lib/nest/model/delete.model.function.js +4 -3
- package/src/lib/nest/model/delete.model.function.js.map +1 -1
- package/src/lib/nest/model/index.d.ts +2 -0
- package/src/lib/nest/model/index.js +2 -0
- package/src/lib/nest/model/index.js.map +1 -1
- package/src/lib/nest/model/model.param.d.ts +7 -0
- package/src/lib/nest/model/model.param.js +18 -0
- package/src/lib/nest/model/model.param.js.map +1 -0
- package/src/lib/nest/model/update.model.function.d.ts +7 -6
- package/src/lib/nest/model/update.model.function.js +4 -3
- package/src/lib/nest/model/update.model.function.js.map +1 -1
- package/src/lib/nest/nest.provider.d.ts +18 -7
- package/src/lib/nest/nest.provider.js +20 -5
- package/src/lib/nest/nest.provider.js.map +1 -1
- package/test/CHANGELOG.md +32 -0
- package/test/package.json +11 -10
- package/test/src/lib/firebase/firebase.admin.collection.d.ts +5 -5
- package/test/src/lib/firebase/firebase.admin.function.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -1
- package/test/src/lib/firebase/firebase.function.d.ts +5 -2
- package/test/src/lib/firebase/firebase.function.js +4 -0
- package/test/src/lib/firebase/firebase.function.js.map +1 -1
- package/src/lib/nest/function/transform.d.ts +0 -10
- package/src/lib/nest/function/transform.js +0 -27
- package/src/lib/nest/function/transform.js.map +0 -1
- package/src/lib/nest/function/v1/call.utility.d.ts +0 -10
- package/src/lib/nest/function/v1/call.utility.js +0 -23
- package/src/lib/nest/function/v1/call.utility.js.map +0 -1
- package/src/lib/nest/model/model.api.d.ts +0 -0
- package/src/lib/nest/model/model.api.js +0 -2
- package/src/lib/nest/model/model.api.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [7.1.0](https://github.com/dereekb/dbx-components/compare/v7.0.1-dev...v7.1.0) (2022-06-06)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* added firestoreEncodedArray, firestoreUniqueArray ([4f7fc7c](https://github.com/dereekb/dbx-components/commit/4f7fc7ca274656ecdf13d69aa7d225f66a7f76da))
|
|
11
|
+
* added loadDocumentForId() to FirestoreDocumentAccessor ([3728145](https://github.com/dereekb/dbx-components/commit/372814540064ff4b40be032d57ddda12a8698d53))
|
|
12
|
+
* added whereDocumentId() ([7f5f5b8](https://github.com/dereekb/dbx-components/commit/7f5f5b8a56b2e0ad2e43308cfd87b4f8b8503c59))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## [7.0.1](https://github.com/dereekb/dbx-components/compare/v7.0.0-dev...v7.0.1) (2022-06-05)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# [7.0.0](https://github.com/dereekb/dbx-components/compare/v6.0.0-dev...v7.0.0) (2022-06-05)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Code Refactoring
|
|
24
|
+
|
|
25
|
+
* updated OnCallWithNestContextRequest to use single object ([2ef4002](https://github.com/dereekb/dbx-components/commit/2ef4002153d3e4b7efb012e31b2739378ac49789))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* added FirestoreDocumentStore crud functions ([7786a40](https://github.com/dereekb/dbx-components/commit/7786a40f6033c2a1d5161805cde283dca7323db5))
|
|
31
|
+
* added onCallCreateModel ([84f7e72](https://github.com/dereekb/dbx-components/commit/84f7e72af20c1d0071feec3e46bae406d7fd5a26))
|
|
32
|
+
* added useModel to AbstractFirebaseNestContext ([29c1940](https://github.com/dereekb/dbx-components/commit/29c19402bff78d743d28ef88093757844f8ee5f7))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### BREAKING CHANGES
|
|
36
|
+
|
|
37
|
+
* updated all onCall and functions to now use a single request object instead of multiple parameters
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
5
41
|
# [6.0.0](https://github.com/dereekb/dbx-components/compare/v5.3.0-dev...v6.0.0) (2022-06-03)
|
|
6
42
|
|
|
7
43
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.1.0",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"firebase-functions-test": "2.0.2"
|
|
6
6
|
},
|
|
@@ -19,26 +19,27 @@
|
|
|
19
19
|
"typings": "./src/index.d.ts",
|
|
20
20
|
"dependencies": {},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@dereekb/firebase": "
|
|
22
|
+
"@dereekb/firebase": "7.1.0",
|
|
23
23
|
"rxjs": "^7.0.0",
|
|
24
24
|
"rxfire": "^6.0.3",
|
|
25
25
|
"firebase": "^9.8.0",
|
|
26
|
-
"@dereekb/util": "
|
|
26
|
+
"@dereekb/util": "7.1.0",
|
|
27
27
|
"make-error": "^1.3.0",
|
|
28
|
+
"ts-essentials": "^9.1.2",
|
|
28
29
|
"extra-set": "^2.2.11",
|
|
29
|
-
"@dereekb/rxjs": "
|
|
30
|
+
"@dereekb/rxjs": "7.1.0",
|
|
30
31
|
"ms": "^3.0.0-canary.1",
|
|
31
|
-
"@dereekb/date": "
|
|
32
|
+
"@dereekb/date": "7.1.0",
|
|
32
33
|
"class-transformer": "^0.5.1",
|
|
33
34
|
"date-fns": "^2.28.0",
|
|
34
35
|
"class-validator": "^0.13.2",
|
|
35
36
|
"date-fns-tz": "^1.3.0",
|
|
36
37
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
37
|
-
"@dereekb/model": "
|
|
38
|
+
"@dereekb/model": "7.1.0",
|
|
38
39
|
"firebase-functions": "^3.21.2",
|
|
39
40
|
"firebase-admin": "^10.2.0",
|
|
40
41
|
"@nestjs/common": "^8.4.0",
|
|
41
|
-
"@dereekb/nestjs": "
|
|
42
|
+
"@dereekb/nestjs": "7.1.0",
|
|
42
43
|
"@nestjs/config": "^2.0.1",
|
|
43
44
|
"@google-cloud/firestore": "^5.0.2",
|
|
44
45
|
"@nestjs/core": "^8.4.0",
|
|
@@ -9,6 +9,7 @@ exports.FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING = {
|
|
|
9
9
|
[firebase_1.FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.orderBy(data.fieldPath, data.directionStr),
|
|
10
10
|
[firebase_1.FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.orderBy(firestore_1.FieldPath.documentId(), data.directionStr),
|
|
11
11
|
[firebase_1.FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.where(data.fieldPath, data.opStr, data.value),
|
|
12
|
+
[firebase_1.FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.where(firestore_1.FieldPath.documentId(), data.opStr, data.value),
|
|
12
13
|
[firebase_1.FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.offset(data.offset),
|
|
13
14
|
[firebase_1.FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.startAt(data.snapshot),
|
|
14
15
|
[firebase_1.FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE]: (builder, data) => builder.startAt(...data.fieldValues),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.query.ts"],"names":[],"mappings":";;;AAAA,uDAAwI;AACxI,
|
|
1
|
+
{"version":3,"file":"driver.query.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as functions from 'firebase-functions';
|
|
2
|
-
export declare type CallableContextWithAuthData =
|
|
3
|
-
export declare function isContextWithAuthData(context: functions.https.CallableContext): context is CallableContextWithAuthData
|
|
4
|
-
export declare function assertIsContextWithAuthData(context: functions.https.CallableContext): asserts context is CallableContextWithAuthData
|
|
2
|
+
export declare type CallableContextWithAuthData<R extends functions.https.CallableContext = functions.https.CallableContext> = Omit<R, 'auth'> & Required<Pick<R, 'auth'>>;
|
|
3
|
+
export declare function isContextWithAuthData<R extends functions.https.CallableContext>(context: functions.https.CallableContext): context is CallableContextWithAuthData<R>;
|
|
4
|
+
export declare function assertIsContextWithAuthData<R extends functions.https.CallableContext>(context: functions.https.CallableContext): asserts context is CallableContextWithAuthData<R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/context.ts"],"names":[],"mappings":";;;AACA,mCAA8D;AAI9D,SAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/context.ts"],"names":[],"mappings":";;;AACA,mCAA8D;AAI9D,SAAgB,qBAAqB,CAA4C,OAAwC;;IACvH,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,KAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,GAAG,CAAA,CAAC,CAAC;AAC7D,CAAC;AAFD,sDAEC;AAED,SAAgB,2BAA2B,CAA4C,OAAwC;IAC7H,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,IAAA,2CAAmC,GAAE,CAAC;KAC7C;AACH,CAAC;AAJD,kEAIC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PromiseOrValue } from '@dereekb/util';
|
|
2
|
+
import { CallableRequest } from 'firebase-functions/lib/common/providers/https';
|
|
3
|
+
import { NestApplicationContextRequest, NestContextCallableRequest, NestContextCallableRequestWithAuth } from './nest';
|
|
4
|
+
import { MakeNestContext } from '../nest.provider';
|
|
5
|
+
export declare type OnCallWithNestApplicationRequest<I> = NestApplicationContextRequest<CallableRequest<I>>;
|
|
6
|
+
/**
|
|
7
|
+
* Runnable function that is passed an INestApplicationContext in addition to the usual data/context provided by firebase.
|
|
8
|
+
*/
|
|
9
|
+
export declare type OnCallWithNestApplication<I = unknown, O = unknown> = (request: OnCallWithNestApplicationRequest<I>) => PromiseOrValue<O>;
|
|
10
|
+
export declare type OnCallWithNestContextRequest<N, I> = NestContextCallableRequest<N, I>;
|
|
11
|
+
/**
|
|
12
|
+
* Runnable function that is passed an arbitrary nest context object in addition to the usual data/context provided by firebase.
|
|
13
|
+
*/
|
|
14
|
+
export declare type OnCallWithNestContext<N, I = unknown, O = unknown> = (request: OnCallWithNestContextRequest<N, I>) => PromiseOrValue<O>;
|
|
15
|
+
export declare function setNestContextOnRequest<N, I>(makeNestContext: MakeNestContext<N>, request: OnCallWithNestApplicationRequest<I>): OnCallWithNestContextRequest<N, I>;
|
|
16
|
+
export declare type OnCallWithAuthorizedNestContext<N, I = unknown, O = unknown> = (request: NestContextCallableRequestWithAuth<N, I>) => PromiseOrValue<O>;
|
|
17
|
+
/**
|
|
18
|
+
* Creates an OnCallWithNestContext wrapper that validates the input CallableContext to assert the context has auth data before entering the function.
|
|
19
|
+
*
|
|
20
|
+
* @param fn
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
export declare function inAuthContext<N, I, O>(fn: OnCallWithAuthorizedNestContext<N, I, O>): OnCallWithNestContext<N, I, O>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inAuthContext = exports.setNestContextOnRequest = void 0;
|
|
4
|
+
const context_1 = require("../../function/context");
|
|
5
|
+
const error_1 = require("../../function/error");
|
|
6
|
+
function setNestContextOnRequest(makeNestContext, request) {
|
|
7
|
+
request.nest = makeNestContext(request.nestApplication);
|
|
8
|
+
return request;
|
|
9
|
+
}
|
|
10
|
+
exports.setNestContextOnRequest = setNestContextOnRequest;
|
|
11
|
+
/**
|
|
12
|
+
* Creates an OnCallWithNestContext wrapper that validates the input CallableContext to assert the context has auth data before entering the function.
|
|
13
|
+
*
|
|
14
|
+
* @param fn
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
function inAuthContext(fn) {
|
|
18
|
+
return (request) => {
|
|
19
|
+
if ((0, context_1.isContextWithAuthData)(request)) {
|
|
20
|
+
return fn(request);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
throw (0, error_1.unauthenticatedContextHasNoUidError)();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.inAuthContext = inAuthContext;
|
|
28
|
+
//# sourceMappingURL=call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/call.ts"],"names":[],"mappings":";;;AAGA,oDAA+D;AAC/D,gDAA2E;AAmB3E,SAAgB,uBAAuB,CAAO,eAAmC,EAAE,OAA4C;IAC5H,OAAuE,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzH,OAAO,OAAwD,CAAC;AAClE,CAAC;AAHD,0DAGC;AAKD;;;;;GAKG;AACH,SAAgB,aAAa,CAAU,EAA4C;IACjF,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,IAAI,IAAA,+BAAqB,EAAC,OAAO,CAAC,EAAE;YAClC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;SACpB;aAAM;YACL,MAAM,IAAA,2CAAmC,GAAE,CAAC;SAC7C;IACH,CAAC,CAAC;AACJ,CAAC;AARD,sCAQC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { TransformAndValidateFunctionResultFactory, TransformAndValidateObjectFactory } from '@dereekb/model';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Context used for transforming content.
|
|
4
|
+
*/
|
|
5
|
+
export interface FirebaseServerActionsTransformContext {
|
|
6
|
+
readonly firebaseServerActionTransformFactory: TransformAndValidateObjectFactory;
|
|
7
|
+
readonly firebaseServerActionTransformFunctionFactory: TransformAndValidateFunctionResultFactory;
|
|
8
|
+
}
|
|
9
|
+
export declare function firebaseServerActionsTransformContext(): FirebaseServerActionsTransformContext;
|
|
10
|
+
export declare function firebaseServerActionsTransformFactory(): TransformAndValidateObjectFactory;
|
|
3
11
|
/**
|
|
4
12
|
* Context used for building FirebaseServerActions. It contains references to reusable factories.
|
|
5
13
|
*/
|
|
@@ -1,12 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.firebaseServerActionsContext = exports.AbstractFirebaseServerActionsContext = void 0;
|
|
4
|
-
const
|
|
3
|
+
exports.firebaseServerActionsContext = exports.AbstractFirebaseServerActionsContext = exports.firebaseServerActionsTransformFactory = exports.firebaseServerActionsTransformContext = void 0;
|
|
4
|
+
const model_1 = require("@dereekb/model");
|
|
5
|
+
const common_1 = require("@nestjs/common");
|
|
6
|
+
const firebase_functions_1 = require("firebase-functions");
|
|
7
|
+
function firebaseServerActionsTransformContext() {
|
|
8
|
+
const firebaseServerActionTransformFactory = firebaseServerActionsTransformFactory();
|
|
9
|
+
const firebaseServerActionTransformFunctionFactory = (0, model_1.toTransformAndValidateFunctionResultFactory)(firebaseServerActionTransformFactory);
|
|
10
|
+
return {
|
|
11
|
+
firebaseServerActionTransformFactory,
|
|
12
|
+
firebaseServerActionTransformFunctionFactory
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
exports.firebaseServerActionsTransformContext = firebaseServerActionsTransformContext;
|
|
16
|
+
function firebaseServerActionsTransformFactory() {
|
|
17
|
+
const nestValidationExceptionFactory = new common_1.ValidationPipe().createExceptionFactory();
|
|
18
|
+
return (0, model_1.transformAndValidateObjectFactory)({
|
|
19
|
+
handleValidationError: (validationError) => {
|
|
20
|
+
const nestError = nestValidationExceptionFactory(validationError);
|
|
21
|
+
const details = nestError.getResponse();
|
|
22
|
+
throw new firebase_functions_1.https.HttpsError('invalid-argument', 'Parameters validation check failed.', details);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
exports.firebaseServerActionsTransformFactory = firebaseServerActionsTransformFactory;
|
|
5
27
|
class AbstractFirebaseServerActionsContext {
|
|
6
28
|
}
|
|
7
29
|
exports.AbstractFirebaseServerActionsContext = AbstractFirebaseServerActionsContext;
|
|
8
30
|
function firebaseServerActionsContext() {
|
|
9
|
-
return Object.assign({},
|
|
31
|
+
return Object.assign({}, firebaseServerActionsTransformContext());
|
|
10
32
|
}
|
|
11
33
|
exports.firebaseServerActionsContext = firebaseServerActionsContext;
|
|
12
34
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/context.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/context.ts"],"names":[],"mappings":";;;AACA,0CAA8L;AAC9L,2CAA+D;AAC/D,2DAA2C;AAW3C,SAAgB,qCAAqC;IACnD,MAAM,oCAAoC,GAAG,qCAAqC,EAAE,CAAC;IACrF,MAAM,4CAA4C,GAAG,IAAA,mDAA2C,EAAC,oCAAoC,CAAC,CAAC;IAEvI,OAAO;QACL,oCAAoC;QACpC,4CAA4C;KAC7C,CAAC;AACJ,CAAC;AARD,sFAQC;AAED,SAAgB,qCAAqC;IACnD,MAAM,8BAA8B,GAAG,IAAI,uBAAc,EAAE,CAAC,sBAAsB,EAAE,CAAC;IAErF,OAAO,IAAA,yCAAiC,EAAC;QACvC,qBAAqB,EAAE,CAAC,eAAkC,EAAE,EAAE;YAC5D,MAAM,SAAS,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;YAClE,MAAM,OAAO,GAAI,SAA2B,CAAC,WAAW,EAAE,CAAC;YAC3D,MAAM,IAAI,0BAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,qCAAqC,EAAE,OAAO,CAAC,CAAC;QACjG,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAVD,sFAUC;AAQD,MAAsB,oCAAoC;CAGzD;AAHD,oFAGC;AAED,SAAgB,4BAA4B;IAC1C,yBACK,qCAAqC,EAAE,EAC1C;AACJ,CAAC;AAJD,oEAIC"}
|
|
@@ -4,5 +4,6 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./v1"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./v2"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./context"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./
|
|
7
|
+
tslib_1.__exportStar(require("./call"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./nest"), exports);
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB;AACrB,+CAAqB;AACrB,oDAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqB;AACrB,+CAAqB;AACrB,oDAA0B;AAC1B,iDAAuB;AACvB,iDAAuB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { INestApplicationContext } from '@nestjs/common';
|
|
2
|
+
import { CallableRequest } from 'firebase-functions/lib/common/providers/https';
|
|
3
|
+
import { CallableContextWithAuthData } from '../../function/context';
|
|
4
|
+
export declare type NestApplicationContextRequest<R> = R & {
|
|
5
|
+
readonly nestApplication: INestApplicationContext;
|
|
6
|
+
};
|
|
7
|
+
export declare type NestRef<N> = {
|
|
8
|
+
readonly nest: N;
|
|
9
|
+
};
|
|
10
|
+
export declare type NestContextRequest<N, R> = R & {
|
|
11
|
+
readonly nest: N;
|
|
12
|
+
};
|
|
13
|
+
export declare function injectNestIntoRequest<N, R>(nest: N, request: R): NestContextRequest<N, R>;
|
|
14
|
+
export declare function injectNestApplicationContextIntoRequest<R>(nestContext: INestApplicationContext, request: R): NestApplicationContextRequest<R>;
|
|
15
|
+
export declare type NestContextCallableRequest<N, I> = NestContextRequest<N, CallableRequest<I>>;
|
|
16
|
+
/**
|
|
17
|
+
* NestContextCallableRequest that has valid auth attached to it.
|
|
18
|
+
*/
|
|
19
|
+
export declare type NestContextCallableRequestWithAuth<N, I> = CallableContextWithAuthData<NestContextCallableRequest<N, I>>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectNestApplicationContextIntoRequest = exports.injectNestIntoRequest = void 0;
|
|
4
|
+
function injectNestIntoRequest(nest, request) {
|
|
5
|
+
return Object.assign(Object.assign({}, request), { nest });
|
|
6
|
+
}
|
|
7
|
+
exports.injectNestIntoRequest = injectNestIntoRequest;
|
|
8
|
+
function injectNestApplicationContextIntoRequest(nestContext, request) {
|
|
9
|
+
return Object.assign(Object.assign({}, request), { nestApplication: nestContext });
|
|
10
|
+
}
|
|
11
|
+
exports.injectNestApplicationContextIntoRequest = injectNestApplicationContextIntoRequest;
|
|
12
|
+
//# sourceMappingURL=nest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/function/nest.ts"],"names":[],"mappings":";;;AAgBA,SAAgB,qBAAqB,CAAO,IAAO,EAAE,OAAU;IAC7D,uCACK,OAAO,KACV,IAAI,IACJ;AACJ,CAAC;AALD,sDAKC;AAED,SAAgB,uCAAuC,CAAI,WAAoC,EAAE,OAAU;IACzG,uCACK,OAAO,KACV,eAAe,EAAE,WAAW,IAC5B;AACJ,CAAC;AALD,0FAKC"}
|
|
@@ -2,15 +2,13 @@ import * as functions from 'firebase-functions';
|
|
|
2
2
|
import { INestApplicationContext } from '@nestjs/common';
|
|
3
3
|
import { RunnableHttpFunction } from '../../../function/type';
|
|
4
4
|
import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
|
|
5
|
+
import { OnCallWithNestApplication, OnCallWithNestApplicationRequest, OnCallWithNestContext } from '../call';
|
|
6
|
+
export declare function makeOnCallWithNestApplicationRequest<I>(nestApplication: INestApplicationContext, data: I, context: functions.https.CallableContext): OnCallWithNestApplicationRequest<I>;
|
|
5
7
|
export declare type NestApplicationRunnableHttpFunctionFactory<I> = NestApplicationFunctionFactory<RunnableHttpFunction<I>>;
|
|
6
|
-
/**
|
|
7
|
-
* Runnable function that is passed an INestApplicationContext in addition to the usual data/context provided by firebase.
|
|
8
|
-
*/
|
|
9
|
-
export declare type OnCallWithNestApplication<I = unknown, O = unknown> = (nest: INestApplicationContext, data: I, context: functions.https.CallableContext) => O;
|
|
10
8
|
/**
|
|
11
9
|
* Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
|
|
12
10
|
*/
|
|
13
|
-
export declare type OnCallWithNestApplicationFactory = <I, O>(fn: OnCallWithNestApplication<I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
|
|
11
|
+
export declare type OnCallWithNestApplicationFactory = <I = unknown, O = unknown>(fn: OnCallWithNestApplication<I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
|
|
14
12
|
/**
|
|
15
13
|
* Creates a factory for generating OnCallWithNestApplication functions.
|
|
16
14
|
*
|
|
@@ -18,14 +16,10 @@ export declare type OnCallWithNestApplicationFactory = <I, O>(fn: OnCallWithNest
|
|
|
18
16
|
* @returns
|
|
19
17
|
*/
|
|
20
18
|
export declare function onCallWithNestApplicationFactory(): OnCallWithNestApplicationFactory;
|
|
21
|
-
/**
|
|
22
|
-
* Runnable function that is passed an arbitrary nest context object in addition to the usual data/context provided by firebase.
|
|
23
|
-
*/
|
|
24
|
-
export declare type OnCallWithNestContext<C, I = unknown, O = unknown> = (nestContext: C, data: I, context: functions.https.CallableContext) => O;
|
|
25
19
|
/**
|
|
26
20
|
* Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
|
|
27
21
|
*/
|
|
28
|
-
export declare type OnCallWithNestContextFactory<
|
|
22
|
+
export declare type OnCallWithNestContextFactory<N> = <I = unknown, O = unknown>(fn: OnCallWithNestContext<N, I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
|
|
29
23
|
/**
|
|
30
24
|
* Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
|
|
31
25
|
*
|
|
@@ -33,4 +27,4 @@ export declare type OnCallWithNestContextFactory<C> = <I, O>(fn: OnCallWithNestC
|
|
|
33
27
|
* @param makeNestContext
|
|
34
28
|
* @returns
|
|
35
29
|
*/
|
|
36
|
-
export declare function onCallWithNestContextFactory<
|
|
30
|
+
export declare function onCallWithNestContextFactory<N>(appFactory: OnCallWithNestApplicationFactory, makeNestContext: MakeNestContext<N>): OnCallWithNestContextFactory<N>;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.onCallWithNestContextFactory = exports.onCallWithNestApplicationFactory = void 0;
|
|
3
|
+
exports.onCallWithNestContextFactory = exports.onCallWithNestApplicationFactory = exports.makeOnCallWithNestApplicationRequest = void 0;
|
|
4
4
|
const functions = require("firebase-functions");
|
|
5
|
+
const call_1 = require("../call");
|
|
6
|
+
function makeOnCallWithNestApplicationRequest(nestApplication, data, context) {
|
|
7
|
+
return Object.assign(Object.assign({}, context), { nestApplication,
|
|
8
|
+
data });
|
|
9
|
+
}
|
|
10
|
+
exports.makeOnCallWithNestApplicationRequest = makeOnCallWithNestApplicationRequest;
|
|
5
11
|
/**
|
|
6
12
|
* Creates a factory for generating OnCallWithNestApplication functions.
|
|
7
13
|
*
|
|
@@ -10,7 +16,7 @@ const functions = require("firebase-functions");
|
|
|
10
16
|
*/
|
|
11
17
|
function onCallWithNestApplicationFactory() {
|
|
12
18
|
return (fn) => {
|
|
13
|
-
return (nestAppPromiseGetter) => functions.https.onCall((data, context) => nestAppPromiseGetter().then((x) => fn(x, data, context)));
|
|
19
|
+
return (nestAppPromiseGetter) => functions.https.onCall((data, context) => nestAppPromiseGetter().then((x) => fn(makeOnCallWithNestApplicationRequest(x, data, context))));
|
|
14
20
|
};
|
|
15
21
|
}
|
|
16
22
|
exports.onCallWithNestApplicationFactory = onCallWithNestApplicationFactory;
|
|
@@ -22,7 +28,7 @@ exports.onCallWithNestApplicationFactory = onCallWithNestApplicationFactory;
|
|
|
22
28
|
* @returns
|
|
23
29
|
*/
|
|
24
30
|
function onCallWithNestContextFactory(appFactory, makeNestContext) {
|
|
25
|
-
return (fn) => appFactory((
|
|
31
|
+
return (fn) => appFactory((request) => fn((0, call_1.setNestContextOnRequest)(makeNestContext, request)));
|
|
26
32
|
}
|
|
27
33
|
exports.onCallWithNestContextFactory = onCallWithNestContextFactory;
|
|
28
34
|
//# sourceMappingURL=call.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/call.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/call.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAIhD,kCAAsI;AAEtI,SAAgB,oCAAoC,CAAI,eAAwC,EAAE,IAAO,EAAE,OAAwC;IACjJ,uCACK,OAAO,KACV,eAAe;QACf,IAAI,IACJ;AACJ,CAAC;AAND,oFAMC;AAUD;;;;;GAKG;AACH,SAAgB,gCAAgC;IAC9C,OAAO,CAAO,EAAmC,EAAE,EAAE;QACnD,OAAO,CAAC,oBAAkD,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAO,EAAE,OAAwC,EAAE,EAAE,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,oCAAoC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/O,CAAC,CAAC;AACJ,CAAC;AAJD,4EAIC;AAOD;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAI,UAA4C,EAAE,eAAmC;IAC/H,OAAO,CAAO,EAAkC,EAAE,EAAE,CAAC,UAAU,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAA,8BAAuB,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5I,CAAC;AAFD,oEAEC"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { PromiseOrValue } from '@dereekb/util';
|
|
2
|
-
import { INestApplicationContext } from '@nestjs/common';
|
|
3
2
|
import * as functions from 'firebase-functions';
|
|
4
3
|
import { EventContext } from 'firebase-functions';
|
|
5
4
|
import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
|
|
6
|
-
|
|
7
|
-
export declare type
|
|
8
|
-
|
|
5
|
+
import { NestApplicationContextRequest, NestContextRequest } from '../nest';
|
|
6
|
+
export declare type EventContextWithData<I> = EventContext & {
|
|
7
|
+
data: I;
|
|
8
|
+
};
|
|
9
|
+
export declare type FirebaseEventNestApplicationRequest<I> = NestApplicationContextRequest<EventContextWithData<I>>;
|
|
10
|
+
export declare type FirebaseEventNestContextRequest<N, I> = NestContextRequest<N, EventContextWithData<I>>;
|
|
11
|
+
export declare type FirebaseEventContextHandler<I = unknown, O = unknown> = (data: I, context: EventContext) => PromiseOrValue<O>;
|
|
12
|
+
export declare type NestApplicationEventHandler<I = unknown, O = unknown> = (event: FirebaseEventNestApplicationRequest<I>) => PromiseOrValue<O>;
|
|
13
|
+
export declare type NestApplicationEventHandlerBuilder<I = unknown, O = unknown> = (handler: NestApplicationEventHandler<I, O>) => FirebaseEventContextHandler<I, O>;
|
|
9
14
|
export declare type OnEventWithNestApplicationBuilder<I = unknown, O = unknown> = (nest: NestApplicationEventHandlerBuilder<I, O>) => functions.CloudFunction<I>;
|
|
10
15
|
/**
|
|
11
16
|
* Factory function for generating a CloudFunctionHandler via a NestApplicationCloudFunctionHandler.
|
|
@@ -18,16 +23,16 @@ export declare type OnEventWithNestApplicationFactory = <I, O>(fn: OnEventWithNe
|
|
|
18
23
|
* @returns
|
|
19
24
|
*/
|
|
20
25
|
export declare function onEventWithNestApplicationFactory(): OnEventWithNestApplicationFactory;
|
|
21
|
-
export declare type NestContextEventHandler<
|
|
22
|
-
export declare type NestContextEventHandlerBuilder<
|
|
26
|
+
export declare type NestContextEventHandler<N, I = unknown, O = unknown> = (request: FirebaseEventNestContextRequest<N, I>) => Promise<O>;
|
|
27
|
+
export declare type NestContextEventHandlerBuilder<N, I = unknown, O = unknown> = (handler: NestContextEventHandler<N, I, O>) => FirebaseEventContextHandler<I, O>;
|
|
23
28
|
/**
|
|
24
29
|
* Runnable function that is passed an arbitrary nest context object in addition to the usual data/context provided by firebase.
|
|
25
30
|
*/
|
|
26
|
-
export declare type OnEventWithNestContextBuilder<
|
|
31
|
+
export declare type OnEventWithNestContextBuilder<N, I = unknown, O = unknown> = (nest: NestContextEventHandlerBuilder<N, I, O>) => functions.CloudFunction<I>;
|
|
27
32
|
/**
|
|
28
33
|
* Factory function for generating a firebase CloudFunction for a specific event.
|
|
29
34
|
*/
|
|
30
|
-
export declare type OnEventWithNestContextFactory<
|
|
35
|
+
export declare type OnEventWithNestContextFactory<N> = <I, O = unknown>(fn: OnEventWithNestContextBuilder<N, I, O>) => NestApplicationFunctionFactory<functions.CloudFunction<I>>;
|
|
31
36
|
/**
|
|
32
37
|
* Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
|
|
33
38
|
*
|
|
@@ -35,4 +40,4 @@ export declare type OnEventWithNestContextFactory<C> = <I, O = unknown>(fn: OnEv
|
|
|
35
40
|
* @param makeNestContext
|
|
36
41
|
* @returns
|
|
37
42
|
*/
|
|
38
|
-
export declare function onEventWithNestContextFactory<
|
|
43
|
+
export declare function onEventWithNestContextFactory<N>(makeNestContext: MakeNestContext<N>): OnEventWithNestContextFactory<N>;
|
|
@@ -11,7 +11,8 @@ function onEventWithNestApplicationFactory() {
|
|
|
11
11
|
return (fn) => {
|
|
12
12
|
return (nestAppPromiseGetter) => {
|
|
13
13
|
const handlerBuilder = (handler) => {
|
|
14
|
-
const fnHandler = (data, context) => nestAppPromiseGetter().then((
|
|
14
|
+
const fnHandler = (data, context) => nestAppPromiseGetter().then((nestApplication) => handler(Object.assign(Object.assign({}, context), { data,
|
|
15
|
+
nestApplication })));
|
|
15
16
|
return fnHandler;
|
|
16
17
|
};
|
|
17
18
|
return fn(handlerBuilder);
|
|
@@ -30,7 +31,7 @@ function onEventWithNestContextFactory(makeNestContext) {
|
|
|
30
31
|
return (fn) => {
|
|
31
32
|
return (nestAppPromiseGetter) => {
|
|
32
33
|
const handlerBuilder = (handler) => {
|
|
33
|
-
const fnHandler = (data, context) => nestAppPromiseGetter().then((
|
|
34
|
+
const fnHandler = (data, context) => nestAppPromiseGetter().then((nestApplication) => handler(Object.assign(Object.assign({}, context), { data, nest: makeNestContext(nestApplication) })));
|
|
34
35
|
return fnHandler;
|
|
35
36
|
};
|
|
36
37
|
return fn(handlerBuilder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/event.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/event.ts"],"names":[],"mappings":";;;AAwBA;;;;;GAKG;AACH,SAAgB,iCAAiC;IAC/C,OAAO,CAAO,EAA2C,EAAE,EAAE;QAC3D,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,cAAc,GAA6C,CAAC,OAAO,EAAE,EAAE;gBAC3E,MAAM,SAAS,GAAsC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrE,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAC9C,OAAO,iCACF,OAAO,KACV,IAAI;oBACJ,eAAe,IACf,CACH,CAAC;gBACJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAlBD,8EAkBC;AAeD;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAAI,eAAmC;IAClF,OAAO,CAAiB,EAA0C,EAAE,EAAE;QACpE,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,cAAc,GAA4C,CAAC,OAAO,EAAE,EAAE;gBAC1E,MAAM,SAAS,GAAsC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CACrE,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAC9C,OAAO,iCACF,OAAO,KACV,IAAI,EACJ,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,IACtC,CACH,CAAC;gBAEJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAnBD,sEAmBC"}
|
|
@@ -2,6 +2,5 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./call"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./call.utility"), exports);
|
|
6
5
|
tslib_1.__exportStar(require("./event"), exports);
|
|
7
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/index.ts"],"names":[],"mappings":";;;AAAA,iDAAuB;AACvB,kDAAwB"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { PromiseOrValue } from '@dereekb/util';
|
|
2
2
|
import { BlockingFunction } from 'firebase-functions';
|
|
3
3
|
import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
|
|
4
|
-
|
|
5
|
-
export declare type
|
|
6
|
-
export declare type
|
|
7
|
-
export declare type
|
|
4
|
+
import { NestContextRequest } from '../nest';
|
|
5
|
+
export declare type BlockingFunctionNestContextRequest<N, E extends object> = NestContextRequest<N, E>;
|
|
6
|
+
export declare type BlockingFunctionHandler<E extends object, O = unknown> = (event: E) => PromiseOrValue<O>;
|
|
7
|
+
export declare type NestContextBlockingFunctionHandler<N, E extends object, O = unknown> = (request: BlockingFunctionNestContextRequest<N, E>) => PromiseOrValue<O>;
|
|
8
|
+
export declare type NestContextBlockingFunctionHandlerBuilder<N, E extends object, O = unknown> = (handler: NestContextBlockingFunctionHandler<N, E, O>) => BlockingFunctionHandler<E, O>;
|
|
9
|
+
export declare type BlockingFunctionHandlerWithNestContextBuilder<N, E extends object, O = unknown> = (nest: NestContextBlockingFunctionHandlerBuilder<N, E, O>) => BlockingFunction;
|
|
8
10
|
/**
|
|
9
11
|
* Factory function for generating a firebase BlockingFunction for a specific event.
|
|
10
12
|
*/
|
|
11
|
-
export declare type BlockingFunctionHandlerWithNestContextFactory<
|
|
13
|
+
export declare type BlockingFunctionHandlerWithNestContextFactory<N> = <E extends object, O = unknown>(fn: BlockingFunctionHandlerWithNestContextBuilder<N, E, O>) => NestApplicationFunctionFactory<BlockingFunction>;
|
|
12
14
|
/**
|
|
13
15
|
* Creates a BlockingFunctionHandlerWithNestContextFactory.
|
|
14
16
|
*
|
|
@@ -16,4 +18,4 @@ export declare type BlockingFunctionHandlerWithNestContextFactory<C> = <E, O = u
|
|
|
16
18
|
* @param makeNestContext
|
|
17
19
|
* @returns
|
|
18
20
|
*/
|
|
19
|
-
export declare function blockingFunctionHandlerWithNestContextFactory<
|
|
21
|
+
export declare function blockingFunctionHandlerWithNestContextFactory<N>(makeNestContext: MakeNestContext<N>): BlockingFunctionHandlerWithNestContextFactory<N>;
|
|
@@ -12,7 +12,7 @@ function blockingFunctionHandlerWithNestContextFactory(makeNestContext) {
|
|
|
12
12
|
return (fn) => {
|
|
13
13
|
return (nestAppPromiseGetter) => {
|
|
14
14
|
const handlerBuilder = (handler) => {
|
|
15
|
-
const fnHandler = (event) => nestAppPromiseGetter().then((
|
|
15
|
+
const fnHandler = (event) => nestAppPromiseGetter().then((nestApplication) => handler(Object.assign(Object.assign({}, event), { nest: makeNestContext(nestApplication) })));
|
|
16
16
|
return fnHandler;
|
|
17
17
|
};
|
|
18
18
|
return fn(handlerBuilder);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocking.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/blocking.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"blocking.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/blocking.ts"],"names":[],"mappings":";;;AAoBA;;;;;;GAMG;AACH,SAAgB,6CAA6C,CAAI,eAAmC;IAClG,OAAO,CAAsB,EAA0D,EAAE,EAAE;QACzF,OAAO,CAAC,oBAAkD,EAAE,EAAE;YAC5D,MAAM,cAAc,GAAuD,CAAC,OAAoD,EAAE,EAAE;gBAClI,MAAM,SAAS,GAAkC,CAAC,KAAQ,EAAE,EAAE,CAC5D,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAC9C,OAAO,iCACF,KAAK,KACR,IAAI,EAAE,eAAe,CAAC,eAAe,CAAC,IACtC,CACH,CAAC;gBACJ,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC;YAEF,OAAO,EAAE,CAAC,cAAc,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAjBD,sGAiBC"}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { INestApplicationContext } from '@nestjs/common';
|
|
2
|
-
import { CallableRequest } from 'firebase-functions/v2/https';
|
|
3
1
|
import { CallableHttpFunction } from '../../../function/type';
|
|
4
2
|
import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
|
|
3
|
+
import { OnCallWithNestApplication, OnCallWithNestContext } from '../call';
|
|
5
4
|
export declare type NestApplicationCallableHttpFunctionFactory<I, O = unknown> = NestApplicationFunctionFactory<CallableHttpFunction<I, O>>;
|
|
6
|
-
/**
|
|
7
|
-
* Runnable function that is passed an INestApplicationContext in addition to the usual data/context provided by firebase.
|
|
8
|
-
*/
|
|
9
|
-
export declare type OnCallHandlerWithNestApplication<I = unknown, O = unknown> = (nest: INestApplicationContext, request: CallableRequest<I>) => O;
|
|
10
5
|
/**
|
|
11
6
|
* Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
|
|
12
7
|
*/
|
|
13
|
-
export declare type OnCallHandlerWithNestApplicationFactory = <I, O>(fn:
|
|
8
|
+
export declare type OnCallHandlerWithNestApplicationFactory = <I, O>(fn: OnCallWithNestApplication<I, O>) => NestApplicationCallableHttpFunctionFactory<I, O>;
|
|
14
9
|
/**
|
|
15
10
|
* Creates a factory for generating OnCallWithNestApplication functions.
|
|
16
11
|
*
|
|
@@ -18,14 +13,10 @@ export declare type OnCallHandlerWithNestApplicationFactory = <I, O>(fn: OnCallH
|
|
|
18
13
|
* @returns
|
|
19
14
|
*/
|
|
20
15
|
export declare function onCallHandlerWithNestApplicationFactory(): OnCallHandlerWithNestApplicationFactory;
|
|
21
|
-
/**
|
|
22
|
-
* Runnable function that is passed an arbitrary nest context object in addition to the usual data/context provided by firebase.
|
|
23
|
-
*/
|
|
24
|
-
export declare type OnCallHandlerWithNestContext<C, I = unknown, O = unknown> = (nestContext: C, request: CallableRequest<I>) => O;
|
|
25
16
|
/**
|
|
26
17
|
* Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
|
|
27
18
|
*/
|
|
28
|
-
export declare type OnCallHandlerWithNestContextFactory<C> = <I, O>(fn:
|
|
19
|
+
export declare type OnCallHandlerWithNestContextFactory<C> = <I, O>(fn: OnCallWithNestContext<C, I, O>) => NestApplicationCallableHttpFunctionFactory<I>;
|
|
29
20
|
/**
|
|
30
21
|
* Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
|
|
31
22
|
*
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.onCallHandlerWithNestContextFactory = exports.onCallHandlerWithNestApplicationFactory = void 0;
|
|
4
4
|
const v2_1 = require("firebase-functions/v2");
|
|
5
|
+
const call_1 = require("../call");
|
|
5
6
|
/**
|
|
6
7
|
* Creates a factory for generating OnCallWithNestApplication functions.
|
|
7
8
|
*
|
|
@@ -10,7 +11,7 @@ const v2_1 = require("firebase-functions/v2");
|
|
|
10
11
|
*/
|
|
11
12
|
function onCallHandlerWithNestApplicationFactory() {
|
|
12
13
|
return (fn) => {
|
|
13
|
-
return (nestAppPromiseGetter) => v2_1.https.onCall((request) => nestAppPromiseGetter().then((
|
|
14
|
+
return (nestAppPromiseGetter) => v2_1.https.onCall((request) => nestAppPromiseGetter().then((nestApplication) => fn(Object.assign(Object.assign({}, request), { nestApplication }))));
|
|
14
15
|
};
|
|
15
16
|
}
|
|
16
17
|
exports.onCallHandlerWithNestApplicationFactory = onCallHandlerWithNestApplicationFactory;
|
|
@@ -22,7 +23,7 @@ exports.onCallHandlerWithNestApplicationFactory = onCallHandlerWithNestApplicati
|
|
|
22
23
|
* @returns
|
|
23
24
|
*/
|
|
24
25
|
function onCallHandlerWithNestContextFactory(appFactory, makeNestContext) {
|
|
25
|
-
return (fn) => appFactory((
|
|
26
|
+
return (fn) => appFactory((request) => fn((0, call_1.setNestContextOnRequest)(makeNestContext, request)));
|
|
26
27
|
}
|
|
27
28
|
exports.onCallHandlerWithNestContextFactory = onCallHandlerWithNestContextFactory;
|
|
28
29
|
//# sourceMappingURL=call.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/call.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v2/call.ts"],"names":[],"mappings":";;;AACA,8CAA8C;AAG9C,kCAAoG;AAYpG;;;;;GAKG;AACH,SAAgB,uCAAuC;IACrD,OAAO,CAAO,EAAmC,EAAE,EAAE;QACnD,OAAO,CAAC,oBAAkD,EAAE,EAAE,CAC5D,UAAK,CAAC,MAAM,CAAC,CAAC,OAA2B,EAAE,EAAE,CAC3C,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CAC9C,EAAE,iCACG,OAAO,KACV,eAAe,IACf,CACH,CACF,CAAC;IACN,CAAC,CAAC;AACJ,CAAC;AAZD,0FAYC;AAMD;;;;;;GAMG;AACH,SAAgB,mCAAmC,CAAI,UAAmD,EAAE,eAAmC;IAC7I,OAAO,CAAO,EAAkC,EAAE,EAAE,CAAC,UAAU,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAA,8BAAuB,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5I,CAAC;AAFD,kFAEC"}
|