@gennext/lb-infra 0.3.1 → 0.3.4

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.
Files changed (114) hide show
  1. package/README.md +414 -342
  2. package/dist/base/applications/default.application.d.ts.map +1 -1
  3. package/dist/base/applications/default.application.js +9 -0
  4. package/dist/base/applications/default.application.js.map +1 -1
  5. package/dist/base/controllers/common.d.ts +9 -0
  6. package/dist/base/controllers/common.d.ts.map +1 -1
  7. package/dist/base/controllers/common.js +20 -1
  8. package/dist/base/controllers/common.js.map +1 -1
  9. package/dist/base/controllers/crud.controller.d.ts +33 -22
  10. package/dist/base/controllers/crud.controller.d.ts.map +1 -1
  11. package/dist/base/controllers/crud.controller.js +20 -332
  12. package/dist/base/controllers/crud.controller.js.map +1 -1
  13. package/dist/base/controllers/crud.executor.d.ts +69 -0
  14. package/dist/base/controllers/crud.executor.d.ts.map +1 -0
  15. package/dist/base/controllers/crud.executor.js +140 -0
  16. package/dist/base/controllers/crud.executor.js.map +1 -0
  17. package/dist/base/controllers/crud.mixin.d.ts +77 -0
  18. package/dist/base/controllers/crud.mixin.d.ts.map +1 -0
  19. package/dist/base/controllers/crud.mixin.js +269 -0
  20. package/dist/base/controllers/crud.mixin.js.map +1 -0
  21. package/dist/base/controllers/index.d.ts +2 -0
  22. package/dist/base/controllers/index.d.ts.map +1 -1
  23. package/dist/base/controllers/index.js +2 -0
  24. package/dist/base/controllers/index.js.map +1 -1
  25. package/dist/base/controllers/kv.controller.js +2 -2
  26. package/dist/base/controllers/kv.controller.js.map +1 -1
  27. package/dist/base/controllers/relational.controller.d.ts.map +1 -1
  28. package/dist/base/controllers/relational.controller.js +67 -118
  29. package/dist/base/controllers/relational.controller.js.map +1 -1
  30. package/dist/base/controllers/service-crud.controller.d.ts +11 -10
  31. package/dist/base/controllers/service-crud.controller.d.ts.map +1 -1
  32. package/dist/base/controllers/service-crud.controller.js +24 -373
  33. package/dist/base/controllers/service-crud.controller.js.map +1 -1
  34. package/dist/base/repositories/base.repository.d.ts.map +1 -1
  35. package/dist/base/repositories/base.repository.js +2 -2
  36. package/dist/base/repositories/base.repository.js.map +1 -1
  37. package/dist/base/repositories/relations/has-many-polymorphic/factory.d.ts.map +1 -1
  38. package/dist/base/repositories/relations/has-many-polymorphic/factory.js +1 -5
  39. package/dist/base/repositories/relations/has-many-polymorphic/factory.js.map +1 -1
  40. package/dist/base/repositories/relations/has-many-through-polymorphic/factory.d.ts.map +1 -1
  41. package/dist/base/repositories/relations/has-many-through-polymorphic/factory.js +9 -10
  42. package/dist/base/repositories/relations/has-many-through-polymorphic/factory.js.map +1 -1
  43. package/dist/base/repositories/searchable-tz-crud.repository.d.ts.map +1 -1
  44. package/dist/base/repositories/searchable-tz-crud.repository.js +8 -9
  45. package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -1
  46. package/dist/base/repositories/tz-crud.repository.d.ts.map +1 -1
  47. package/dist/base/repositories/tz-crud.repository.js +3 -6
  48. package/dist/base/repositories/tz-crud.repository.js.map +1 -1
  49. package/dist/common/constants.d.ts +1 -0
  50. package/dist/common/constants.d.ts.map +1 -1
  51. package/dist/common/constants.js +1 -0
  52. package/dist/common/constants.js.map +1 -1
  53. package/dist/common/environments.d.ts +19 -0
  54. package/dist/common/environments.d.ts.map +1 -1
  55. package/dist/common/environments.js +104 -1
  56. package/dist/common/environments.js.map +1 -1
  57. package/dist/common/keys.d.ts +16 -0
  58. package/dist/common/keys.d.ts.map +1 -1
  59. package/dist/common/keys.js +23 -0
  60. package/dist/common/keys.js.map +1 -1
  61. package/dist/components/authenticate/component.js +1 -1
  62. package/dist/components/authenticate/component.js.map +1 -1
  63. package/dist/components/authenticate/controllers/auth.controller.d.ts +8 -0
  64. package/dist/components/authenticate/controllers/auth.controller.d.ts.map +1 -1
  65. package/dist/components/authenticate/controllers/auth.controller.js +9 -8
  66. package/dist/components/authenticate/controllers/auth.controller.js.map +1 -1
  67. package/dist/components/authenticate/controllers/oauth2.controller.d.ts +48 -16
  68. package/dist/components/authenticate/controllers/oauth2.controller.d.ts.map +1 -1
  69. package/dist/components/authenticate/controllers/oauth2.controller.js +4 -4
  70. package/dist/components/authenticate/controllers/oauth2.controller.js.map +1 -1
  71. package/dist/components/authenticate/oauth2-handlers/base.d.ts.map +1 -1
  72. package/dist/components/authenticate/oauth2-handlers/base.js +8 -12
  73. package/dist/components/authenticate/oauth2-handlers/base.js.map +1 -1
  74. package/dist/components/authenticate/oauth2-handlers/data/user-data-fetcher.d.ts.map +1 -1
  75. package/dist/components/authenticate/oauth2-handlers/data/user-data-fetcher.js +2 -1
  76. package/dist/components/authenticate/oauth2-handlers/data/user-data-fetcher.js.map +1 -1
  77. package/dist/components/authenticate/services/basic.strategy.d.ts.map +1 -1
  78. package/dist/components/authenticate/services/basic.strategy.js +4 -3
  79. package/dist/components/authenticate/services/basic.strategy.js.map +1 -1
  80. package/dist/components/authenticate/services/jwt.strategy.d.ts.map +1 -1
  81. package/dist/components/authenticate/services/jwt.strategy.js +4 -3
  82. package/dist/components/authenticate/services/jwt.strategy.js.map +1 -1
  83. package/dist/components/authenticate/services/oauth2-scope.service.d.ts.map +1 -1
  84. package/dist/components/authenticate/services/oauth2-scope.service.js +2 -1
  85. package/dist/components/authenticate/services/oauth2-scope.service.js.map +1 -1
  86. package/dist/components/authenticate/services/oauth2.service.js +1 -1
  87. package/dist/components/authenticate/services/oauth2.service.js.map +1 -1
  88. package/dist/components/crash-report/component.js +1 -1
  89. package/dist/components/crash-report/providers/provider.d.ts.map +1 -1
  90. package/dist/components/crash-report/providers/provider.js +5 -4
  91. package/dist/components/crash-report/providers/provider.js.map +1 -1
  92. package/dist/components/crash-report/services/{mt-crash-report.service.d.ts → gn-crash-report.service.d.ts} +2 -2
  93. package/dist/components/crash-report/services/{mt-crash-report.service.d.ts.map → gn-crash-report.service.d.ts.map} +1 -1
  94. package/dist/components/crash-report/services/{mt-crash-report.service.js → gn-crash-report.service.js} +6 -7
  95. package/dist/components/crash-report/services/gn-crash-report.service.js.map +1 -0
  96. package/dist/components/crash-report/services/index.d.ts +1 -1
  97. package/dist/components/crash-report/services/index.js +1 -1
  98. package/dist/components/grpc/helpers/grpc-server.d.ts.map +1 -1
  99. package/dist/components/grpc/helpers/grpc-server.js +4 -6
  100. package/dist/components/grpc/helpers/grpc-server.js.map +1 -1
  101. package/dist/datasources/postgres/datasource.js +1 -2
  102. package/dist/datasources/postgres/datasource.js.map +1 -1
  103. package/dist/helpers/testing/test-case.js +1 -2
  104. package/dist/helpers/testing/test-case.js.map +1 -1
  105. package/dist/interceptors/content-range.interceptor.d.ts.map +1 -1
  106. package/dist/interceptors/content-range.interceptor.js +6 -5
  107. package/dist/interceptors/content-range.interceptor.js.map +1 -1
  108. package/dist/migrations/handler.js +1 -1
  109. package/dist/migrations/handler.js.map +1 -1
  110. package/dist/utilities/parse.utility.d.ts.map +1 -1
  111. package/dist/utilities/parse.utility.js +1 -2
  112. package/dist/utilities/parse.utility.js.map +1 -1
  113. package/package.json +1 -1
  114. package/dist/components/crash-report/services/mt-crash-report.service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"default.application.d.ts","sourceRoot":"","sources":["../../../src/base/applications/default.application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAOtF,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAgB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,8BAAsB,sBAAuB,SAAQ,eAAe;IAClE,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;gBAE9B,IAAI,EAAE;QAAE,aAAa,EAAE,iBAAiB,CAAC;QAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;KAAE;IAI/F,mBAAmB;IAKnB,WAAW,IAAI,4BAA4B;IAkB3C,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;IAI5B,kBAAkB;IAKlB,YAAY,IAAI,IAAI;CAkCrB"}
