@dereekb/firebase-server 3.0.0 → 5.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 +43 -0
- package/LICENSE +21 -0
- package/package.json +23 -9
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/auth/auth.nest.d.ts +2 -1
- package/src/lib/auth/auth.nest.js +6 -6
- package/src/lib/auth/auth.nest.js.map +1 -1
- package/src/lib/auth/auth.service.d.ts +9 -5
- package/src/lib/auth/auth.service.js +3 -3
- package/src/lib/auth/auth.service.js.map +1 -1
- package/src/lib/firebase/firebase.nest.d.ts +1 -1
- package/src/lib/firestore/driver.accessor.batch.d.ts +1 -1
- package/src/lib/firestore/driver.accessor.batch.js.map +1 -1
- package/src/lib/firestore/driver.accessor.default.js.map +1 -1
- package/src/lib/firestore/driver.accessor.js.map +1 -1
- package/src/lib/firestore/driver.accessor.transaction.d.ts +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 +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 +14 -9
- package/src/lib/nest/app.js.map +1 -1
- package/src/lib/nest/function/context.d.ts +2 -3
- 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/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/{nest.js → v1/event.js} +2 -35
- 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 +30 -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 +22 -0
- package/test/README.md +11 -0
- package/test/package.json +38 -0
- package/test/src/index.d.ts +1 -0
- package/test/src/index.js +5 -0
- package/test/src/index.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.auth.d.ts +2 -1
- package/{src/test → test/src/lib}/firebase/firebase.admin.auth.js +4 -3
- package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.collection.d.ts +2 -1
- package/{src/test → test/src/lib}/firebase/firebase.admin.collection.js +3 -3
- package/test/src/lib/firebase/firebase.admin.collection.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.d.ts +9 -20
- package/{src/test → test/src/lib}/firebase/firebase.admin.function.d.ts +7 -6
- package/{src/test → test/src/lib}/firebase/firebase.admin.function.js +10 -7
- package/test/src/lib/firebase/firebase.admin.function.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.js +19 -24
- package/test/src/lib/firebase/firebase.admin.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.d.ts +3 -2
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.context.d.ts +4 -4
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.context.js +4 -2
- package/test/src/lib/firebase/firebase.admin.nest.function.context.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.d.ts +10 -10
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.function.js +8 -7
- package/test/src/lib/firebase/firebase.admin.nest.function.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.nest.js +6 -5
- package/test/src/lib/firebase/firebase.admin.nest.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.admin.test.server.d.ts +1 -1
- package/{src/test → test/src/lib}/firebase/firebase.admin.test.server.js +4 -4
- package/test/src/lib/firebase/firebase.admin.test.server.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/firebase.d.ts +0 -0
- 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/{src/test → test/src/lib}/firebase/firebase.js +0 -0
- package/test/src/lib/firebase/firebase.js.map +1 -0
- package/{src/test → test/src/lib}/firebase/index.d.ts +7 -6
- package/{src/test → test/src/lib}/firebase/index.js +7 -6
- package/test/src/lib/firebase/index.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/firestore.admin.d.ts +1 -1
- package/{src/test → test/src/lib}/firestore/firestore.admin.js +0 -0
- package/test/src/lib/firestore/firestore.admin.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/firestore.d.ts +2 -2
- package/{src/test → test/src/lib}/firestore/firestore.fixture.admin.d.ts +1 -1
- package/{src/test → test/src/lib}/firestore/firestore.fixture.admin.js +2 -2
- package/test/src/lib/firestore/firestore.fixture.admin.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/firestore.js +7 -6
- package/test/src/lib/firestore/firestore.js.map +1 -0
- package/{src/test → test/src/lib}/firestore/index.d.ts +0 -0
- package/{src/test → test/src/lib}/firestore/index.js +0 -0
- package/test/src/lib/firestore/index.js.map +1 -0
- package/{src/test → test/src/lib}/index.d.ts +0 -0
- package/{src/test → test/src/lib}/index.js +0 -0
- package/test/src/lib/index.js.map +1 -0
- package/src/lib/nest/function/nest.d.ts +0 -91
- package/src/lib/nest/function/nest.js.map +0 -1
- package/src/lib/nest/function/nest.utility.js.map +0 -1
- package/src/test/firebase/firebase.admin.auth.js.map +0 -1
- package/src/test/firebase/firebase.admin.collection.js.map +0 -1
- package/src/test/firebase/firebase.admin.function.js.map +0 -1
- package/src/test/firebase/firebase.admin.js.map +0 -1
- package/src/test/firebase/firebase.admin.nest.function.context.js.map +0 -1
- package/src/test/firebase/firebase.admin.nest.function.js.map +0 -1
- package/src/test/firebase/firebase.admin.nest.js.map +0 -1
- package/src/test/firebase/firebase.admin.test.server.js.map +0 -1
- package/src/test/firebase/firebase.js.map +0 -1
- package/src/test/firebase/index.js.map +0 -1
- package/src/test/firestore/firestore.admin.js.map +0 -1
- package/src/test/firestore/firestore.fixture.admin.js.map +0 -1
- package/src/test/firestore/firestore.js.map +0 -1
- package/src/test/firestore/index.js.map +0 -1
- package/src/test/index.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,49 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [5.0.0](https://github.com/dereekb/dbx-components/compare/v4.1.0-dev...v5.0.0) (2022-05-25)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Code Refactoring
|
|
9
|
+
|
|
10
|
+
* refactored @dereekb/firebase snapshot field ([c88d278](https://github.com/dereekb/dbx-components/commit/c88d2780d66f965a41ae299e013109f6860e9496))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* added @dereekb/nestjs/stripe ([455f20e](https://github.com/dereekb/dbx-components/commit/455f20e4e6402b3d517e7857fb93ec82eb25817b))
|
|
16
|
+
* added firebase functions v2 nest context components ([e5ca892](https://github.com/dereekb/dbx-components/commit/e5ca89250c7b7cf99f75d8edb0fc16a4618cbc21))
|
|
17
|
+
* codedError now includes original error if available ([1262281](https://github.com/dereekb/dbx-components/commit/1262281f08b75000f863b483744418378006b2d2))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### BREAKING CHANGES
|
|
21
|
+
|
|
22
|
+
* refactored @dereekb/firebase SnapshotConverterFunction and related components and @dereekb/util model conversion components to have better type safety and inference
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# [4.1.0](https://github.com/dereekb/dbx-components/compare/v4.0.1-dev...v4.1.0) (2022-05-17)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* fixed package.json exports for util, firebase, and firebase-server ([04c1d9a](https://github.com/dereekb/dbx-components/commit/04c1d9ab56dd2805aac154f7bf139ebca7dc4fb9))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Features
|
|
35
|
+
|
|
36
|
+
* setup project ([fe2ae88](https://github.com/dereekb/dbx-components/commit/fe2ae88592c4a02c0346e5e31c72e3d66fb08845))
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## [4.0.1](https://github.com/dereekb/dbx-components/compare/v4.0.0-dev...v4.0.1) (2022-05-14)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# [4.0.0](https://github.com/dereekb/dbx-components/compare/v3.0.0...v4.0.0) (2022-05-14)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
5
48
|
# [3.0.0](https://github.com/dereekb/dbx-components/compare/v2.1.0...v3.0.0) (2022-05-13)
|
|
6
49
|
|
|
7
50
|
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Hapier Creative LLC.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/package.json
CHANGED
|
@@ -1,34 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
|
+
"devDependencies": {
|
|
5
|
+
"firebase-functions-test": "2.0.2"
|
|
6
|
+
},
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"main": "./src/index.js",
|
|
10
|
+
"types": "./src/index.d.ts",
|
|
11
|
+
"default": "./src/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./test": {
|
|
14
|
+
"main": "./test/index.js",
|
|
15
|
+
"types": "./test/index.d.ts"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
4
18
|
"main": "./src/index.js",
|
|
5
19
|
"typings": "./src/index.d.ts",
|
|
6
20
|
"dependencies": {},
|
|
7
21
|
"peerDependencies": {
|
|
8
22
|
"firebase-admin": "^10.2.0",
|
|
9
23
|
"@nestjs/common": "^8.4.0",
|
|
10
|
-
"@dereekb/util": "
|
|
24
|
+
"@dereekb/util": "5.0.0",
|
|
11
25
|
"make-error": "^1.3.0",
|
|
12
26
|
"extra-set": "^2.2.11",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
27
|
+
"@dereekb/nestjs": "5.0.0",
|
|
28
|
+
"@nestjs/config": "^2.0.1",
|
|
29
|
+
"firebase-functions": "^3.21.2",
|
|
30
|
+
"@dereekb/firebase": "5.0.0",
|
|
16
31
|
"rxjs": "^7.0.0",
|
|
17
32
|
"rxfire": "^6.0.3",
|
|
18
33
|
"firebase": "^9.8.0",
|
|
19
|
-
"@dereekb/rxjs": "
|
|
34
|
+
"@dereekb/rxjs": "5.0.0",
|
|
20
35
|
"ms": "^3.0.0-canary.1",
|
|
21
|
-
"@dereekb/date": "
|
|
36
|
+
"@dereekb/date": "5.0.0",
|
|
22
37
|
"class-transformer": "^0.5.1",
|
|
23
38
|
"date-fns": "^2.28.0",
|
|
24
39
|
"class-validator": "^0.13.2",
|
|
25
40
|
"date-fns-tz": "^1.3.0",
|
|
26
41
|
"rrule": "git+https://git@github.com/dereekb/rrule.git#17adf5708d6567b4d01a3a8afd106261421ea492",
|
|
27
|
-
"@dereekb/model": "
|
|
42
|
+
"@dereekb/model": "5.0.0",
|
|
28
43
|
"@google-cloud/firestore": "^5.0.2",
|
|
29
44
|
"@nestjs/core": "^8.4.0",
|
|
30
45
|
"@nestjs/platform-express": "^8.4.0",
|
|
31
|
-
"jsonwebtoken": "^8.0.0",
|
|
32
46
|
"tslib": "^2.0.0"
|
|
33
47
|
}
|
|
34
48
|
}
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/firebase-server/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/firebase-server/src/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as admin from 'firebase-admin';
|
|
2
2
|
import { FactoryProvider, InjectionToken, ModuleMetadata, Provider } from "@nestjs/common";
|
|
3
3
|
import { FirebaseServerAuthService } from './auth.service';
|
|
4
|
+
import { AdditionalModuleMetadata } from '@dereekb/nestjs';
|
|
4
5
|
/**
|
|
5
6
|
* Token to access the Auth for the app.
|
|
6
7
|
*/
|
|
@@ -15,7 +16,7 @@ export declare type ProvideFirestoreServerAuthServiceSimple<T extends FirebaseSe
|
|
|
15
16
|
};
|
|
16
17
|
export declare type ProvideFirebaseServerAuthService<T extends FirebaseServerAuthService> = FactoryProvider<T> | ProvideFirestoreServerAuthServiceSimple<T>;
|
|
17
18
|
export declare function provideFirebaseServerAuthService<T extends FirebaseServerAuthService>(provider: ProvideFirebaseServerAuthService<T>): [ProvideFirebaseServerAuthService<T>, Provider<T>];
|
|
18
|
-
export interface FirebaseServerAuthModuleMetadataConfig<T extends FirebaseServerAuthService> extends
|
|
19
|
+
export interface FirebaseServerAuthModuleMetadataConfig<T extends FirebaseServerAuthService> extends AdditionalModuleMetadata {
|
|
19
20
|
readonly serviceProvider: ProvideFirebaseServerAuthService<T>;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const firebase_nest_1 = require("../firebase/firebase.nest");
|
|
7
7
|
const auth_service_1 = require("./auth.service");
|
|
8
|
+
const nestjs_1 = require("@dereekb/nestjs");
|
|
8
9
|
// MARK: Tokens
|
|
9
10
|
/**
|
|
10
11
|
* Token to access the Auth for the app.
|
|
@@ -45,12 +46,11 @@ exports.provideFirebaseServerAuthService = provideFirebaseServerAuthService;
|
|
|
45
46
|
* @returns
|
|
46
47
|
*/
|
|
47
48
|
function firebaseServerAuthModuleMetadata(config) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
};
|
|
49
|
+
return (0, nestjs_1.mergeModuleMetadata)({
|
|
50
|
+
imports: [FirebaseServerAuthModule],
|
|
51
|
+
exports: [FirebaseServerAuthModule, config.serviceProvider.provide],
|
|
52
|
+
providers: provideFirebaseServerAuthService(config.serviceProvider)
|
|
53
|
+
}, config);
|
|
54
54
|
}
|
|
55
55
|
exports.firebaseServerAuthModuleMetadata = firebaseServerAuthModuleMetadata;
|
|
56
56
|
//# sourceMappingURL=auth.nest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.nest.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.ts"],"names":[],"mappings":";;;;AACA,2CAAmG;AACnG,6DAA+D;AAC/D,iDAA2D;
|
|
1
|
+
{"version":3,"file":"auth.nest.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.ts"],"names":[],"mappings":";;;;AACA,2CAAmG;AACnG,6DAA+D;AAC/D,iDAA2D;AAC3D,4CAAgF;AAEhF,eAAe;AACf;;GAEG;AACU,QAAA,mBAAmB,GAAmB,qBAAqB,CAAC;AAEzE;;GAEG;AASH,IAAa,wBAAwB,GAArC,MAAa,wBAAwB;CAAI,CAAA;AAA5B,wBAAwB;IARpC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE,CAAC;gBACV,OAAO,EAAE,2BAAmB;gBAC5B,UAAU,EAAE,CAAC,GAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;gBAC9C,MAAM,EAAE,CAAC,kCAAkB,CAAC;aAC7B,CAAC;QACF,OAAO,EAAE,CAAC,2BAAmB,CAAC;KAC/B,CAAC;GACW,wBAAwB,CAAI;AAA5B,4DAAwB;AASrC,SAAgB,gCAAgC,CAAsC,QAA6C;;IACjI,OAAO;wCAEA,QAAQ,KACX,MAAM,EAAE,MAAC,QAA+B,CAAC,MAAM,mCAAI,CAAC,2BAAmB,CAAC;QAE1E;YACE,OAAO,EAAE,wCAAyB;YAClC,WAAW,EAAE,QAAQ,CAAC,OAAO;SAC9B;KACF,CAAC;AACJ,CAAC;AAXD,4EAWC;AAOD;;;;;;GAMG;AACH,SAAgB,gCAAgC,CAAsC,MAAiD;IACrI,OAAO,IAAA,4BAAmB,EAAC;QACzB,OAAO,EAAE,CAAC,wBAAwB,CAAC;QACnC,OAAO,EAAE,CAAC,wBAAwB,EAAE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;QACnE,SAAS,EAAE,gCAAgC,CAAC,MAAM,CAAC,eAAe,CAAC;KACpE,EAAE,MAAM,CAAC,CAAC;AACb,CAAC;AAND,4EAMC"}
|
|
@@ -30,6 +30,10 @@ export interface FirebaseServerAuthUserContext extends FirebaseServerAuthUserIde
|
|
|
30
30
|
* @param roles
|
|
31
31
|
*/
|
|
32
32
|
removeRoles(roles: ArrayOrValue<AuthRole>): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Loads the claims from the user.
|
|
35
|
+
*/
|
|
36
|
+
loadClaims<T = unknown>(): Promise<AuthClaims<T>>;
|
|
33
37
|
/**
|
|
34
38
|
* Updates the claims for a user by merging existing claims in with the input.
|
|
35
39
|
*
|
|
@@ -60,11 +64,11 @@ export declare abstract class AbstractFirebaseServerAuthUserContext<S extends Fi
|
|
|
60
64
|
loadRoles(): Promise<AuthRoleSet>;
|
|
61
65
|
addRoles(roles: ArrayOrValue<AuthRole>): Promise<void>;
|
|
62
66
|
removeRoles(roles: ArrayOrValue<AuthRole>): Promise<void>;
|
|
63
|
-
protected _claimsForRolesChange(roles: ArrayOrValue<AuthRole>):
|
|
64
|
-
loadClaims(): Promise<AuthClaims
|
|
67
|
+
protected _claimsForRolesChange(roles: ArrayOrValue<AuthRole>): object;
|
|
68
|
+
loadClaims<T = unknown>(): Promise<AuthClaims<T>>;
|
|
65
69
|
updateClaims(claims: AuthClaimsUpdate): Promise<void>;
|
|
66
70
|
clearClaims(): Promise<void>;
|
|
67
|
-
setClaims(claims: AuthClaimsUpdate): Promise<void>;
|
|
71
|
+
setClaims(claims: AuthClaimsUpdate | null): Promise<void>;
|
|
68
72
|
}
|
|
69
73
|
export interface FirebaseServerAuthContext<U extends FirebaseServerAuthUserContext = FirebaseServerAuthUserContext> extends FirebaseServerAuthUserIdentifierContext {
|
|
70
74
|
/**
|
|
@@ -144,7 +148,7 @@ export declare abstract class FirebaseServerAuthService<U extends FirebaseServer
|
|
|
144
148
|
*
|
|
145
149
|
* @param roles
|
|
146
150
|
*/
|
|
147
|
-
abstract claimsForRoles(roles: AuthRoleSet):
|
|
151
|
+
abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
|
|
148
152
|
}
|
|
149
153
|
/**
|
|
150
154
|
* Abstract FirebaseServerAuthService implementation.
|
|
@@ -157,5 +161,5 @@ export declare abstract class AbstractFirebaseServerAuthService<U extends Fireba
|
|
|
157
161
|
abstract userContext(uid: FirebaseAuthUserId): U;
|
|
158
162
|
isAdmin(claims: AuthClaims): boolean;
|
|
159
163
|
abstract readRoles(claims: AuthClaims): AuthRoleSet;
|
|
160
|
-
abstract claimsForRoles(roles: AuthRoleSet):
|
|
164
|
+
abstract claimsForRoles(roles: AuthRoleSet): AuthClaimsUpdate;
|
|
161
165
|
}
|
|
@@ -21,14 +21,14 @@ class AbstractFirebaseServerAuthUserContext {
|
|
|
21
21
|
}
|
|
22
22
|
addRoles(roles) {
|
|
23
23
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
|
|
24
|
+
const claims = this._claimsForRolesChange(roles);
|
|
25
25
|
return this.updateClaims(claims);
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
removeRoles(roles) {
|
|
29
29
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
30
30
|
const baseClaims = this._claimsForRolesChange(roles);
|
|
31
|
-
|
|
31
|
+
const claims = {};
|
|
32
32
|
(0, util_1.forEachKeyValue)(baseClaims, {
|
|
33
33
|
forEach: ([key]) => {
|
|
34
34
|
claims[key] = null;
|
|
@@ -43,7 +43,7 @@ class AbstractFirebaseServerAuthUserContext {
|
|
|
43
43
|
return (0, util_1.filterNullAndUndefinedValues)(this.service.claimsForRoles((0, util_1.asSet)(roles)));
|
|
44
44
|
}
|
|
45
45
|
loadClaims() {
|
|
46
|
-
return this.loadRecord().then(x => { var _a; return (_a = x.customClaims) !== null && _a !== void 0 ? _a : {}; });
|
|
46
|
+
return this.loadRecord().then(x => { var _a; return ((_a = x.customClaims) !== null && _a !== void 0 ? _a : {}); });
|
|
47
47
|
}
|
|
48
48
|
updateClaims(claims) {
|
|
49
49
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -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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"}
|
|
@@ -4,4 +4,4 @@ import { FactoryProvider, InjectionToken } from "@nestjs/common";
|
|
|
4
4
|
* Nest Injection Token to access the
|
|
5
5
|
*/
|
|
6
6
|
export declare const FIREBASE_APP_TOKEN: InjectionToken;
|
|
7
|
-
export declare function firebaseServerAppTokenProvider(useFactory: () => admin.app.App): FactoryProvider<
|
|
7
|
+
export declare function firebaseServerAppTokenProvider(useFactory: () => admin.app.App): FactoryProvider<admin.app.App>;
|
|
@@ -25,7 +25,7 @@ export declare function writeBatchAccessorFactory<T>(writeBatch: GoogleCloudWrit
|
|
|
25
25
|
export declare class WriteBatchFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
|
|
26
26
|
readonly batch: GoogleCloudWriteBatch;
|
|
27
27
|
readonly contextType = FirestoreDocumentContextType.BATCH;
|
|
28
|
-
readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T>;
|
|
28
|
+
readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T, import("@dereekb/firebase").DocumentData>;
|
|
29
29
|
constructor(batch: GoogleCloudWriteBatch);
|
|
30
30
|
}
|
|
31
31
|
export declare function writeBatchDocumentContext<T>(batch: GoogleCloudWriteBatch): WriteBatchFirestoreDocumentContext<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA0P;AAE1P,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAElD,YAAqB,KAA4B,EAAW,WAAiC;QAAxE,UAAK,GAAL,KAAK,CAAuB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAElG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,OAAO;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAsC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;QAChE,2JAA2J;QAC3J,6FAA6F;QAC7F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"driver.accessor.batch.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.batch.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA0P;AAE1P,iBAAiB;AACjB;;GAEG;AACH,MAAa,uCAAuC;IAElD,YAAqB,KAA4B,EAAW,WAAiC;QAAxE,UAAK,GAAL,KAAK,CAAuB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAElG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,OAAO;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAsC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;QAChE,2JAA2J;QAC3J,6FAA6F;QAC7F,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAoC,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAChG,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AAjCD,0FAiCC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAI,UAAiC;IAC5E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,uCAAuC,CAAC,UAAU,EAAE,GAAG,CAAC;KACzG,CAAC;AACJ,CAAC;AAJD,8DAIC;AAED,gBAAgB;AAChB,MAAa,kCAAkC;IAK7C,YAAqB,KAA4B;QAA5B,UAAK,GAAL,KAAK,CAAuB;QAHxC,gBAAW,GAAG,uCAA4B,CAAC,KAAK,CAAC;QACjD,oBAAe,GAAG,yBAAyB,CAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAEf,CAAC;CAEvD;AAPD,gFAOC;AAED,SAAgB,yBAAyB,CAAI,KAA4B;IACvE,OAAO,IAAI,kCAAkC,CAAI,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,8DAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"driver.accessor.default.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.default.ts"],"names":[],"mappings":";;;AAEA,gDAA4R;AAE5R,iBAAiB;AACjB,MAAa,oCAAoC;IAE/C,YAAqB,WAAiC;QAAjC,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAE3D,MAAM;QACJ,OAAO,IAAA,+BAAoB,EAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAqC;QAC1C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;IACvD,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAS,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAoC,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;IACnG,CAAC;CAEF;AA5BD,oFA4BC;AAED,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,oCAAoC,CAAC,GAAG,CAAC;KAC1F,CAAC;AACJ,CAAC;AAJD,0EAIC;AAED,gBAAgB;AAChB,SAAgB,+BAA+B;IAC7C,OAAO;QACL,WAAW,EAAE,uCAA4B,CAAC,IAAI;QAC9C,eAAe,EAAE,+BAA+B,EAAK;KACtD,CAAA;AACH,CAAC;AALD,0EAKC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AACA,wCAAsC;AAEtC,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAEF,CAAC;AACe,CAAC;AACO,CAAC;AAElG,SAAgB,oBAAoB,CAAI,KAAgC,EAAE,IAAY,EAAE,YAAuB;IAC7G,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,QAAQ,YAAY,GAAG,CAAC,CAAC;SACjH;QAED,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAA6B,CAAC;AACvC,CAAC;AAjBD,oDAiBC;AAED,SAAgB,aAAa,CAAI,KAAyB,EAAE,IAAa,EAAE,YAAuB;IAChG,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAwC,CAAC,GAAG,EAAE,CAAiC,CAAC;IAEvH,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;KAEJ;IAED,OAAO,GAA2B,CAAC;AACrC,CAAC;AAfD,sCAeC;AAED,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,CAAI,UAAkC,EAAE,IAAa,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,aAAa,CAAC,UAA4C,EAAE,IAAI,EAAE,YAAY,CAAyB;QACjM,UAAU,EAAE,CAAI,SAAoB,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,SAAkC,EAAE,IAAI,EAAE,YAAY,CAA2B;QACzL,aAAa,EAAE,CAAI,QAA2B,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,QAAyC,EAAE,IAAI,EAAE,YAAY,CAA2B;QAC1M,8BAA8B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAU,EAA0B,EAAE,EAAE,wDAAC,OAAA,MAAO,SAAkC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,GAAA;QACpJ,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,SAAkC,CAAC,KAAK,EAAE;QAC/F,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"driver.accessor.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.ts"],"names":[],"mappings":";;;;AACA,wCAAsC;AAEtC,mEAAoE;AACpE,uEAA4E;AAC5E,+EAA2E;AAEF,CAAC;AACe,CAAC;AACO,CAAC;AAElG,SAAgB,oBAAoB,CAAI,KAAgC,EAAE,IAAY,EAAE,YAAuB;IAC7G,IAAI,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjC,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,IAAG,CAAC,KAAK,CAAC,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,mEAAmE,IAAI,QAAQ,YAAY,GAAG,CAAC,CAAC;SACjH;QAED,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,GAAG,GAAI,GAA+B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,GAA6B,CAAC;AACvC,CAAC;AAjBD,oDAiBC;AAED,SAAgB,aAAa,CAAI,KAAyB,EAAE,IAAa,EAAE,YAAuB;IAChG,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,KAAwC,CAAC,GAAG,EAAE,CAAiC,CAAC;IAEvH,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;QACxB,MAAM,OAAO,GAAG,IAAA,YAAK,EAAC,YAAY,EAAE,CAAC,CAAuB,CAAC;QAE7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QAC7D,CAAC,CAAC,CAAC;KAEJ;IAED,OAAO,GAA2B,CAAC;AACrC,CAAC;AAfD,sCAeC;AAED,SAAgB,6BAA6B;IAC3C,OAAO;QACL,GAAG,EAAE,CAAI,UAAkC,EAAE,IAAa,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,aAAa,CAAC,UAA4C,EAAE,IAAI,EAAE,YAAY,CAAyB;QACjM,UAAU,EAAE,CAAI,SAAoB,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,SAAkC,EAAE,IAAI,EAAE,YAAY,CAA2B;QACzL,aAAa,EAAE,CAAI,QAA2B,EAAE,IAAY,EAAE,GAAG,YAAsB,EAAE,EAAE,CAAC,oBAAoB,CAAE,QAAyC,EAAE,IAAI,EAAE,YAAY,CAA2B;QAC1M,8BAA8B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAU,EAA0B,EAAE,EAAE,wDAAC,OAAA,MAAO,SAAkC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,GAAA;QACpJ,6BAA6B,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAE,SAAkC,CAAC,KAAK,EAAE;QAC/F,qBAAqB,EAAE,yDAA+B;QACtD,yBAAyB,EAAE,wDAAwE;QACnG,wBAAwB,EAAE,iDAAiF;KAC5G,CAAC;AACJ,CAAC;AAXD,sEAWC"}
|
|
@@ -25,7 +25,7 @@ export declare function transactionAccessorFactory<T>(transaction: GoogleCloudTr
|
|
|
25
25
|
export declare class TransactionFirestoreDocumentContext<T> implements FirestoreDocumentContext<T> {
|
|
26
26
|
readonly transaction: GoogleCloudTransaction;
|
|
27
27
|
readonly contextType = FirestoreDocumentContextType.TRANSACTION;
|
|
28
|
-
readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T>;
|
|
28
|
+
readonly accessorFactory: FirestoreDocumentDataAccessorFactory<T, import("@dereekb/firebase").DocumentData>;
|
|
29
29
|
constructor(transaction: GoogleCloudTransaction);
|
|
30
30
|
}
|
|
31
31
|
export declare function transactionDocumentContext<T>(transaction: GoogleCloudTransaction): TransactionFirestoreDocumentContext<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA2N;AAE3N,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IAEnD,YAAqB,WAAmC,EAAW,WAAiC;QAA/E,gBAAW,GAAX,WAAW,CAAwB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAEzG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"driver.accessor.transaction.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/firestore/driver.accessor.transaction.ts"],"names":[],"mappings":";;;AACA,+BAAwC;AACxC,gDAA2N;AAE3N,iBAAiB;AACjB;;GAEG;AACH,MAAa,wCAAwC;IAEnD,YAAqB,WAAmC,EAAW,WAAiC;QAA/E,gBAAW,GAAX,WAAW,CAAwB;QAAW,gBAAW,GAAX,WAAW,CAAsB;IAAI,CAAC;IAEzG,MAAM;QACJ,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,GAAG,CAAC,IAAuB,EAAE,OAAoB;QAC/C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAkB,EAAE,OAAqB,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,MAAsC;;QAChE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAkB,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;QAC1F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CAEF;AA/BD,4FA+BC;AAED;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO;QACL,WAAW,EAAE,CAAC,GAAyB,EAAE,EAAE,CAAC,IAAI,wCAAwC,CAAC,WAAW,EAAE,GAAG,CAAC;KAC3G,CAAC;AACJ,CAAC;AAJD,gEAIC;AAED,gBAAgB;AAChB,MAAa,mCAAmC;IAK9C,YAAqB,WAAmC;QAAnC,gBAAW,GAAX,WAAW,CAAwB;QAH/C,gBAAW,GAAG,uCAA4B,CAAC,WAAW,CAAC;QACvD,oBAAe,GAAG,0BAA0B,CAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAEf,CAAC;CAE9D;AAPD,kFAOC;AAED,SAAgB,0BAA0B,CAAI,WAAmC;IAC/E,OAAO,IAAI,mCAAmC,CAAI,WAAW,CAAC,CAAC;AACjE,CAAC;AAFD,gEAEC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { FirestoreDrivers } from '@dereekb/firebase';
|
|
2
|
-
export
|
|
3
|
-
}
|
|
2
|
+
export declare type GoogleCloudFirestoreDrivers = FirestoreDrivers;
|
|
4
3
|
export declare function googleCloudFirestoreDrivers(): GoogleCloudFirestoreDrivers;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Query as GoogleCloudQuery } from "@google-cloud/firestore";
|
|
2
2
|
import { FullFirestoreQueryConstraintHandlersMapping, FirestoreQueryConstraintFunctionsDriver, FirestoreQueryDriver } from "@dereekb/firebase";
|
|
3
|
-
export declare type FirestoreServerQueryBuilder<T =
|
|
3
|
+
export declare type FirestoreServerQueryBuilder<T = unknown> = GoogleCloudQuery<T>;
|
|
4
4
|
export declare const FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING: FullFirestoreQueryConstraintHandlersMapping<FirestoreServerQueryBuilder>;
|
|
5
5
|
export declare function firestoreClientQueryConstraintFunctionsDriver(): FirestoreQueryConstraintFunctionsDriver;
|
|
6
6
|
export declare function firestoreClientQueryDriver(): FirestoreQueryDriver;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PromiseOrValue } from '@dereekb/util';
|
|
2
|
+
import { Runnable, HttpsFunction } from 'firebase-functions/v1';
|
|
3
|
+
import { CallableFunction } from "firebase-functions/v2/https";
|
|
2
4
|
/**
|
|
3
|
-
* Union of firebase-functions HttpsFunction and Runnable
|
|
5
|
+
* Firebase Functions V1 - Union of firebase-functions HttpsFunction and Runnable.
|
|
4
6
|
*/
|
|
5
7
|
export declare type RunnableHttpFunction<I> = HttpsFunction & Runnable<I>;
|
|
8
|
+
/**
|
|
9
|
+
* Firebase Functions V2 - CallableFunction with output as an optional type.
|
|
10
|
+
*/
|
|
11
|
+
export declare type CallableHttpFunction<I, O = unknown> = CallableFunction<I, PromiseOrValue<O>>;
|
package/src/lib/nest/app.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ClassType, Getter } from '@dereekb/util';
|
|
2
|
-
import { INestApplicationContext, Provider } from '@nestjs/common';
|
|
2
|
+
import { INestApplicationContext, NestApplicationOptions, Provider } from '@nestjs/common';
|
|
3
3
|
import * as express from 'express';
|
|
4
4
|
import * as admin from 'firebase-admin';
|
|
5
5
|
export interface NestServer {
|
|
@@ -8,6 +8,10 @@ export interface NestServer {
|
|
|
8
8
|
}
|
|
9
9
|
export declare type NestAppPromiseGetter = Getter<Promise<INestApplicationContext>>;
|
|
10
10
|
export interface NestServerInstance<T> {
|
|
11
|
+
/**
|
|
12
|
+
* Root module class of the app.
|
|
13
|
+
*/
|
|
14
|
+
readonly moduleClass: ClassType<T>;
|
|
11
15
|
/**
|
|
12
16
|
* Initializes and returns the Nest Server.
|
|
13
17
|
*
|
|
@@ -31,6 +35,14 @@ export interface NestServerInstanceConfig<T> {
|
|
|
31
35
|
/**
|
|
32
36
|
* Additional providers to provide globally.
|
|
33
37
|
*/
|
|
34
|
-
providers?: Provider<
|
|
38
|
+
readonly providers?: Provider<unknown>[];
|
|
39
|
+
/**
|
|
40
|
+
* Whether or not to configure webhook usage. This will configure routes to use
|
|
41
|
+
*/
|
|
42
|
+
readonly configureWebhooks?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Additional nest application options.
|
|
45
|
+
*/
|
|
46
|
+
readonly applicationOptions?: NestApplicationOptions;
|
|
35
47
|
}
|
|
36
48
|
export declare function nestServerInstance<T>(config: NestServerInstanceConfig<T>): NestServerInstance<T>;
|
package/src/lib/nest/app.js
CHANGED
|
@@ -7,6 +7,7 @@ const core_1 = require("@nestjs/core");
|
|
|
7
7
|
const platform_express_1 = require("@nestjs/platform-express");
|
|
8
8
|
const express = require("express");
|
|
9
9
|
const firebase_nest_1 = require("../firebase/firebase.nest");
|
|
10
|
+
const webhook_1 = require("./middleware/webhook");
|
|
10
11
|
class FirebaseNestServerRootModule {
|
|
11
12
|
}
|
|
12
13
|
exports.FirebaseNestServerRootModule = FirebaseNestServerRootModule;
|
|
@@ -23,38 +24,41 @@ function nestServerInstance(config) {
|
|
|
23
24
|
if (additionalProviders) {
|
|
24
25
|
(0, util_1.mergeArrayOrValueIntoArray)(providers, additionalProviders);
|
|
25
26
|
}
|
|
27
|
+
const imports = [moduleClass];
|
|
28
|
+
// NOTE: https://cloud.google.com/functions/docs/writing/http#parsing_http_requests
|
|
29
|
+
const options = { bodyParser: false }; // firebase already parses the requests
|
|
30
|
+
if (config.configureWebhooks) {
|
|
31
|
+
imports.push(webhook_1.ConfigureFirebaseWebhookMiddlewareModule);
|
|
32
|
+
}
|
|
26
33
|
const providersModule = {
|
|
27
34
|
module: FirebaseNestServerRootModule,
|
|
28
|
-
imports
|
|
35
|
+
imports,
|
|
29
36
|
providers,
|
|
30
37
|
exports: providers,
|
|
31
38
|
global: true
|
|
32
39
|
};
|
|
33
|
-
const nestApp = yield core_1.NestFactory.create(providersModule, new platform_express_1.ExpressAdapter(expressInstance));
|
|
40
|
+
const nestApp = yield core_1.NestFactory.create(providersModule, new platform_express_1.ExpressAdapter(expressInstance), options);
|
|
34
41
|
return nestApp.init();
|
|
35
42
|
});
|
|
36
43
|
const nest = createNestServer(server)
|
|
37
|
-
.then(v => {
|
|
38
|
-
console.log('Nest Ready');
|
|
39
|
-
return v;
|
|
40
|
-
})
|
|
41
44
|
.catch(err => {
|
|
42
|
-
console.error('Nest
|
|
45
|
+
console.error('Nest failed startup.', err);
|
|
43
46
|
throw err;
|
|
44
47
|
});
|
|
45
48
|
nestServer = { server, nest: (0, util_1.makeGetter)(nest) };
|
|
46
49
|
serversCache.set(appName, nestServer);
|
|
47
50
|
}
|
|
51
|
+
;
|
|
48
52
|
return nestServer;
|
|
49
53
|
};
|
|
50
54
|
const removeNestServer = (firebaseApp) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
55
|
const appName = firebaseApp.name;
|
|
52
|
-
|
|
56
|
+
const nestServer = serversCache.get(appName);
|
|
53
57
|
let removed;
|
|
54
58
|
if (nestServer) {
|
|
55
59
|
removed = nestServer.nest().then(x => {
|
|
56
60
|
serversCache.delete(appName);
|
|
57
|
-
return x.close().then(
|
|
61
|
+
return x.close().then(() => true);
|
|
58
62
|
});
|
|
59
63
|
}
|
|
60
64
|
else {
|
|
@@ -63,6 +67,7 @@ function nestServerInstance(config) {
|
|
|
63
67
|
return removed;
|
|
64
68
|
});
|
|
65
69
|
return {
|
|
70
|
+
moduleClass,
|
|
66
71
|
initNestServer,
|
|
67
72
|
removeNestServer
|
|
68
73
|
};
|
package/src/lib/nest/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/app.ts"],"names":[],"mappings":";;;;AAAA,wCAAoG;AAEpG,uCAA2C;AAC3C,+DAA0D;AAC1D,mCAAmC;AACnC,6DAA2E;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/nest/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,9 @@ import { FirebaseServerActionsTransformContext } from "./transform";
|
|
|
3
3
|
/**
|
|
4
4
|
* Context used for building FirebaseServerActions. It contains references to reusable factories.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
7
|
-
}
|
|
6
|
+
export declare type FirebaseServerActionsContext = FirebaseServerActionsTransformContext;
|
|
8
7
|
export declare abstract class AbstractFirebaseServerActionsContext implements FirebaseServerActionsContext {
|
|
9
8
|
abstract readonly firebaseServerActionTransformFactory: TransformAndValidateObjectFactory;
|
|
10
|
-
abstract readonly firebaseServerActionTransformFunctionFactory: TransformAndValidateFunctionResultFactory<
|
|
9
|
+
abstract readonly firebaseServerActionTransformFunctionFactory: TransformAndValidateFunctionResultFactory<unknown>;
|
|
11
10
|
}
|
|
12
11
|
export declare function firebaseServerActionsContext(): FirebaseServerActionsContext;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./v1"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./v2"), exports);
|
|
4
6
|
tslib_1.__exportStar(require("./context"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./nest"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./nest.utility"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./transform"), exports);
|
|
8
8
|
//# 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,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,sDAA4B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as functions from 'firebase-functions';
|
|
2
|
+
import { INestApplicationContext } from '@nestjs/common';
|
|
3
|
+
import { RunnableHttpFunction } from '../../../function/type';
|
|
4
|
+
import { MakeNestContext, NestApplicationFunctionFactory } from '../../nest.provider';
|
|
5
|
+
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
|
+
/**
|
|
11
|
+
* Factory function for generating a NestApplicationFunctionFactory for a HttpsFunctions/Runnable firebase function.
|
|
12
|
+
*/
|
|
13
|
+
export declare type OnCallWithNestApplicationFactory = <I, O>(fn: OnCallWithNestApplication<I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a factory for generating OnCallWithNestApplication functions.
|
|
16
|
+
*
|
|
17
|
+
* @param nestAppPromiseGetter
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
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
|
+
/**
|
|
26
|
+
* Factory function for generating HttpsFunctions/Runnable firebase function that returns the value from the input OnCallWithNestContext function.
|
|
27
|
+
*/
|
|
28
|
+
export declare type OnCallWithNestContextFactory<C> = <I, O>(fn: OnCallWithNestContext<C, I, O>) => NestApplicationRunnableHttpFunctionFactory<I>;
|
|
29
|
+
/**
|
|
30
|
+
* Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
|
|
31
|
+
*
|
|
32
|
+
* @param appFactory
|
|
33
|
+
* @param makeNestContext
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
export declare function onCallWithNestContextFactory<C>(appFactory: OnCallWithNestApplicationFactory, makeNestContext: MakeNestContext<C>): OnCallWithNestContextFactory<C>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.onCallWithNestContextFactory = exports.onCallWithNestApplicationFactory = void 0;
|
|
4
|
+
const functions = require("firebase-functions");
|
|
5
|
+
/**
|
|
6
|
+
* Creates a factory for generating OnCallWithNestApplication functions.
|
|
7
|
+
*
|
|
8
|
+
* @param nestAppPromiseGetter
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
function onCallWithNestApplicationFactory() {
|
|
12
|
+
return (fn) => {
|
|
13
|
+
return (nestAppPromiseGetter) => functions.https.onCall((data, context) => nestAppPromiseGetter().then(x => fn(x, data, context)));
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
exports.onCallWithNestApplicationFactory = onCallWithNestApplicationFactory;
|
|
17
|
+
/**
|
|
18
|
+
* Creates a factory for generating OnCallWithNestContext functions with a nest context object that is generated by the input function.
|
|
19
|
+
*
|
|
20
|
+
* @param appFactory
|
|
21
|
+
* @param makeNestContext
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
function onCallWithNestContextFactory(appFactory, makeNestContext) {
|
|
25
|
+
return (fn) => appFactory((nest, data, context) => fn(makeNestContext(nest), data, context));
|
|
26
|
+
}
|
|
27
|
+
exports.onCallWithNestContextFactory = onCallWithNestContextFactory;
|
|
28
|
+
//# sourceMappingURL=call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase-server/src/lib/nest/function/v1/call.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAkBhD;;;;;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,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACvM,CAAC,CAAC;AACJ,CAAC;AAJD,4EAIC;AAYD;;;;;;GAMG;AACH,SAAgB,4BAA4B,CAAI,UAA4C,EAAE,eAAmC;IAC/H,OAAO,CAAO,EAAkC,EAAE,EAAE,CAAC,UAAU,CAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAC3I,CAAC;AAFD,oEAEC"}
|