@dereekb/firebase-server 7.11.1 → 7.13.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 CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.13.0](https://github.com/dereekb/dbx-components/compare/v7.12.0-dev...v7.13.0) (2022-06-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * added describeCloudFunctionTest() to handle a map of functions ([5545149](https://github.com/dereekb/dbx-components/commit/55451495c305726d89973613d7d5b9a5be9871bc))
11
+
12
+
13
+
14
+ # [7.12.0](https://github.com/dereekb/dbx-components/compare/v7.11.2-dev...v7.12.0) (2022-06-14)
15
+
16
+
17
+ ### Features
18
+
19
+ * added isAdminOrTargetUserInRequestData() ([c597eb9](https://github.com/dereekb/dbx-components/commit/c597eb9ce968ae5e8d64f3bc2f6ba6520cb11681))
20
+ * updated firestoreModelKey() ([1459a15](https://github.com/dereekb/dbx-components/commit/1459a150b00cd657cc5a835652c17945ae85ca15))
21
+
22
+
23
+
24
+ ## [7.11.2](https://github.com/dereekb/dbx-components/compare/v7.11.1-dev...v7.11.2) (2022-06-13)
25
+
26
+
27
+
5
28
  ## [7.11.1](https://github.com/dereekb/dbx-components/compare/v7.11.0-dev...v7.11.1) (2022-06-13)
6
29
 
7
30
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server",
3
- "version": "7.11.1",
3
+ "version": "7.13.0",
4
4
  "devDependencies": {
5
5
  "firebase-functions-test": "2.0.2"
6
6
  },
@@ -20,27 +20,27 @@
20
20
  "typings": "./src/index.d.ts",
21
21
  "dependencies": {},
22
22
  "peerDependencies": {
23
- "@dereekb/firebase": "7.11.1",
23
+ "@dereekb/firebase": "7.13.0",
24
24
  "rxjs": "^7.0.0",
25
25
  "rxfire": "^6.0.3",
26
26
  "firebase": "^9.8.0",
27
- "@dereekb/util": "7.11.1",
27
+ "@dereekb/util": "7.13.0",
28
28
  "make-error": "^1.3.0",
29
29
  "ts-essentials": "^9.1.2",
30
30
  "extra-set": "^2.2.11",
31
- "@dereekb/rxjs": "7.11.1",
31
+ "@dereekb/rxjs": "7.13.0",
32
32
  "ms": "^3.0.0-canary.1",
33
- "@dereekb/model": "7.11.1",
33
+ "@dereekb/model": "7.13.0",
34
34
  "class-transformer": "^0.5.1",
35
35
  "class-validator": "^0.13.2",
36
- "@dereekb/date": "7.11.1",
36
+ "@dereekb/date": "7.13.0",
37
37
  "date-fns": "^2.28.0",
38
38
  "date-fns-tz": "^1.3.0",
39
39
  "rrule": "2.7.0",
40
40
  "firebase-functions": "^3.21.2",
41
41
  "firebase-admin": "^10.3.0",
42
42
  "@nestjs/common": "^8.4.0",
43
- "@dereekb/nestjs": "7.11.1",
43
+ "@dereekb/nestjs": "7.13.0",
44
44
  "@nestjs/config": "^2.0.1",
45
45
  "@google-cloud/firestore": "^4.15.1",
46
46
  "@nestjs/core": "^8.4.0",
@@ -0,0 +1,7 @@
1
+ import { UserRelated } from '@dereekb/firebase';
2
+ import { NestContextCallableRequestWithAuth } from '../nest/function/nest';
3
+ import { AbstractFirebaseNestContext } from '../nest/nest.provider';
4
+ export declare function assertIsAdminInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): void;
5
+ export declare function isAdminInRequest<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I = unknown>(request: NestContextCallableRequestWithAuth<N, I>): boolean;
6
+ export declare function assertIsAdminOrTargetUserInRequestData<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I extends Partial<UserRelated> = Partial<UserRelated>>(request: NestContextCallableRequestWithAuth<N, I>, requireUid?: boolean): string;
7
+ export declare function isAdminOrTargetUserInRequestData<N extends AbstractFirebaseNestContext<any, any> = AbstractFirebaseNestContext<any, any>, I extends Partial<UserRelated> = Partial<UserRelated>>(request: NestContextCallableRequestWithAuth<N, I>, requireUid?: boolean): boolean;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAdminOrTargetUserInRequestData = exports.assertIsAdminOrTargetUserInRequestData = exports.isAdminInRequest = exports.assertIsAdminInRequest = void 0;
4
+ const function_1 = require("../function");
5
+ function assertIsAdminInRequest(request) {
6
+ if (!isAdminInRequest(request)) {
7
+ throw (0, function_1.forbiddenError)();
8
+ }
9
+ }
10
+ exports.assertIsAdminInRequest = assertIsAdminInRequest;
11
+ function isAdminInRequest(request) {
12
+ return request.nest.authService.context(request).isAdmin;
13
+ }
14
+ exports.isAdminInRequest = isAdminInRequest;
15
+ function assertIsAdminOrTargetUserInRequestData(request, requireUid) {
16
+ var _a;
17
+ if (!isAdminOrTargetUserInRequestData(request, requireUid)) {
18
+ throw (0, function_1.forbiddenError)();
19
+ }
20
+ return (_a = request.data.uid) !== null && _a !== void 0 ? _a : request.auth.uid;
21
+ }
22
+ exports.assertIsAdminOrTargetUserInRequestData = assertIsAdminOrTargetUserInRequestData;
23
+ function isAdminOrTargetUserInRequestData(request, requireUid = false) {
24
+ const uid = request.data.uid;
25
+ const authUid = request.auth.uid;
26
+ let isAdminOrTargetUser = true;
27
+ if ((requireUid && uid == null) || (uid != null && uid !== authUid)) {
28
+ isAdminOrTargetUser = request.nest.authService.context(request).isAdmin;
29
+ }
30
+ return isAdminOrTargetUser;
31
+ }
32
+ exports.isAdminOrTargetUserInRequestData = isAdminOrTargetUserInRequestData;
33
+ //# sourceMappingURL=auth.nest.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.nest.util.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/auth.nest.util.ts"],"names":[],"mappings":";;;AACA,0CAA6C;AAI7C,SAAgB,sBAAsB,CAAuG,OAAiD;IAC5L,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC9B,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;AACH,CAAC;AAJD,wDAIC;AAED,SAAgB,gBAAgB,CAAuG,OAAiD;IACtL,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AAC3D,CAAC;AAFD,4CAEC;AAED,SAAgB,sCAAsC,CAAiJ,OAAiD,EAAE,UAAoB;;IAC5Q,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;QAC1D,MAAM,IAAA,yBAAc,GAAE,CAAC;KACxB;IAED,OAAO,MAAA,OAAO,CAAC,IAAI,CAAC,GAAG,mCAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC;AAND,wFAMC;AAED,SAAgB,gCAAgC,CAAiJ,OAAiD,EAAE,UAAU,GAAG,KAAK;IACpQ,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;IAEjC,IAAI,mBAAmB,GAAG,IAAI,CAAC;IAE/B,IAAI,CAAC,UAAU,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE;QACnE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;KACzE;IAED,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAXD,4EAWC"}
@@ -1,3 +1,4 @@
1
1
  export * from './auth.service';
2
2
  export * from './auth.nest';
3
3
  export * from './auth.context';
4
+ export * from './auth.nest.util';
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./auth.service"), exports);
5
5
  tslib_1.__exportStar(require("./auth.nest"), exports);
6
6
  tslib_1.__exportStar(require("./auth.context"), exports);
7
+ tslib_1.__exportStar(require("./auth.nest.util"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/auth/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,sDAA4B;AAC5B,yDAA+B;AAC/B,2DAAiC"}
@@ -3,5 +3,5 @@ import * as functions from 'firebase-functions';
3
3
  export declare function unauthenticatedContextHasNoAuthData(): functions.auth.HttpsError;
4
4
  export declare function unauthenticatedContextHasNoUidError(): functions.auth.HttpsError;
5
5
  export declare function preconditionConflictError(message: string): functions.auth.HttpsError;
6
- export declare function forbiddenError(serverError: ServerError): functions.auth.HttpsError;
7
- export declare function badRequestError(serverError: ServerError): functions.auth.HttpsError;
6
+ export declare function forbiddenError(serverError?: ServerError): functions.auth.HttpsError;
7
+ export declare function badRequestError(serverError?: ServerError): functions.auth.HttpsError;
@@ -16,11 +16,11 @@ function preconditionConflictError(message) {
16
16
  exports.preconditionConflictError = preconditionConflictError;
17
17
  // MARK: General Errors
18
18
  function forbiddenError(serverError) {
19
- return new functions.https.HttpsError('unauthenticated', serverError.message || 'forbidden', serverError);
19
+ return new functions.https.HttpsError('unauthenticated', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'forbidden', serverError);
20
20
  }
21
21
  exports.forbiddenError = forbiddenError;
22
22
  function badRequestError(serverError) {
23
- return new functions.https.HttpsError('invalid-argument', serverError.message || 'bad request', serverError);
23
+ return new functions.https.HttpsError('invalid-argument', (serverError === null || serverError === void 0 ? void 0 : serverError.message) || 'bad request', serverError);
24
24
  }
25
25
  exports.badRequestError = badRequestError;
26
26
  //# sourceMappingURL=error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AACA,gDAAgD;AAEhD,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AACtF,CAAC;AAFD,kFAEC;AAED,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAFD,kFAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAFD,8DAEC;AAED,uBAAuB;AACvB,SAAgB,cAAc,CAAC,WAAwB;IACrD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,OAAO,IAAI,WAAW,EAAE,WAAW,CAAC,CAAC;AAC5G,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe,CAAC,WAAwB;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,WAAW,CAAC,OAAO,IAAI,aAAa,EAAE,WAAW,CAAC,CAAC;AAC/G,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/function/error.ts"],"names":[],"mappings":";;;AACA,gDAAgD;AAEhD,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,CAAC;AACtF,CAAC;AAFD,kFAEC;AAED,SAAgB,mCAAmC;IACjD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;AAC/E,CAAC;AAFD,kFAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAFD,8DAEC;AAED,uBAAuB;AACvB,SAAgB,cAAc,CAAC,WAAyB;IACtD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7G,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe,CAAC,WAAyB;IACvD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,KAAI,aAAa,EAAE,WAAW,CAAC,CAAC;AAChH,CAAC;AAFD,0CAEC"}
@@ -1,4 +1,3 @@
1
- export * from './model.param';
2
1
  export * from './permission.error';
3
2
  export * from './create.model.function';
4
3
  export * from './update.model.function';
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./model.param"), exports);
5
4
  tslib_1.__exportStar(require("./permission.error"), exports);
6
5
  tslib_1.__exportStar(require("./create.model.function"), exports);
7
6
  tslib_1.__exportStar(require("./update.model.function"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,6DAAmC;AACnC,kEAAwC;AACxC,kEAAwC;AACxC,kEAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC,kEAAwC;AACxC,kEAAwC"}
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,28 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [7.13.0](https://github.com/dereekb/dbx-components/compare/v7.12.0-dev...v7.13.0) (2022-06-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * added describeCloudFunctionTest() to handle a map of functions ([5545149](https://github.com/dereekb/dbx-components/commit/55451495c305726d89973613d7d5b9a5be9871bc))
11
+
12
+
13
+
14
+ # [7.12.0](https://github.com/dereekb/dbx-components/compare/v7.11.2-dev...v7.12.0) (2022-06-14)
15
+
16
+
17
+ ### Features
18
+
19
+ * added isAdminOrTargetUserInRequestData() ([c597eb9](https://github.com/dereekb/dbx-components/commit/c597eb9ce968ae5e8d64f3bc2f6ba6520cb11681))
20
+
21
+
22
+
23
+ ## [7.11.2](https://github.com/dereekb/dbx-components/compare/v7.11.1-dev...v7.11.2) (2022-06-13)
24
+
25
+
26
+
5
27
  ## [7.11.1](https://github.com/dereekb/dbx-components/compare/v7.11.0-dev...v7.11.1) (2022-06-13)
6
28
 
7
29
 
package/test/package.json CHANGED
@@ -1,36 +1,36 @@
1
1
  {
2
2
  "name": "@dereekb/firebase-server/test",
3
- "version": "7.11.1",
3
+ "version": "7.13.0",
4
4
  "main": "./src/index.js",
5
5
  "typings": "./src/index.d.ts",
6
6
  "dependencies": {},
7
7
  "peerDependencies": {
8
- "@dereekb/firebase": "7.11.1",
8
+ "@dereekb/firebase": "7.13.0",
9
9
  "rxjs": "^7.0.0",
10
10
  "rxfire": "^6.0.3",
11
11
  "firebase": "^9.8.0",
12
- "@dereekb/util": "7.11.1",
12
+ "@dereekb/util": "7.13.0",
13
13
  "make-error": "^1.3.0",
14
14
  "ts-essentials": "^9.1.2",
15
15
  "extra-set": "^2.2.11",
16
- "@dereekb/rxjs": "7.11.1",
16
+ "@dereekb/rxjs": "7.13.0",
17
17
  "ms": "^3.0.0-canary.1",
18
- "@dereekb/model": "7.11.1",
18
+ "@dereekb/model": "7.13.0",
19
19
  "class-transformer": "^0.5.1",
20
20
  "class-validator": "^0.13.2",
21
- "@dereekb/date": "7.11.1",
21
+ "@dereekb/date": "7.13.0",
22
22
  "date-fns": "^2.28.0",
23
23
  "date-fns-tz": "^1.3.0",
24
24
  "rrule": "2.7.0",
25
- "@dereekb/util/test": "7.11.1",
25
+ "@dereekb/util/test": "7.13.0",
26
26
  "firebase-admin": "^10.3.0",
27
27
  "jsonwebtoken": "^8.0.0",
28
28
  "firebase-functions": "^3.21.2",
29
29
  "@nestjs/common": "^8.4.0",
30
30
  "@google-cloud/firestore": "^4.15.1",
31
- "@dereekb/firebase/test": "7.11.1",
32
- "@dereekb/firebase-server": "7.11.1",
33
- "@dereekb/nestjs": "7.11.1",
31
+ "@dereekb/firebase/test": "7.13.0",
32
+ "@dereekb/firebase-server": "7.13.0",
33
+ "@dereekb/nestjs": "7.13.0",
34
34
  "@nestjs/config": "^2.0.1",
35
35
  "@nestjs/core": "^8.4.0",
36
36
  "@nestjs/platform-express": "^8.4.0",
@@ -88,6 +88,10 @@ export declare type AuthorizedUserTestContextFactoryConfig<PI extends FirebaseAd
88
88
  export interface AuthorizedUserTestContextFactoryParams<PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>> {
89
89
  f: PF;
90
90
  user?: CreateRequest;
91
+ /**
92
+ * Optional template details.
93
+ */
94
+ template?: AuthorizedUserTestContextDetailsTemplate;
91
95
  }
92
96
  /**
93
97
  * Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
@@ -72,7 +72,7 @@ function authorizedUserContextFactory(config) {
72
72
  buildTests,
73
73
  initInstance: () => tslib_1.__awaiter(this, void 0, void 0, function* () {
74
74
  const uid = (inputUser === null || inputUser === void 0 ? void 0 : inputUser.uid) || makeUid();
75
- const { details, claims } = makeUserDetails(uid, params);
75
+ const { details, claims } = Object.assign(Object.assign({}, makeUserDetails(uid, params)), params.template);
76
76
  const auth = f.instance.auth;
77
77
  const userRecord = yield auth.createUser(Object.assign(Object.assign({ uid, displayName: 'Test Person' }, details), inputUser));
78
78
  if (claims) {
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
@@ -30,11 +30,11 @@ export declare class ModelTestContextInstance<T, D extends FirestoreDocument<T>
30
30
  /**
31
31
  * authorizedUserContext/authorizedUserContextFactory parameters.
32
32
  */
33
- export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>> {
33
+ export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>, CL extends FirestoreCollection<T, D> = FirestoreCollection<T, D>> {
34
34
  /**
35
35
  * Creates a ModelTestContextInstanceDelegate from the parent instance.
36
36
  */
37
- getCollection: (parentInstance: PI, config: C) => FirestoreCollection<T, D>;
37
+ getCollection: (parentInstance: PI, config: C) => CL;
38
38
  /**
39
39
  * Creates the custom fixture. If not defined, a ModelTestContextFixture is created.
40
40
  */
@@ -42,11 +42,11 @@ export interface ModelTestContextFactoryParams<T, D extends FirestoreDocument<T>
42
42
  /**
43
43
  * Optional function to create a DocumentReference.
44
44
  */
45
- makeRef?: (collection: FirestoreCollection<T, D>, config: C, parentInstance: PI) => Promise<DocumentReference<T>>;
45
+ makeRef?: (collection: CL, config: C, parentInstance: PI) => Promise<DocumentReference<T>>;
46
46
  /**
47
47
  * Custom make instance function. If not defined, a ModelTestContextInstance will be generated.
48
48
  */
49
- makeInstance?: (collection: FirestoreCollection<T, D>, ref: DocumentReference<T>, testInstance: PI) => PromiseOrValue<I>;
49
+ makeInstance?: (collection: CL, ref: DocumentReference<T>, testInstance: PI) => PromiseOrValue<I>;
50
50
  /**
51
51
  * Optional function to initialize the document for this instance.
52
52
  */
@@ -58,4 +58,4 @@ export declare type ModelTestContextParams<C = any, PI extends FirebaseAdminTest
58
58
  /**
59
59
  * Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
60
60
  */
61
- export declare function modelTestContextFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>>(config: ModelTestContextFactoryParams<T, D, C, PI, PF, I, F>): (params: ModelTestContextParams<C, PI, PF>, buildTests: (u: F) => void) => void;
61
+ export declare function modelTestContextFactory<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C = any, PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>, I extends ModelTestContextInstance<T, D, PI> = ModelTestContextInstance<T, D, PI>, F extends ModelTestContextFixture<T, D, PI, PF, I> = ModelTestContextFixture<T, D, PI, PF, I>, CL extends FirestoreCollection<T, D> = FirestoreCollection<T, D>>(config: ModelTestContextFactoryParams<T, D, C, PI, PF, I, F, CL>): (params: ModelTestContextParams<C, PI, PF>, buildTests: (u: F) => void) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAaxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAlBD,4DAkBC;AAkCD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAA4D;IAE5D,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAAE,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhU,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxBD,0DAwBC"}
1
+ {"version":3,"file":"firebase.admin.collection.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.collection.ts"],"names":[],"mappings":";;;;AAEA,6CAAwH;AAaxH,MAAa,uBAAyS,SAAQ,0CAA0C;IACtW,qCAAqC;IACrC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF;AAjBD,0DAiBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,UAAqC,EAAW,GAAyB,EAAW,WAAe;QAAnG,eAAU,GAAV,UAAU,CAA2B;QAAW,QAAG,GAAH,GAAG,CAAsB;QAAW,gBAAW,GAAX,WAAW,CAAI;IAAG,CAAC;IAE5H,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAlBD,4DAkBC;AAkCD;;GAEG;AACH,SAAgB,uBAAuB,CACrC,MAAgE;IAEhE,MAAM,EAAE,aAAa,EAAE,OAAO,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,YAAY,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,CAAC,IAAI,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,CAAM,EAAE,WAAW,GAAG,CAAC,CAAK,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAEhU,OAAO,CAAC,MAAyC,EAAE,UAA0B,EAAE,EAAE;QAC/E,MAAM,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC;QACrB,OAAO,IAAA,4BAAqB,EAAO;YACjC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAM;YAC5B,UAAU;YACV,YAAY,EAAE,GAAS,EAAE;gBACvB,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,QAAQ,GAAM,MAAM,YAAY,CAAC,UAAU,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;gBAExE,IAAI,YAAY,EAAE;oBAChB,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;iBACtC;gBAED,OAAO,QAAQ,CAAC;YAClB,CAAC,CAAA;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAxBD,0DAwBC"}
@@ -1,17 +1,33 @@
1
1
  import { NestApplicationRunnableHttpFunctionFactory } from '@dereekb/firebase-server';
2
2
  import { FirebaseAdminFunctionNestTestContext } from './firebase.admin.nest.function';
3
3
  import { WrappedCloudFunctionV1 } from './firebase.function';
4
- export interface CloudFunctionTestConfig<I> {
4
+ export interface CloudFunctionTestBaseConfig {
5
5
  f: FirebaseAdminFunctionNestTestContext;
6
+ }
7
+ export interface CloudFunctionTestSingleConfig<I> extends CloudFunctionTestBaseConfig {
6
8
  fn: NestApplicationRunnableHttpFunctionFactory<I>;
7
9
  }
10
+ export declare type CloudFunctionTestSingleFunction<I> = (fn: WrappedCloudFunctionV1<I>) => void;
11
+ export declare type CloudFunctionTestConfigMapObject = {
12
+ [key: string]: NestApplicationRunnableHttpFunctionFactory<any>;
13
+ };
14
+ export interface CloudFunctionTestMultipleConfig<I, T extends CloudFunctionTestConfigMapObject> extends CloudFunctionTestBaseConfig {
15
+ fns: T;
16
+ }
17
+ export declare type CloudFunctionTestMultipleFixture<T extends CloudFunctionTestConfigMapObject> = {
18
+ [K in keyof T as K extends string ? `${K}CloudFn` : never]: T[K] extends NestApplicationRunnableHttpFunctionFactory<infer I> ? WrappedCloudFunctionV1<I> : never;
19
+ };
20
+ export declare type CloudFunctionTestMultipleFunction<T extends CloudFunctionTestConfigMapObject> = (fn: CloudFunctionTestMultipleFixture<T>) => void;
21
+ export declare function isCloudFunctionTestSingleConfig<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>): config is CloudFunctionTestSingleConfig<I>;
8
22
  /**
9
23
  * Used to provide a test builder that exposes a WrappedCloudFunction using the input configuration.
10
24
  *
11
25
  * @param config
12
26
  * @param buildTests
13
27
  */
14
- export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
28
+ export declare function cloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestMultipleFunction<T>): void;
29
+ export declare function cloudFunctionTest<I>(config: CloudFunctionTestSingleConfig<I>, buildTests: CloudFunctionTestSingleFunction<I>): void;
30
+ export declare function cloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestSingleFunction<I> | CloudFunctionTestMultipleFunction<T>): void;
15
31
  /**
16
32
  * Convenience function that calls describe and cloudFunctionContext together.
17
33
  *
@@ -19,4 +35,6 @@ export declare function cloudFunctionTest<I>(config: CloudFunctionTestConfig<I>,
19
35
  * @param config
20
36
  * @param buildTests
21
37
  */
22
- export declare function describeCloudFunctionTest<I>(label: string, config: CloudFunctionTestConfig<I>, buildTests: (fn: WrappedCloudFunctionV1<I>) => void): void;
38
+ export declare function describeCloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(label: string, config: CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestMultipleFunction<T>): void;
39
+ export declare function describeCloudFunctionTest<I>(clabel: string, onfig: CloudFunctionTestSingleConfig<I>, buildTests: CloudFunctionTestSingleFunction<I>): void;
40
+ export declare function describeCloudFunctionTest<I, T extends CloudFunctionTestConfigMapObject>(label: string, config: CloudFunctionTestSingleConfig<I> | CloudFunctionTestMultipleConfig<I, T>, buildTests: CloudFunctionTestSingleFunction<I> | CloudFunctionTestMultipleFunction<T>): void;
@@ -1,31 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.describeCloudFunctionTest = exports.cloudFunctionTest = void 0;
3
+ exports.describeCloudFunctionTest = exports.cloudFunctionTest = exports.isCloudFunctionTestSingleConfig = void 0;
4
4
  const test_1 = require("@dereekb/util/test");
5
5
  const firebase_admin_nest_function_1 = require("./firebase.admin.nest.function");
6
- /**
7
- * Used to provide a test builder that exposes a WrappedCloudFunction using the input configuration.
8
- *
9
- * @param config
10
- * @param buildTests
11
- */
6
+ const util_1 = require("@dereekb/util");
7
+ function isCloudFunctionTestSingleConfig(config) {
8
+ const isSingle = Boolean(config.fn);
9
+ return isSingle;
10
+ }
11
+ exports.isCloudFunctionTestSingleConfig = isCloudFunctionTestSingleConfig;
12
12
  function cloudFunctionTest(config, buildTests) {
13
- const { f, fn } = config;
14
- (0, test_1.useJestFunctionFixture)({
15
- fn: () => {
16
- const x = (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)();
17
- return x;
18
- }
19
- }, buildTests);
13
+ if (isCloudFunctionTestSingleConfig(config)) {
14
+ const { f, fn } = config;
15
+ (0, test_1.useJestFunctionFixture)({
16
+ fn: () => {
17
+ const x = (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)();
18
+ return x;
19
+ }
20
+ }, buildTests);
21
+ }
22
+ else {
23
+ const { f, fns: inputFns } = config;
24
+ const mappedFns = (0, util_1.mapObjectMap)(inputFns, (fn) => () => (0, firebase_admin_nest_function_1.wrapCloudFunctionForNestTestsGetter)(f, fn)());
25
+ const fns = {};
26
+ Object.keys(mappedFns).forEach((key) => {
27
+ fns[`${key}CloudFn`] = mappedFns[key];
28
+ });
29
+ (0, test_1.useJestFunctionMapFixture)({
30
+ fns
31
+ }, buildTests);
32
+ }
20
33
  }
21
34
  exports.cloudFunctionTest = cloudFunctionTest;
22
- /**
23
- * Convenience function that calls describe and cloudFunctionContext together.
24
- *
25
- * @param label
26
- * @param config
27
- * @param buildTests
28
- */
29
35
  function describeCloudFunctionTest(label, config, buildTests) {
30
36
  describe(label, () => {
31
37
  cloudFunctionTest(config, buildTests);
@@ -1 +1 @@
1
- {"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAA4D;AAE5D,iFAA2H;AAS3H;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAI,MAAkC,EAAE,UAAmD;IAC1H,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;IAEzB,IAAA,6BAAsB,EACpB;QACE,EAAE,EAAE,GAAG,EAAE;YACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,CAAC;QACX,CAAC;KACF,EACD,UAAU,CACX,CAAC;AACJ,CAAC;AAZD,8CAYC;AAED;;;;;;GAMG;AACH,SAAgB,yBAAyB,CAAI,KAAa,EAAE,MAAkC,EAAE,UAAmD;IACjJ,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
1
+ {"version":3,"file":"firebase.admin.nest.function.context.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.function.context.ts"],"names":[],"mappings":";;;AAAA,6CAAuF;AAEvF,iFAA2H;AAE3H,wCAA6C;AA2B7C,SAAgB,+BAA+B,CAAgD,MAAgF;IAC7K,MAAM,QAAQ,GAAG,OAAO,CAAE,MAA2C,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAHD,0EAGC;AAWD,SAAgB,iBAAiB,CAAgD,MAAgF,EAAE,UAAqF;IACtP,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC;QACzB,IAAA,6BAAsB,EACpB;YACE,EAAE,EAAE,GAAG,EAAE;gBACP,MAAM,CAAC,GAAG,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,CAAC;YACX,CAAC;SACF,EACD,UAAgD,CACjD,CAAC;KACH;SAAM;QACL,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,IAAA,mBAAY,EAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAA,kEAAmC,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,GAAG,GAAQ,EAAE,CAAC;QAEpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAA,gCAAyB,EACvB;YACE,GAAG;SACJ,EACD,UAAiB,CAClB,CAAC;KACH;AACH,CAAC;AA5BD,8CA4BC;AAYD,SAAgB,yBAAyB,CAAgD,KAAa,EAAE,MAAgF,EAAE,UAAqF;IAC7Q,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;QACnB,iBAAiB,CAAO,MAAM,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,8DAIC;AAED,WAAW;AACX,OAAO"}
@@ -1,7 +0,0 @@
1
- import { FirestoreModelKey, FirestoreModelKeyRef } from '@dereekb/firebase';
2
- /**
3
- * Simple annotated params that
4
- */
5
- export declare class TargetModelParams implements FirestoreModelKeyRef {
6
- key: FirestoreModelKey;
7
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TargetModelParams = void 0;
4
- const tslib_1 = require("tslib");
5
- const class_transformer_1 = require("class-transformer");
6
- const class_validator_1 = require("class-validator");
7
- /**
8
- * Simple annotated params that
9
- */
10
- class TargetModelParams {
11
- }
12
- tslib_1.__decorate([
13
- (0, class_transformer_1.Expose)(),
14
- (0, class_validator_1.IsString)(),
15
- tslib_1.__metadata("design:type", String)
16
- ], TargetModelParams.prototype, "key", void 0);
17
- exports.TargetModelParams = TargetModelParams;
18
- //# sourceMappingURL=model.param.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.param.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/model/model.param.ts"],"names":[],"mappings":";;;;AACA,yDAA2C;AAC3C,qDAA2C;AAE3C;;GAEG;AACH,MAAa,iBAAiB;CAI7B;AADC;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,0BAAQ,GAAE;;8CACa;AAH1B,8CAIC"}