1
+ {"version":3,"file":"default.application.d.ts","sourceRoot":"","sources":["../../../src/base/applications/default.application.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAE7B,MAAM,UAAU,CAAC;AAOlB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAgB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,8BAAsB,sBAAuB,SAAQ,eAAe;IAClE,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;gBAE9B,IAAI,EAAE;QAAE,aAAa,EAAE,iBAAiB,CAAC;QAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC,CAAA;KAAE;IAI/F,mBAAmB;IAKnB,WAAW,IAAI,4BAA4B;IA6B3C,aAAa,IAAI,GAAG,CAAC,MAAM,CAAC;IAI5B,kBAAkB;IAKlB,YAAY,IAAI,IAAI;CAkCrB"}
@@ -24,6 +24,14 @@ class DefaultRestApplication extends base_application_1.BaseApplication {
24
24
  return roleConf?.split(',')?.map((el) => el.trim());
25
25
  }
26
26
  validateEnv() {
27
+ const envsObj = {};
28
+ for (const key of helpers_1.applicationEnvironment.keys()) {
29
+ envsObj[key] = helpers_1.applicationEnvironment.get(key);
30
+ }
31
+ const schemaValidation = (0, common_1.validateEnvironment)(envsObj);
32
+ if (!schemaValidation.result) {
33
+ return schemaValidation;
34
+ }
27
35
  const rs = { result: true, message: '' };
28
36
  const envKeys = helpers_1.applicationEnvironment.keys();
29
37
  for (const argKey of envKeys) {
@@ -33,6 +41,7 @@ class DefaultRestApplication extends base_application_1.BaseApplication {
33
41
  }
34
42
  rs.result = false;
35
43
  rs.message = `Invalid Application Environment! Key: ${argKey} | Value: ${argValue}`;
44
+ return rs;
36
45
  }
37
46
  return rs;
38
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"default.application.js","sourceRoot":"","sources":["../../../src/base/applications/default.application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.application.js","sourceRoot":"","sources":["../../../src/base/applications/default.application.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Filter } from '@loopback/repository';
2
2
  import { IController } from '../../common';
3
+ import { IdType } from '../../common/types';
3
4
  import { ApplicationLogger } from '../../helpers';
4
5
  import { BaseEntity } from '../models';
5
6
  export declare const applyLimit: <E extends BaseEntity>(filter?: Filter<E>) => Filter<E>;
@@ -10,5 +11,13 @@ export declare class BaseController implements IController {
10
11
  scope?: string;
11
12
  defaultLimit?: number;
12
13
  });
14
+ _getContextUser(): Promise<{
15
+ userId: IdType;
16
+ roles: Array<{
17
+ id: IdType;
18
+ identifier: string;
19
+ priority: number;
20
+ }>;
21
+ } | null>;
13
22
  }
14
23
  //# sourceMappingURL=common.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAO,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAiB,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,UAAU,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC,cAOlE,CAAC;AAGF,qBAAa,cAAe,YAAW,WAAW;IAChD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAA2B;gBAEnC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;CAI5D"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAO,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAiB,MAAM,WAAW,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,UAAU,EAAE,SAAS,MAAM,CAAC,CAAC,CAAC,cAWlE,CAAC;AAGF,qBAAa,cAAe,YAAW,WAAW;IAChD,MAAM,EAAE,iBAAiB,CAAC;IAE1B,YAAY,EAAE,MAAM,CAA2B;gBAEnC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAKrD,eAAe,IAAI,OAAO,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpE,GAAG,IAAI,CAAC;CAeV"}
@@ -3,12 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseController = exports.applyLimit = void 0;
4
4
  const common_1 = require("../../common");
5
5
  const helpers_1 = require("../../helpers");
6
+ const utilities_1 = require("../../utilities");
6
7
  // --------------------------------------------------------------------------------------------------------------
7
8
  const applyLimit = (filter) => {
8
9
  const rs = {
9
10
  ...(filter ?? {}),
10
11
  };
11
- rs['limit'] = rs['limit'] ?? common_1.App.DEFAULT_QUERY_LIMIT;
12
+ if (rs['limit'] === undefined) {
13
+ rs['limit'] = common_1.App.DEFAULT_QUERY_LIMIT;
14
+ }
15
+ else if (rs['limit'] > common_1.App.MAX_QUERY_LIMIT) {
16
+ rs['limit'] = common_1.App.MAX_QUERY_LIMIT;
17
+ }
12
18
  return rs;
13
19
  };
14
20
  exports.applyLimit = applyLimit;
@@ -19,6 +25,19 @@ class BaseController {
19
25
  this.logger = helpers_1.LoggerFactory.getLogger([opts?.scope ?? BaseController.name]);
20
26
  this.defaultLimit = opts?.defaultLimit ?? common_1.App.DEFAULT_QUERY_LIMIT;
21
27
  }
28
+ async _getContextUser() {
29
+ const getCurrentUser = this.getCurrentUser;
30
+ if (!getCurrentUser) {
31
+ return null;
32
+ }
33
+ if (typeof getCurrentUser !== 'function') {
34
+ throw (0, utilities_1.getError)({
35
+ statusCode: 500,
36
+ message: `[${this.constructor.name}][_getContextUser] Invalid getCurrentUser type | Please check again the parameter in constructor!`,
37
+ });
38
+ }
39
+ return getCurrentUser();
40
+ }
22
41
  }
23
42
  exports.BaseController = BaseController;
24
43
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/base/controllers/common.ts"],"names":[],"mappings":";;;AAEA,qCAA4C;AAC5C,uCAA6D;AAG7D,iHAAiH;AAC1G,MAAM,UAAU,GAAG,CAAuB,MAAkB,EAAE,EAAE;IACrE,MAAM,EAAE,GAAc;QACpB,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;KAClB,CAAC;IAEF,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,YAAG,CAAC,mBAAmB,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAPW,QAAA,UAAU,cAOrB;AAEF,iHAAiH;AACjH,MAAa,cAAc;IAIzB,YAAY,IAA+C;QAF3D,iBAAY,GAAW,YAAG,CAAC,mBAAmB,CAAC;QAG7C,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,YAAG,CAAC,mBAAmB,CAAC;IACpE,CAAC;CACF;AARD,wCAQC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/base/controllers/common.ts"],"names":[],"mappings":";;;AAEA,qCAA4C;AAE5C,uCAA6D;AAC7D,2CAAuC;AAGvC,iHAAiH;AAC1G,MAAM,UAAU,GAAG,CAAuB,MAAkB,EAAE,EAAE;IACrE,MAAM,EAAE,GAAc;QACpB,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;KAClB,CAAC;IAEF,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9B,EAAE,CAAC,OAAO,CAAC,GAAG,YAAG,CAAC,mBAAmB,CAAC;IACxC,CAAC;SAAM,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,YAAG,CAAC,eAAe,EAAE,CAAC;QAC7C,EAAE,CAAC,OAAO,CAAC,GAAG,YAAG,CAAC,eAAe,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAXW,QAAA,UAAU,cAWrB;AAEF,iHAAiH;AACjH,MAAa,cAAc;IAKzB,YAAY,IAA+C;QAF3D,iBAAY,GAAW,YAAG,CAAC,mBAAmB,CAAC;QAG7C,IAAI,CAAC,MAAM,GAAG,uBAAa,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,YAAG,CAAC,mBAAmB,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,eAAe;QAInB,MAAM,cAAc,GAAI,IAAY,CAAC,cAAc,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;YACzC,MAAM,IAAA,oBAAQ,EAAC;gBACb,UAAU,EAAE,GAAG;gBACf,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,mGAAmG;aACtI,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;CACF;AA5BD,wCA4BC"}
@@ -1,8 +1,7 @@
1
1
  import { Getter } from '@loopback/core';
2
- import { Count, Filter, FilterExcludingWhere, Where } from '@loopback/repository';
3
2
  import { SchemaRef } from '@loopback/rest';
4
3
  import { CrudRestControllerOptions } from '@loopback/rest-crud';
5
- import { EntityRelationType, IdType } from '../../common/types';
4
+ import { EntityRelationType } from '../../common/types';
6
5
  import { IJWTTokenPayload } from '../../components/authenticate/common/types';
7
6
  import { BaseEntity } from '../models';
8
7
  import { DefaultCrudRepository } from '../repositories';
@@ -35,36 +34,48 @@ export interface ICrudControllerOptions<E extends BaseEntity> {
35
34
  export declare const defineCrudController: <E extends BaseEntity>(opts: ICrudControllerOptions<E>) => {
36
35
  new (repository: DefaultCrudRepository<E, EntityRelationType>): {
37
36
  repository: DefaultCrudRepository<E, EntityRelationType>;
37
+ executor: import("./crud.executor").CrudExecutor<E>;
38
+ find(filter?: import("@loopback/repository").Filter<E> | undefined): Promise<(E & EntityRelationType)[]>;
39
+ findById(id: import("../../common").IdType, filter?: import("@loopback/repository").FilterExcludingWhere<E> | undefined): Promise<E & EntityRelationType>;
40
+ findOne(filter?: import("@loopback/repository").Filter<E> | undefined): Promise<(E & EntityRelationType) | null>;
41
+ count(where?: import("@loopback/repository").Where<E> | undefined): Promise<import("@loopback/repository").Count>;
42
+ logger: import("../..").ApplicationLogger;
38
43
  defaultLimit: number;
39
- find(filter?: Filter<E>): Promise<(E & EntityRelationType)[]>;
40
- findById(id: IdType, filter?: FilterExcludingWhere<E>): Promise<E & EntityRelationType>;
41
- findOne(filter?: Filter<E>): Promise<(E & EntityRelationType) | null>;
42
- count(where?: Where<E>): Promise<Count>;
44
+ _getContextUser(): Promise<{
45
+ userId: import("../../common").IdType;
46
+ roles: Array<{
47
+ id: import("../../common").IdType;
48
+ identifier: string;
49
+ priority: number;
50
+ }>;
51
+ } | null>;
43
52
  };
44
53
  } | {
45
54
  new (repository: DefaultCrudRepository<E, EntityRelationType>, getCurrentUser?: Getter<IJWTTokenPayload>): {
46
55
  getCurrentUser?: Getter<IJWTTokenPayload>;
56
+ executor: import("./crud.executor").CrudExecutor<E>;
57
+ create(data: Omit<E, "id">): Promise<E>;
58
+ updateAll(data: Partial<E>, where?: import("@loopback/repository").Where<E> | undefined): Promise<import("@loopback/repository").Count>;
59
+ updateById(id: import("../../common").IdType, data: Partial<E>): Promise<E>;
60
+ replaceById(id: import("../../common").IdType, data: E): Promise<E>;
61
+ deleteById(id: import("../../common").IdType): Promise<{
62
+ id: import("../../common").IdType;
63
+ }>;
64
+ logger: import("../..").ApplicationLogger;
65
+ defaultLimit: number;
47
66
  _getContextUser(): Promise<{
48
- userId: IdType;
49
- roles: {
50
- id: IdType;
67
+ userId: import("../../common").IdType;
68
+ roles: Array<{
69
+ id: import("../../common").IdType;
51
70
  identifier: string;
52
71
  priority: number;
53
- }[];
72
+ }>;
54
73
  } | null>;
55
- create(data: Omit<E, "id">): Promise<E>;
56
- updateAll(data: Partial<E>, where?: Where<E>): Promise<Count>;
57
- updateById(id: IdType, data: Partial<E>): Promise<E>;
58
- replaceById(id: IdType, data: E): Promise<E>;
59
- deleteById(id: IdType): Promise<{
60
- id: IdType;
61
- }>;
62
74
  repository: DefaultCrudRepository<E, EntityRelationType>;
63
- defaultLimit: number;
64
- find(filter?: Filter<E>): Promise<(E & EntityRelationType)[]>;
65
- findById(id: IdType, filter?: FilterExcludingWhere<E>): Promise<E & EntityRelationType>;
66
- findOne(filter?: Filter<E>): Promise<(E & EntityRelationType) | null>;
67
- count(where?: Where<E>): Promise<Count>;
75
+ find(filter?: import("@loopback/repository").Filter<E> | undefined): Promise<(E & EntityRelationType)[]>;
76
+ findById(id: import("../../common").IdType, filter?: import("@loopback/repository").FilterExcludingWhere<E> | undefined): Promise<E & EntityRelationType>;
77
+ findOne(filter?: import("@loopback/repository").Filter<E> | undefined): Promise<(E & EntityRelationType) | null>;
78
+ count(where?: import("@loopback/repository").Where<E> | undefined): Promise<import("@loopback/repository").Count>;
68
79
  };
69
80
  };
70
81
  //# sourceMappingURL=crud.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crud.controller.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/crud.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.controller.d.ts","sourceRoot":"","sources":["../../../src/base/controllers/crud.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAmB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAG1E,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,UAAU;IAC1D,MAAM,EAAE,OAAO,UAAU,GAAG;QAAE,SAAS,EAAE,CAAC,CAAA;KAAE,CAAC;IAC7C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,UAAU,EAAE,yBAAyB,GAAG;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,SAAS,CAAC;QACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,iBAAiB,CAAC,EAAE,SAAS,CAAC;QAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;QACnB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,qBAAqB,CAAC,EAAE,SAAS,CAAC;QAClC,UAAU,CAAC,EAAE,SAAS,CAAC;QACvB,WAAW,CAAC,EAAE,SAAS,CAAC;QACxB,UAAU,CAAC,EAAE,SAAS,CAAC;KACxB,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAGD,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,UAAU,EAAE,MAAM,sBAAsB,CAAC,CAAC,CAAC;qBAyB9D,qBAAqB,CAAC,CAAC,EAAE,kBAAkB,CAAC;oBAFxD,qBAAqB,CAAC,CAAC,EAAE,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;qBA6B1C,qBAAqB,CAAC,CAAC,EAAE,kBAAkB,CAAC,mBACvC,MAAM,CAAC,gBAAgB,CAAC;yBAJ1B,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;;;;;;;;;;;oBA1B7B,qBAAqB,CAAC,CAAC,EAAE,kBAAkB,CAAC;;;;;;CA+C3D,CAAC"}
@@ -1,25 +1,13 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
2
  Object.defineProperty(exports, "__esModule", { value: true });
15
3
  exports.defineCrudController = void 0;
16
4
  const core_1 = require("@loopback/core");
17
- const repository_1 = require("@loopback/repository");
18
- const rest_1 = require("@loopback/rest");
19
5
  const common_1 = require("../../common");
20
6
  const model_utility_1 = require("../../utilities/model.utility");
21
7
  const security_1 = require("@loopback/security");
22
8
  const common_2 = require("./common");
9
+ const crud_executor_1 = require("./crud.executor");
10
+ const crud_mixin_1 = require("./crud.mixin");
23
11
  // --------------------------------------------------------------------------------------------------------------
24
12
  const defineCrudController = (opts) => {
25
13
  const { entity: entityOptions, repository: repositoryOptions, controller: controllerOptions, schema: schemaOptions, doInjectCurrentUser, doDeleteWithReturn, } = opts;
@@ -28,340 +16,40 @@ const defineCrudController = (opts) => {
28
16
  in: 'path',
29
17
  schema: (0, model_utility_1.getIdSchema)(entityOptions),
30
18
  };
31
- class ReadController {
19
+ const MixinReadController = (0, crud_mixin_1.CrudReadMixin)(common_2.BaseController, {
20
+ entity: entityOptions,
21
+ schema: schemaOptions,
22
+ idPathParam,
23
+ });
24
+ class ReadController extends MixinReadController {
32
25
  constructor(repository) {
26
+ super({ scope: `ReadController.${entityOptions.name}` });
33
27
  this.repository = repository;
28
+ this.executor = new crud_executor_1.RepositoryCrudExecutor(repository, {});
34
29
  this.defaultLimit = controllerOptions?.defaultLimit ?? common_1.App.DEFAULT_QUERY_LIMIT;
35
30
  }
36
- // ----------------------------------------------------------------------------------------------------------
37
- find(filter) {
38
- return this.repository.find((0, common_2.applyLimit)(filter));
39
- }
40
- // ----------------------------------------------------------------------------------------------------------
41
- findById(id, filter) {
42
- return this.repository.findById(id, (0, common_2.applyLimit)(filter));
43
- }
44
- // ----------------------------------------------------------------------------------------------------------
45
- findOne(filter) {
46
- return this.repository.findOne(filter);
47
- }
48
- // ----------------------------------------------------------------------------------------------------------
49
- count(where) {
50
- return this.repository.count(where);
51
- }
52
31
  }
53
- __decorate([
54
- (0, rest_1.get)('/', {
55
- responses: {
56
- '200': {
57
- description: `Array of ${entityOptions.name} model instances`,
58
- content: {
59
- 'application/json': {
60
- schema: {
61
- type: 'array',
62
- items: schemaOptions?.find ??
63
- (0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
64
- },
65
- },
66
- },
67
- },
68
- },
69
- }),
70
- __param(0, rest_1.param.filter(entityOptions)),
71
- __metadata("design:type", Function),
72
- __metadata("design:paramtypes", [Object]),
73
- __metadata("design:returntype", Promise)
74
- ], ReadController.prototype, "find", null);
75
- __decorate([
76
- (0, rest_1.get)('/{id}', {
77
- responses: {
78
- '200': {
79
- description: `Find ${entityOptions.name} model instance`,
80
- content: {
81
- 'application/json': {
82
- schema: schemaOptions?.findById ??
83
- (0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
84
- },
85
- },
86
- },
87
- },
88
- }),
89
- __param(0, (0, rest_1.param)(idPathParam)),
90
- __param(1, rest_1.param.query.object('filter', (0, rest_1.getFilterSchemaFor)(entityOptions, { exclude: 'where' }))),
91
- __metadata("design:type", Function),
92
- __metadata("design:paramtypes", [Object, Object]),
93
- __metadata("design:returntype", Promise)
94
- ], ReadController.prototype, "findById", null);
95
- __decorate([
96
- (0, rest_1.get)('/find-one', {
97
- responses: {
98
- '200': {
99
- description: `Find one ${entityOptions.name} model instance`,
100
- content: {
101
- 'application/json': {
102
- schema: schemaOptions?.findOne ??
103
- (0, rest_1.getModelSchemaRef)(entityOptions, { includeRelations: true }),
104
- },
105
- },
106
- },
107
- },
108
- }),
109
- __param(0, rest_1.param.query.object('filter', (0, rest_1.getFilterSchemaFor)(entityOptions))),
110
- __metadata("design:type", Function),
111
- __metadata("design:paramtypes", [Object]),
112
- __metadata("design:returntype", Promise)
113
- ], ReadController.prototype, "findOne", null);
114
- __decorate([
115
- (0, rest_1.get)('/count', {
116
- responses: {
117
- '200': {
118
- description: `Count number of ${entityOptions.name} model instance`,
119
- content: {
120
- 'application/json': {
121
- schema: repository_1.CountSchema,
122
- },
123
- },
124
- },
125
- },
126
- }),
127
- __param(0, rest_1.param.where(entityOptions)),
128
- __metadata("design:type", Function),
129
- __metadata("design:paramtypes", [Object]),
130
- __metadata("design:returntype", Promise)
131
- ], ReadController.prototype, "count", null);
132
32
  if (controllerOptions.readonly) {
133
33
  if (repositoryOptions?.name) {
134
- (0, core_1.inject)(`repositories.${repositoryOptions.name}`)(ReadController, undefined, 0);
34
+ (0, core_1.inject)(common_1.BindingKeys.repositoryFor(repositoryOptions.name))(ReadController, undefined, 0);
135
35
  }
136
36
  return ReadController;
137
37
  }
138
- class CrudController extends ReadController {
38
+ const MixinCrudController = (0, crud_mixin_1.CrudWriteMixin)(ReadController, {
39
+ entity: entityOptions,
40
+ schema: schemaOptions,
41
+ idPathParam,
42
+ doDeleteWithReturn,
43
+ });
44
+ class CrudController extends MixinCrudController {
139
45
  constructor(repository, getCurrentUser) {
140
46
  super(repository);
141
47
  this.getCurrentUser = getCurrentUser;
142
- }
143
- // ----------------------------------------------------------------------------------------------------------
144
- _getContextUser() {
145
- return new Promise((resolve, reject) => {
146
- if (!this.getCurrentUser) {
147
- resolve(null);
148
- return;
149
- }
150
- this.getCurrentUser().then(resolve).catch(reject);
151
- });
152
- }
153
- // ----------------------------------------------------------------------------------------------------------
154
- create(data) {
155
- return new Promise((resolve, reject) => {
156
- this._getContextUser()
157
- .then(currentUser => {
158
- this.repository
159
- .create(data, {
160
- authorId: currentUser?.userId,
161
- })
162
- .then(resolve)
163
- .catch(reject);
164
- })
165
- .catch(reject);
166
- });
167
- }
168
- // ----------------------------------------------------------------------------------------------------------
169
- updateAll(data, where) {
170
- return new Promise((resolve, reject) => {
171
- this._getContextUser().then(currentUser => {
172
- this.repository
173
- .updateAll(data, where, {
174
- authorId: currentUser?.userId,
175
- })
176
- .then(resolve)
177
- .catch(reject);
178
- });
179
- });
180
- }
181
- // ----------------------------------------------------------------------------------------------------------
182
- updateById(id, data) {
183
- return new Promise((resolve, reject) => {
184
- this._getContextUser().then(currentUser => {
185
- this.repository
186
- .updateWithReturn(id, data, {
187
- authorId: currentUser?.userId,
188
- })
189
- .then(resolve)
190
- .catch(reject);
191
- });
192
- });
193
- }
194
- // ----------------------------------------------------------------------------------------------------------
195
- async replaceById(id, data) {
196
- return new Promise((resolve, reject) => {
197
- this._getContextUser().then(currentUser => {
198
- this.repository
199
- .replaceById(id, data, {
200
- authorId: currentUser?.userId,
201
- })
202
- .then(() => {
203
- resolve({ ...data, id });
204
- })
205
- .catch(reject);
206
- });
207
- });
208
- }
209
- // ----------------------------------------------------------------------------------------------------------
210
- deleteById(id) {
211
- return new Promise((resolve, reject) => {
212
- if (doDeleteWithReturn) {
213
- this.repository
214
- .deleteWithReturn({ id })
215
- .then(() => {
216
- resolve({ id });
217
- })
218
- .catch(reject);
219
- }
220
- else {
221
- this.repository
222
- .deleteById(id)
223
- .then(() => {
224
- resolve({ id });
225
- })
226
- .catch(reject);
227
- }
228
- });
48
+ this.executor = new crud_executor_1.RepositoryCrudExecutor(repository, { getCurrentUser });
229
49
  }
230
50
  }
231
- __decorate([
232
- (0, rest_1.post)('/', {
233
- responses: {
234
- '200': {
235
- description: `Create ${entityOptions.name} model instance`,
236
- content: {
237
- 'application/json': {
238
- schema: schemaOptions?.create ?? (0, rest_1.getModelSchemaRef)(entityOptions),
239
- },
240
- },
241
- },
242
- },
243
- }),
244
- __param(0, (0, rest_1.requestBody)({
245
- content: {
246
- 'application/json': {
247
- schema: schemaOptions?.createRequestBody ??
248
- (0, rest_1.getModelSchemaRef)(entityOptions, {
249
- title: `New ${entityOptions.name} payload`,
250
- // exclude: ['id', 'createdAt', 'modifiedAt'],
251
- }),
252
- },
253
- },
254
- })),
255
- __metadata("design:type", Function),
256
- __metadata("design:paramtypes", [Object]),
257
- __metadata("design:returntype", Promise)
258
- ], CrudController.prototype, "create", null);
259
- __decorate([
260
- (0, rest_1.patch)('/', {
261
- responses: {
262
- '200': {
263
- description: `Number of updated ${entityOptions.name} models`,
264
- content: {
265
- 'application/json': {
266
- schema: repository_1.CountSchema,
267
- },
268
- },
269
- },
270
- },
271
- }),
272
- __param(0, (0, rest_1.requestBody)({
273
- content: {
274
- 'application/json': {
275
- schema: schemaOptions?.updateAll ??
276
- (0, rest_1.getModelSchemaRef)(entityOptions, {
277
- title: `Partial fields of ${entityOptions.name}`,
278
- partial: true,
279
- }),
280
- },
281
- },
282
- })),
283
- __param(1, rest_1.param.where(entityOptions)),
284
- __metadata("design:type", Function),
285
- __metadata("design:paramtypes", [Object, Object]),
286
- __metadata("design:returntype", Promise)
287
- ], CrudController.prototype, "updateAll", null);
288
- __decorate([
289
- (0, rest_1.patch)('/{id}', {
290
- responses: {
291
- '200': {
292
- description: `Updated ${entityOptions.name} models`,
293
- content: {
294
- 'application/json': {
295
- schema: schemaOptions?.updateById ??
296
- (0, rest_1.getModelSchemaRef)(entityOptions, {
297
- title: `Updated ${entityOptions.name} models`,
298
- }),
299
- },
300
- },
301
- },
302
- },
303
- }),
304
- __param(0, (0, rest_1.param)(idPathParam)),
305
- __param(1, (0, rest_1.requestBody)({
306
- content: {
307
- 'application/json': {
308
- schema: schemaOptions?.updateByIdRequestBody ??
309
- (0, rest_1.getModelSchemaRef)(entityOptions, {
310
- title: `Partial fields of ${entityOptions.name}`,
311
- partial: true,
312
- }),
313
- },
314
- },
315
- })),
316
- __metadata("design:type", Function),
317
- __metadata("design:paramtypes", [Object, Object]),
318
- __metadata("design:returntype", Promise)
319
- ], CrudController.prototype, "updateById", null);
320
- __decorate([
321
- (0, rest_1.put)('/{id}', {
322
- responses: {
323
- '204': { description: `${entityOptions.name} was replaced` },
324
- },
325
- }),
326
- __param(0, (0, rest_1.param)(idPathParam)),
327
- __param(1, (0, rest_1.requestBody)({
328
- content: {
329
- 'application/json': {
330
- schema: schemaOptions?.replaceById ??
331
- (0, rest_1.getModelSchemaRef)(entityOptions, {
332
- title: `Fields of ${entityOptions.name}`,
333
- }),
334
- },
335
- },
336
- })),
337
- __metadata("design:type", Function),
338
- __metadata("design:paramtypes", [Object, Object]),
339
- __metadata("design:returntype", Promise)
340
- ], CrudController.prototype, "replaceById", null);
341
- __decorate([
342
- (0, rest_1.del)('/{id}', {
343
- responses: {
344
- '200': {
345
- description: `${entityOptions.name} was deleted`,
346
- content: {
347
- 'application/json': {
348
- schema: schemaOptions?.deleteById ??
349
- (0, rest_1.getModelSchemaRef)(entityOptions, {
350
- partial: true,
351
- title: `Deleted ${entityOptions.name} models`,
352
- }),
353
- },
354
- },
355
- },
356
- },
357
- }),
358
- __param(0, (0, rest_1.param)(idPathParam)),
359
- __metadata("design:type", Function),
360
- __metadata("design:paramtypes", [Object]),
361
- __metadata("design:returntype", Promise)
362
- ], CrudController.prototype, "deleteById", null);
363
51
  if (repositoryOptions?.name) {
364
- (0, core_1.inject)(`repositories.${repositoryOptions.name}`)(CrudController, undefined, 0);
52
+ (0, core_1.inject)(common_1.BindingKeys.repositoryFor(repositoryOptions.name))(CrudController, undefined, 0);
365
53
  }
366
54
  if (doInjectCurrentUser) {
367
55
  core_1.inject.getter(security_1.SecurityBindings.USER, { optional: true })(CrudController, undefined, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"crud.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/crud.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.controller.js","sourceRoot":"","sources":["../../../src/base/controllers/crud.controller.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAIhD,qCAA4C;AAG5C,6DAAwD;AACxD,iDAAsD;AAGtD,qCAA0C;AAC1C,mDAAyD;AACzD,6CAA6D;AAwB7D,iHAAiH;AAC1G,MAAM,oBAAoB,GAAG,CAAuB,IAA+B,EAAE,EAAE;IAC5F,MAAM,EACJ,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,iBAAiB,EAC7B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,aAAa,EACrB,mBAAmB,EACnB,kBAAkB,GACnB,GAAG,IAAI,CAAC;IAET,MAAM,WAAW,GAAoB;QACnC,IAAI,EAAE,IAAI;QACV,EAAE,EAAE,MAAM;QACV,MAAM,EAAE,IAAA,2BAAW,EAAC,aAAa,CAAC;KACnC,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAA,0BAAa,EAA2B,uBAAc,EAAE;QAClF,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,cAAe,SAAQ,mBAAmB;QAG9C,YAAY,UAAwD;YAClE,KAAK,CAAC,EAAE,KAAK,EAAE,kBAAkB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,sCAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,YAAY,GAAG,iBAAiB,EAAE,YAAY,IAAI,YAAG,CAAC,mBAAmB,CAAC;QACjF,CAAC;KACF;IAED,IAAI,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,iBAAiB,EAAE,IAAI,EAAE,CAAC;YAC5B,IAAA,aAAM,EAAC,oBAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAA,2BAAc,EAA2B,cAAc,EAAE;QACnF,MAAM,EAAE,aAAa;QACrB,MAAM,EAAE,aAAa;QACrB,WAAW;QACX,kBAAkB;KACnB,CAAC,CAAC;IAEH,MAAM,cAAe,SAAQ,mBAAmB;QAG9C,YACE,UAAwD,EACxD,cAAyC;YAEzC,KAAK,CAAC,UAAU,CAAC,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,sCAAsB,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;QAC7E,CAAC;KACF;IAED,IAAI,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC5B,IAAA,aAAM,EAAC,oBAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACxB,aAAM,CAAC,MAAM,CAAC,2BAAgB,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAtEW,QAAA,oBAAoB,wBAsE/B"}