taon 19.0.52 → 19.0.54

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 (164) hide show
  1. package/browser/fesm2022/taon.mjs +407 -239
  2. package/browser/fesm2022/taon.mjs.map +1 -1
  3. package/browser/lib/base-classes/base-angular-service.d.ts +3 -6
  4. package/browser/lib/base-classes/base-controller.d.ts +11 -0
  5. package/browser/lib/base-classes/base-file-upload.middleware.d.ts +15 -0
  6. package/browser/lib/base-classes/base-middleware.d.ts +30 -8
  7. package/browser/lib/decorators/classes/controller-config.d.ts +10 -0
  8. package/browser/lib/decorators/classes/controller-decorator.d.ts +2 -12
  9. package/browser/lib/decorators/classes/controller-options.d.ts +12 -0
  10. package/browser/lib/decorators/classes/entity-decorator.d.ts +2 -2
  11. package/browser/lib/decorators/classes/middleware-decorator.d.ts +2 -2
  12. package/browser/lib/decorators/classes/migration-decorator.d.ts +2 -2
  13. package/browser/lib/decorators/classes/provider-decorator.d.ts +2 -2
  14. package/browser/lib/decorators/classes/repository-decorator.d.ts +2 -2
  15. package/browser/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  16. package/browser/lib/decorators/decorator-abstract-opt.d.ts +4 -0
  17. package/browser/lib/decorators/http/http-methods-decorators.d.ts +8 -5
  18. package/browser/lib/endpoint-context.d.ts +4 -3
  19. package/browser/lib/helpers/class-helpers.d.ts +7 -3
  20. package/browser/lib/helpers/taon-helpers.d.ts +2 -1
  21. package/browser/lib/index.d.ts +2 -1
  22. package/browser/lib/models.d.ts +15 -22
  23. package/browser/package.json +1 -1
  24. package/lib/base-classes/base-angular-service.d.ts +3 -6
  25. package/lib/base-classes/base-angular-service.js +12 -16
  26. package/lib/base-classes/base-angular-service.js.map +1 -1
  27. package/lib/base-classes/base-context.js +4 -0
  28. package/lib/base-classes/base-context.js.map +1 -1
  29. package/lib/base-classes/base-controller.d.ts +12 -0
  30. package/lib/base-classes/base-controller.js +56 -1
  31. package/lib/base-classes/base-controller.js.map +1 -1
  32. package/lib/base-classes/base-file-upload.middleware.d.ts +14 -0
  33. package/lib/base-classes/base-file-upload.middleware.js +85 -0
  34. package/lib/base-classes/base-file-upload.middleware.js.map +1 -0
  35. package/lib/base-classes/base-middleware.d.ts +30 -12
  36. package/lib/base-classes/base-middleware.js.map +1 -1
  37. package/lib/build-info._auto-generated_.d.ts +1 -1
  38. package/lib/build-info._auto-generated_.js +1 -1
  39. package/lib/decorators/classes/controller-config.d.ts +9 -0
  40. package/lib/decorators/classes/controller-config.js +11 -0
  41. package/lib/decorators/classes/controller-config.js.map +1 -0
  42. package/lib/decorators/classes/controller-decorator.d.ts +2 -12
  43. package/lib/decorators/classes/controller-decorator.js +0 -13
  44. package/lib/decorators/classes/controller-decorator.js.map +1 -1
  45. package/lib/decorators/classes/controller-options.d.ts +11 -0
  46. package/lib/decorators/classes/controller-options.js +16 -0
  47. package/lib/decorators/classes/controller-options.js.map +1 -0
  48. package/lib/decorators/classes/entity-decorator.d.ts +2 -2
  49. package/lib/decorators/classes/entity-decorator.js +7 -9
  50. package/lib/decorators/classes/entity-decorator.js.map +1 -1
  51. package/lib/decorators/classes/middleware-decorator.d.ts +2 -2
  52. package/lib/decorators/classes/middleware-decorator.js +2 -2
  53. package/lib/decorators/classes/middleware-decorator.js.map +1 -1
  54. package/lib/decorators/classes/migration-decorator.d.ts +2 -2
  55. package/lib/decorators/classes/migration-decorator.js +2 -2
  56. package/lib/decorators/classes/migration-decorator.js.map +1 -1
  57. package/lib/decorators/classes/provider-decorator.d.ts +2 -2
  58. package/lib/decorators/classes/provider-decorator.js +2 -2
  59. package/lib/decorators/classes/provider-decorator.js.map +1 -1
  60. package/lib/decorators/classes/repository-decorator.d.ts +2 -2
  61. package/lib/decorators/classes/repository-decorator.js +2 -2
  62. package/lib/decorators/classes/repository-decorator.js.map +1 -1
  63. package/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  64. package/lib/decorators/classes/subscriber-decorator.js +2 -2
  65. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  66. package/lib/decorators/decorator-abstract-opt.d.ts +3 -0
  67. package/lib/decorators/decorator-abstract-opt.js +8 -0
  68. package/lib/decorators/decorator-abstract-opt.js.map +1 -0
  69. package/lib/decorators/http/http-methods-decorators.d.ts +8 -5
  70. package/lib/decorators/http/http-methods-decorators.js +3 -2
  71. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  72. package/lib/endpoint-context.d.ts +4 -3
  73. package/lib/endpoint-context.js +128 -75
  74. package/lib/endpoint-context.js.map +1 -1
  75. package/lib/helpers/class-helpers.d.ts +7 -3
  76. package/lib/helpers/class-helpers.js +12 -6
  77. package/lib/helpers/class-helpers.js.map +1 -1
  78. package/lib/helpers/taon-helpers.d.ts +2 -1
  79. package/lib/helpers/taon-helpers.js +1 -1
  80. package/lib/helpers/taon-helpers.js.map +1 -1
  81. package/lib/index.d.ts +2 -1
  82. package/lib/index.js.map +1 -1
  83. package/lib/models.d.ts +16 -24
  84. package/lib/models.js +4 -31
  85. package/lib/models.js.map +1 -1
  86. package/lib/realtime/realtime-client.js +2 -1
  87. package/lib/realtime/realtime-client.js.map +1 -1
  88. package/lib/ui/directives/index.d.ts +3 -0
  89. package/lib/ui/directives/index.js +5 -0
  90. package/lib/ui/directives/index.js.map +1 -0
  91. package/lib/ui/directives/safe.pipe.d.ts +7 -0
  92. package/lib/ui/directives/taon-inject-html.directive.d.ts +6 -0
  93. package/lib/ui/directives/taon-long-press.directive.d.ts +22 -0
  94. package/lib/ui/directives/view-mode.d.ts +5 -0
  95. package/lib/ui/directives/view-mode.js +10 -0
  96. package/lib/ui/directives/view-mode.js.map +1 -0
  97. package/lib/ui/index.js +2 -2
  98. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  99. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +43 -0
  100. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +5 -0
  101. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js +3 -0
  102. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -0
  103. package/lib/ui/taon-full-material.module.d.ts +5 -0
  104. package/lib/ui/taon-github-fork-me-corner/index.d.ts +2 -0
  105. package/lib/ui/taon-github-fork-me-corner/index.js +5 -0
  106. package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -0
  107. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +3 -0
  108. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +2 -0
  109. package/lib/ui/taon-github-fork-me-ribbon/index.d.ts +2 -0
  110. package/lib/ui/taon-github-fork-me-ribbon/index.js +5 -0
  111. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -0
  112. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.component.d.ts +3 -0
  113. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.module.d.ts +2 -0
  114. package/lib/ui/taon-notifications/index.d.ts +4 -0
  115. package/lib/ui/taon-notifications/index.js +24 -0
  116. package/lib/ui/taon-notifications/index.js.map +1 -0
  117. package/lib/ui/taon-notifications/taon-notifications.component.d.ts +9 -0
  118. package/lib/ui/taon-notifications/taon-notifications.models.d.ts +6 -0
  119. package/lib/ui/taon-notifications/taon-notifications.models.js +5 -0
  120. package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -0
  121. package/lib/ui/taon-notifications/taon-notifications.module.d.ts +2 -0
  122. package/lib/ui/taon-notifications/taon-notifications.service.d.ts +11 -0
  123. package/lib/ui/taon-progress-bar/index.d.ts +2 -0
  124. package/lib/ui/taon-progress-bar/index.js +5 -0
  125. package/lib/ui/taon-progress-bar/index.js.map +1 -0
  126. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +13 -0
  127. package/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +2 -0
  128. package/lib/ui/taon-session-passcode/index.d.ts +1 -0
  129. package/lib/ui/taon-session-passcode/index.js +5 -0
  130. package/lib/ui/taon-session-passcode/index.js.map +1 -0
  131. package/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +35 -0
  132. package/lib/ui/taon-table/index.d.ts +2 -0
  133. package/lib/ui/taon-table/index.js +5 -0
  134. package/lib/ui/taon-table/index.js.map +1 -0
  135. package/lib/ui/taon-table/taon-table.component.d.ts +34 -0
  136. package/lib/ui/taon-table/taon-table.module.d.ts +2 -0
  137. package/lib/ui/taon.models.d.ts +11 -0
  138. package/lib/ui/taon.models.js +3 -0
  139. package/lib/ui/taon.models.js.map +1 -0
  140. package/package.json +1 -1
  141. package/tmp-environment.json +39 -0
  142. package/websql/fesm2022/taon.mjs +407 -235
  143. package/websql/fesm2022/taon.mjs.map +1 -1
  144. package/websql/lib/base-classes/base-angular-service.d.ts +3 -6
  145. package/websql/lib/base-classes/base-controller.d.ts +11 -0
  146. package/websql/lib/base-classes/base-file-upload.middleware.d.ts +15 -0
  147. package/websql/lib/base-classes/base-middleware.d.ts +30 -12
  148. package/websql/lib/decorators/classes/controller-config.d.ts +10 -0
  149. package/websql/lib/decorators/classes/controller-decorator.d.ts +2 -12
  150. package/websql/lib/decorators/classes/controller-options.d.ts +12 -0
  151. package/websql/lib/decorators/classes/entity-decorator.d.ts +2 -2
  152. package/websql/lib/decorators/classes/middleware-decorator.d.ts +2 -2
  153. package/websql/lib/decorators/classes/migration-decorator.d.ts +2 -2
  154. package/websql/lib/decorators/classes/provider-decorator.d.ts +2 -2
  155. package/websql/lib/decorators/classes/repository-decorator.d.ts +2 -2
  156. package/websql/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  157. package/websql/lib/decorators/decorator-abstract-opt.d.ts +4 -0
  158. package/websql/lib/decorators/http/http-methods-decorators.d.ts +8 -5
  159. package/websql/lib/endpoint-context.d.ts +4 -3
  160. package/websql/lib/helpers/class-helpers.d.ts +7 -3
  161. package/websql/lib/helpers/taon-helpers.d.ts +2 -1
  162. package/websql/lib/index.d.ts +2 -1
  163. package/websql/lib/models.d.ts +16 -24
  164. package/websql/package.json +1 -1
@@ -6,11 +6,11 @@ import * as tsorm from 'taon-typeorm/websql';
6
6
  import { OrignalClassKey, Entity, Table, TableIndex, EventSubscriber, DataSource } from 'taon-typeorm/websql';
7
7
  import { walk } from 'lodash-walk-object/websql';
8
8
  import { SYMBOL, CLASS } from 'typescript-class-helpers/websql';
9
- import { Models as Models$1, Resource, RestHeaders, Mapping } from 'ng2-rest/websql';
10
9
  import * as i0 from '@angular/core';
11
10
  import { InjectionToken, inject as inject$1, Injectable } from '@angular/core';
12
11
  import axios from 'axios';
13
12
  import { JSON10 } from 'json10/websql';
13
+ import { Models as Models$1, Resource, RestHeaders, Mapping } from 'ng2-rest/websql';
14
14
  import { Observable, Subject, from } from 'rxjs';
15
15
  import * as JSON5 from 'json5';
16
16
  import { io } from 'socket.io-client';
@@ -122,6 +122,19 @@ var Orm;
122
122
  })(Orm || (Orm = {}));
123
123
  //#endregion
124
124
 
125
+ class DecoratorAbstractOpt {
126
+ }
127
+
128
+ class TaonControllerOptions extends DecoratorAbstractOpt {
129
+ }
130
+
131
+ class ControllerConfig extends TaonControllerOptions {
132
+ constructor() {
133
+ super(...arguments);
134
+ this.methods = {};
135
+ }
136
+ }
137
+
125
138
  var Symbols;
126
139
  (function (Symbols) {
127
140
  Symbols.ctxInClassOrClassObj = Symbol();
@@ -312,122 +325,9 @@ var Validators;
312
325
  };
313
326
  })(Validators || (Validators = {}));
314
327
 
315
- var Models;
316
- (function (Models) {
317
- //#region models / class types
318
- let ClassType;
319
- (function (ClassType) {
320
- ClassType["ENTITY"] = "ENTITY";
321
- ClassType["CONTROLLER"] = "CONTROLLER";
322
- ClassType["REPOSITORY"] = "REPOSITORY";
323
- ClassType["PROVIDER"] = "PROVIDER";
324
- ClassType["SUBSCRIBER"] = "SUBSCRIBER";
325
- ClassType["MIGRATION"] = "MIGRATION";
326
- ClassType["MIDDLEWARE"] = "MIDDLEWARE";
327
- })(ClassType = Models.ClassType || (Models.ClassType = {}));
328
- Models.ClassTypeKey = {
329
- [ClassType.ENTITY]: 'entities',
330
- [ClassType.CONTROLLER]: 'controllers',
331
- [ClassType.REPOSITORY]: 'repositories',
332
- [ClassType.PROVIDER]: 'providers',
333
- [ClassType.SUBSCRIBER]: 'subscribers',
334
- [ClassType.MIGRATION]: 'migrations',
335
- [ClassType.MIDDLEWARE]: 'middlewares',
336
- };
337
- //#endregion
338
- //#region models / database connection options
339
- class DatabaseConfigTypeOrm {
340
- }
341
- Models.DatabaseConfigTypeOrm = DatabaseConfigTypeOrm;
342
- //#endregion
343
- //#region models / database config
344
- class DatabaseConfig extends DatabaseConfigTypeOrm {
345
- static from(databasePartialConfig) {
346
- return _.merge(new DatabaseConfig(), databasePartialConfig);
347
- }
348
- get databaseConfigTypeORM() {
349
- //#region @websqlFunc
350
- const result = _.cloneDeep(this);
351
- if (result.recreateMode) {
352
- if (result.recreateMode === 'DROP_DB+MIGRATIONS') {
353
- result.synchronize = true;
354
- result.dropSchema = true;
355
- }
356
- else if (result.recreateMode === 'PRESERVE_DATA+MIGRATIONS') {
357
- result.synchronize = false;
358
- result.dropSchema = false;
359
- }
360
- }
361
- delete result.recreateMode;
362
- return result;
363
- //#endregion
364
- }
365
- }
366
- Models.DatabaseConfig = DatabaseConfig;
367
- //#endregion
368
- //#region models / decorator abstract options
369
- class DecoratorAbstractOpt {
370
- }
371
- Models.DecoratorAbstractOpt = DecoratorAbstractOpt;
372
- //#endregion
373
- //#region models / param config
374
- class ParamConfig {
375
- }
376
- Models.ParamConfig = ParamConfig;
377
- //#endregion
378
- //#region models / method config
379
- class MethodConfig {
380
- constructor() {
381
- //#endregion
382
- this.parameters = {};
383
- }
384
- }
385
- Models.MethodConfig = MethodConfig;
386
- //#endregion
387
- //#region models / controller config
388
- class ControllerConfig extends DecoratorAbstractOpt {
389
- constructor() {
390
- super(...arguments);
391
- this.methods = {};
392
- }
393
- }
394
- Models.ControllerConfig = ControllerConfig;
395
- //#endregion
396
- //#region models / runtime controller config
397
- class RuntimeControllerConfig extends ControllerConfig {
398
- }
399
- Models.RuntimeControllerConfig = RuntimeControllerConfig;
400
- //#endregion
401
- //#region models / http
402
- let Http;
403
- (function (Http) {
404
- Http.Rest = Models$1;
405
- class Errors {
406
- constructor(message, code = 400) {
407
- this.message = message;
408
- this.code = code;
409
- this.toString = () => {
410
- return this.message;
411
- };
412
- }
413
- static create(message, code = 400) {
414
- return new Errors(message, code);
415
- }
416
- static entityNotFound(entity) {
417
- return Errors.create(`Entity ${ClassHelpers.getName(entity)} not found`);
418
- }
419
- static custom(message, code = 400) {
420
- return Errors.create(message, code);
421
- }
422
- }
423
- Http.Errors = Errors;
424
- //#endregion
425
- })(Http = Models.Http || (Models.Http = {}));
426
- //#endregion
427
- })(Models || (Models = {}));
428
-
429
- /* */
328
+ //#region imports
430
329
  /* */
330
+ //#endregion
431
331
  var ClassHelpers;
432
332
  (function (ClassHelpers) {
433
333
  //#region get class from name
@@ -532,7 +432,7 @@ var ClassHelpers;
532
432
  //#region get all metadata for controller
533
433
  ClassHelpers.getControllerConfig = (target) => {
534
434
  const classMetadataOptions = Reflect.getMetadata(Symbols.metadata.options.controller, target);
535
- const classMetadata = _.merge(new Models.ControllerConfig(), classMetadataOptions);
435
+ const classMetadata = _.merge(new ControllerConfig(), classMetadataOptions);
536
436
  // Iterate over all methods of the class
537
437
  const methodNames = ClassHelpers.getMethodsNames(target); // Object.getOwnPropertyNames(target.prototype);
538
438
  // console.log(`methodNames for ${ClassHelpers.getName(target)} `, methodNames)
@@ -570,6 +470,12 @@ var ClassHelpers;
570
470
  'toLocaleString',
571
471
  ];
572
472
  //#endregion
473
+ /**
474
+ * Express async handler for middleware functions.
475
+ */
476
+ ClassHelpers.asyncHandler = fn => (req, res, next) => {
477
+ Promise.resolve(fn(req, res, next)).catch(next);
478
+ };
573
479
  ClassHelpers.getMethodsNames = (classOrClassInstance, allMethodsNames = []) => {
574
480
  if (!classOrClassInstance) {
575
481
  return Utils.uniqArray(allMethodsNames);
@@ -833,29 +739,26 @@ const inject = (entity) => {
833
739
  //#region @browser
834
740
  //#endregion
835
741
  class BaseAngularsService {
742
+ //#endregion
836
743
  constructor() {
837
744
  //#region @browser
838
745
  this.currentContext = inject$1(TAON_CONTEXT);
839
- //#region @browser
840
- this.CURRENT_HOST_BACKEND_PORT = inject$1(CURRENT_HOST_BACKEND_PORT, {
841
- optional: true,
842
- });
843
- // #endregion
844
746
  }
747
+ injectController(ctor,
845
748
  /**
846
- * @deprecated
847
- * Returns the host URL for the backend service
848
- * that is running on localhost (normal NodeJS/ExpressJS mode).
749
+ * optional override context
849
750
  */
850
- get host() {
851
- return `http://localhost:${this.CURRENT_HOST_BACKEND_PORT}`;
852
- }
853
- injectController(ctor) {
854
- let currentContext;
855
- //#region @browser
856
- currentContext = this.currentContext;
857
- //#endregion
858
- return inject(() => currentContext.getClass(ctor));
751
+ overrideCurrentContext) {
752
+ return inject(() => {
753
+ let currentContext;
754
+ //#region @browser
755
+ currentContext = overrideCurrentContext ? overrideCurrentContext : this.currentContext;
756
+ //#endregion
757
+ if (!currentContext) {
758
+ throw new Error('No context available. Make sure to initialize the context before injecting controllers.');
759
+ }
760
+ return currentContext ? currentContext.getClass(ctor) : void 0;
761
+ });
859
762
  }
860
763
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BaseAngularsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
861
764
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: BaseAngularsService }); }
@@ -864,6 +767,103 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
864
767
  type: Injectable
865
768
  }], ctorParameters: () => [] });
866
769
 
770
+ var Models;
771
+ (function (Models) {
772
+ //#region models / class types
773
+ let ClassType;
774
+ (function (ClassType) {
775
+ ClassType["ENTITY"] = "ENTITY";
776
+ ClassType["CONTROLLER"] = "CONTROLLER";
777
+ ClassType["REPOSITORY"] = "REPOSITORY";
778
+ ClassType["PROVIDER"] = "PROVIDER";
779
+ ClassType["SUBSCRIBER"] = "SUBSCRIBER";
780
+ ClassType["MIGRATION"] = "MIGRATION";
781
+ ClassType["MIDDLEWARE"] = "MIDDLEWARE";
782
+ })(ClassType = Models.ClassType || (Models.ClassType = {}));
783
+ Models.ClassTypeKey = {
784
+ [ClassType.ENTITY]: 'entities',
785
+ [ClassType.CONTROLLER]: 'controllers',
786
+ [ClassType.REPOSITORY]: 'repositories',
787
+ [ClassType.PROVIDER]: 'providers',
788
+ [ClassType.SUBSCRIBER]: 'subscribers',
789
+ [ClassType.MIGRATION]: 'migrations',
790
+ [ClassType.MIDDLEWARE]: 'middlewares',
791
+ };
792
+ //#endregion
793
+ //#region models / database connection options
794
+ class DatabaseConfigTypeOrm {
795
+ }
796
+ Models.DatabaseConfigTypeOrm = DatabaseConfigTypeOrm;
797
+ //#endregion
798
+ //#region models / database config
799
+ class DatabaseConfig extends DatabaseConfigTypeOrm {
800
+ static from(databasePartialConfig) {
801
+ return _.merge(new DatabaseConfig(), databasePartialConfig);
802
+ }
803
+ get databaseConfigTypeORM() {
804
+ //#region @websqlFunc
805
+ const result = _.cloneDeep(this);
806
+ if (result.recreateMode) {
807
+ if (result.recreateMode === 'DROP_DB+MIGRATIONS') {
808
+ result.synchronize = true;
809
+ result.dropSchema = true;
810
+ }
811
+ else if (result.recreateMode === 'PRESERVE_DATA+MIGRATIONS') {
812
+ result.synchronize = false;
813
+ result.dropSchema = false;
814
+ }
815
+ }
816
+ delete result.recreateMode;
817
+ return result;
818
+ //#endregion
819
+ }
820
+ }
821
+ Models.DatabaseConfig = DatabaseConfig;
822
+ //#endregion
823
+ //#region models / param config
824
+ class ParamConfig {
825
+ }
826
+ Models.ParamConfig = ParamConfig;
827
+ //#endregion
828
+ //#region models / method config
829
+ /**
830
+ * @link './decorators/http/http-methods-decorators.ts' TaonHttpDecoratorOptions
831
+ */
832
+ class MethodConfig {
833
+ constructor() {
834
+ this.parameters = {};
835
+ }
836
+ }
837
+ Models.MethodConfig = MethodConfig;
838
+ //#endregion
839
+ //#region models / http
840
+ let Http;
841
+ (function (Http) {
842
+ Http.Rest = Models$1;
843
+ class Errors {
844
+ constructor(message, code = 400) {
845
+ this.message = message;
846
+ this.code = code;
847
+ this.toString = () => {
848
+ return this.message;
849
+ };
850
+ }
851
+ static create(message, code = 400) {
852
+ return new Errors(message, code);
853
+ }
854
+ static entityNotFound(entity) {
855
+ return Errors.create(`Entity ${ClassHelpers.getName(entity)} not found`);
856
+ }
857
+ static custom(message, code = 400) {
858
+ return Errors.create(message, code);
859
+ }
860
+ }
861
+ Http.Errors = Errors;
862
+ //#endregion
863
+ })(Http = Models.Http || (Models.Http = {}));
864
+ //#endregion
865
+ })(Models || (Models = {}));
866
+
867
867
  //#region imports
868
868
  class ContextDbMigrations {
869
869
  //#endregion
@@ -1521,7 +1521,8 @@ class RealtimeClient {
1521
1521
  };
1522
1522
  // console.log('[browser] nspPath', nspPath);
1523
1523
  if (this.core.ctx.config.frontendHost &&
1524
- this.core.ctx.config.frontendHost !== '') {
1524
+ this.core.ctx.config.frontendHost !== '' &&
1525
+ this.core.ctx.isRunningInsideDocker) {
1525
1526
  console.log(`[${this.core.ctx.contextName}] USING FRONTEND HOST ${this.core.ctx.config.frontendHost}`);
1526
1527
  nspPath.global = new URL(`${this.core.ctx.frontendHostUri.origin}${nspPath.global.pathname}`);
1527
1528
  nspPath.realtime = new URL(`${this.core.ctx.frontendHostUri.origin}${nspPath.realtime.pathname}`);
@@ -3072,7 +3073,12 @@ class EndpointContext {
3072
3073
  /* */
3073
3074
  /* */
3074
3075
  /* */
3075
- await this.initFrontnedMiddlewares();
3076
+ /* */
3077
+ /* */
3078
+ /* */
3079
+ /* */
3080
+ /* */
3081
+ await this.initCustomClientMiddlewares();
3076
3082
  }
3077
3083
  //#endregion
3078
3084
  //#region prepare realtime
@@ -3652,6 +3658,9 @@ class EndpointContext {
3652
3658
  return this.config.contextName;
3653
3659
  }
3654
3660
  //#endregion
3661
+ get cwd() {
3662
+ return this.config.cwd || process.cwd();
3663
+ }
3655
3664
  get activeContext() {
3656
3665
  return this.config.activeContext || null;
3657
3666
  }
@@ -3822,7 +3831,9 @@ class EndpointContext {
3822
3831
  [taon][typeorm] db prepration done.. db initialize=${this.connection?.isInitialized}
3823
3832
 
3824
3833
 
3825
- `, dataSourceDbConfig, { 'this.connection': !!this.connection });
3834
+ `,
3835
+ // dataSourceDbConfig,
3836
+ { 'this.connection': !!this.connection });
3826
3837
  console.log(`Database file location: ${this.connection.options.database}`);
3827
3838
  }
3828
3839
  // const entityMetadata = getMetadataArgsStorage();
@@ -3853,6 +3864,7 @@ class EndpointContext {
3853
3864
  const configs = ClassHelpers.getControllerConfigs(controllerClassFn);
3854
3865
  // console.log(`Class config for ${ClassHelpers.getName(controllerClassFn)}`, configs)
3855
3866
  const classConfig = configs[0];
3867
+ //#region update class calculate path
3856
3868
  const parentscalculatedPath = _.slice(configs, 1)
3857
3869
  .reverse()
3858
3870
  .map(bc => {
@@ -3876,6 +3888,7 @@ class EndpointContext {
3876
3888
  }, [])
3877
3889
  .join('/');
3878
3890
  }
3891
+ //#endregion
3879
3892
  // console.log('calculatedPath', classConfig.calculatedPath);
3880
3893
  _.slice(configs, 1).forEach(bc => {
3881
3894
  const alreadyIs = classConfig.methods;
@@ -3984,44 +3997,29 @@ class EndpointContext {
3984
3997
  }
3985
3998
  //#endregion
3986
3999
  //#region methods & getters / init middlewares
3987
- async initFrontnedMiddlewares() {
3988
- const middlewares = this.getClassesInstancesArrBy(Models.ClassType.MIDDLEWARE);
3989
- for (const middleware of middlewares) {
3990
- const middlewareInstance = middleware;
3991
- if (_.isFunction(middlewareInstance.intercept)) {
3992
- ((instance, contextName, apiPart, uriPathnameOrNothingIfRoot) => {
3993
- const interceptorName = `${contextName}-${ClassHelpers.getName(instance)}`;
3994
- Resource.request.interceptors.set(interceptorName, async (req) => {
3995
- console.log('request', req);
3996
- const url = new URL(req.url);
3997
- if (url.pathname.startsWith(`${uriPathnameOrNothingIfRoot}/${apiPart}/${contextName}/`)) {
3998
- await instance.intercept({
3999
- client: {
4000
- req,
4001
- },
4002
- });
4003
- }
4004
- else {
4005
- // console.log('not fit frontend', url.href);
4006
- }
4007
- return req;
4008
- });
4009
- })(middlewareInstance, this.contextName, apiPrefix, this.uriPathnameOrNothingIfRoot);
4010
- }
4011
- }
4000
+ async initCustomClientMiddlewares() {
4001
+ const middlewares = this.getClassesInstancesArrBy(Models.ClassType.MIDDLEWARE)
4002
+ .map(f => f)
4003
+ .filter(f => _.isFunction(f.interceptClient));
4004
+ middlewares.forEach(instance => {
4005
+ const contextName = this.contextName;
4006
+ const interceptorName = `${contextName}-${ClassHelpers.getName(instance)}`;
4007
+ Resource.request.interceptors.set(interceptorName, {
4008
+ intercept: ({ req, next }) => {
4009
+ const url = new URL(req.url);
4010
+ if (url.pathname.startsWith(`${this.uriPathnameOrNothingIfRoot}/${apiPrefix}/${contextName}/`)) {
4011
+ // console.log('intercepting', url.pathname, req);
4012
+ return instance.interceptClient({
4013
+ req,
4014
+ next,
4015
+ });
4016
+ }
4017
+ return next.handle(req);
4018
+ },
4019
+ });
4020
+ });
4012
4021
  }
4013
- async initBackendMiddlewares() {
4014
- /* */
4015
- /* */
4016
- /* */
4017
- /* */
4018
- /* */
4019
- /* */
4020
- /* */
4021
- /* */
4022
- /* */
4023
- /* */
4024
- /* */
4022
+ async initCustomBackendMiddlewares() {
4025
4023
  /* */
4026
4024
  /* */
4027
4025
  /* */
@@ -4056,6 +4054,8 @@ class EndpointContext {
4056
4054
  /* */
4057
4055
  /* */
4058
4056
  /* */
4057
+ }
4058
+ async initBackendMiddlewares() {
4059
4059
  /* */
4060
4060
  /* */
4061
4061
  /* */
@@ -4165,16 +4165,31 @@ class EndpointContext {
4165
4165
  //#region methods & getters / init methods node
4166
4166
  initServer(
4167
4167
  //#region parameters
4168
- type, methodConfig, classConfig, expressPath, target) {
4168
+ httpMethodType, methodConfig, classConfig, expressPath, target) {
4169
4169
  //#region resolve variables
4170
- //#region @websql
4171
- const requestHandler = methodConfig.requestHandler &&
4172
- typeof methodConfig.requestHandler === 'function'
4173
- ? methodConfig.requestHandler
4174
- : (req, res, next) => {
4175
- next();
4176
- };
4177
- //#endregion
4170
+ const middlewareHandlers = (Array.isArray(methodConfig.middlewares) &&
4171
+ methodConfig.middlewares?.length > 0
4172
+ ? methodConfig.middlewares
4173
+ : [])
4174
+ .map(middlewareClassFun => {
4175
+ const middlewareInstance = this.getInstanceBy(middlewareClassFun);
4176
+ if (middlewareInstance &&
4177
+ _.isFunction(middlewareInstance.interceptServerMethod)) {
4178
+ const middlewareFn = ClassHelpers.asyncHandler(async (req, res, next) => {
4179
+ await middlewareInstance.interceptServerMethod({
4180
+ req,
4181
+ res,
4182
+ next,
4183
+ }, {
4184
+ methodName: methodConfig.methodName,
4185
+ expressPath,
4186
+ httpRequestType: methodConfig.type,
4187
+ });
4188
+ });
4189
+ return middlewareFn;
4190
+ }
4191
+ })
4192
+ .filter(f => !!f);
4178
4193
  // const url = this.uri;
4179
4194
  //#region get result
4180
4195
  const getResult = async (resolvedParams, req, res) => {
@@ -4184,7 +4199,7 @@ class EndpointContext {
4184
4199
  */
4185
4200
  this.getInstanceBy(target),
4186
4201
  /**
4187
- * Params for metjod @GET, @PUT etc.
4202
+ * Params for method @GET, @PUT etc.
4188
4203
  */
4189
4204
  resolvedParams);
4190
4205
  let result = await getResponseValue(response, { req, res });
@@ -4223,8 +4238,9 @@ class EndpointContext {
4223
4238
  //#region apply dummy websql express routers
4224
4239
  //#region @websql
4225
4240
  if (Helpers.isWebSQL) {
4226
- if (!this.expressApp[type.toLowerCase()]) {
4227
- this.expressApp[type.toLowerCase()] = () => { };
4241
+ if (!this.expressApp[httpMethodType.toLowerCase()]) {
4242
+ this.expressApp[httpMethodType.toLowerCase()] = () => { };
4243
+ // TODO add middlewares for WEBSQL and ELECTRON mode
4228
4244
  }
4229
4245
  }
4230
4246
  //#endregion
@@ -4443,6 +4459,7 @@ class EndpointContext {
4443
4459
  /* */
4444
4460
  /* */
4445
4461
  /* */
4462
+ /* */
4446
4463
  }
4447
4464
  return {
4448
4465
  expressPath: expressPath,
@@ -4456,10 +4473,31 @@ class EndpointContext {
4456
4473
  */
4457
4474
  async initClient(
4458
4475
  //#region parameters
4459
- target, type, methodConfig, expressPath) {
4476
+ target, httpRequestType, methodConfig, // Models.Http.Rest.MethodConfig,
4477
+ expressPath) {
4460
4478
  const ctx = this;
4479
+ //#region init middlewares
4480
+ const middlewares = methodConfig.middlewares
4481
+ .map(f => this.getInstanceBy(f))
4482
+ .filter(f => _.isFunction(f.interceptClientMethod));
4483
+ middlewares.forEach(instance => {
4484
+ Resource.request.methodsInterceptors.set(`${methodConfig.type?.toUpperCase()}-${expressPath}`, {
4485
+ intercept: ({ req, next }) => {
4486
+ return instance.interceptClientMethod({
4487
+ req,
4488
+ next,
4489
+ }, {
4490
+ methodName: methodConfig.methodName,
4491
+ expressPath,
4492
+ httpRequestType: httpRequestType,
4493
+ });
4494
+ },
4495
+ });
4496
+ });
4497
+ //#endregion
4461
4498
  // : { received: any; /* Rest<any, any> */ }
4462
- this.logHttp && console.log(`${type?.toUpperCase()} ${expressPath} `);
4499
+ this.logHttp &&
4500
+ console.log(`${httpRequestType?.toUpperCase()} ${expressPath} `);
4463
4501
  // console.log('INITING', methodConfig); // TODO inject in static
4464
4502
  //#region resolve storage
4465
4503
  // TODO not a good idea
@@ -4501,6 +4539,9 @@ class EndpointContext {
4501
4539
  received['observable'] = from(received);
4502
4540
  return {
4503
4541
  received,
4542
+ request(axiosConfig) {
4543
+ return received;
4544
+ },
4504
4545
  };
4505
4546
  };
4506
4547
  return;
@@ -4621,11 +4662,16 @@ class EndpointContext {
4621
4662
  if (Helpers.isWebSQL) {
4622
4663
  return {
4623
4664
  received,
4665
+ request(axiosConfig) {
4666
+ // console.log('request', axiosConfgi);
4667
+ return received;
4668
+ },
4624
4669
  };
4625
4670
  }
4626
4671
  };
4627
4672
  if (Helpers.isWebSQL) {
4628
- return;
4673
+ // @ts-ignore
4674
+ return undefined;
4629
4675
  }
4630
4676
  //#endregion
4631
4677
  //#endregion
@@ -4668,8 +4714,7 @@ class EndpointContext {
4668
4714
  else {
4669
4715
  rest = endpoints[ctx.uriOrigin][expressPath];
4670
4716
  }
4671
- const method = type.toLowerCase();
4672
- const isWithBody = method === 'put' || method === 'post';
4717
+ const method = httpRequestType.toLowerCase();
4673
4718
  const pathPrams = {};
4674
4719
  let queryParams = {};
4675
4720
  let bodyObject = {};
@@ -4767,9 +4812,11 @@ instead
4767
4812
  }
4768
4813
  //#endregion
4769
4814
  const httpResultObj = {
4770
- received: isWithBody
4771
- ? rest.model(pathPrams)[method](bodyObject, [queryParams])
4772
- : rest.model(pathPrams)[method]([queryParams]),
4815
+ received: rest.model(pathPrams)[method](bodyObject, [queryParams]),
4816
+ request(axiosConfig) {
4817
+ return rest
4818
+ .model(pathPrams)[method](bodyObject, [queryParams], axiosConfig);
4819
+ },
4773
4820
  };
4774
4821
  return httpResultObj;
4775
4822
  };
@@ -4997,16 +5044,16 @@ const createContext = (configFn) => {
4997
5044
  };
4998
5045
 
4999
5046
  /**
5000
- * Repository decorator
5047
+ * Provider decorator
5001
5048
  */
5002
- function TaonRepository(options) {
5049
+ function TaonMiddleware(options) {
5003
5050
  return function (constructor) {
5004
- Reflect.defineMetadata(Symbols.metadata.options.repository, options, constructor);
5051
+ Reflect.defineMetadata(Symbols.metadata.options.provider, options, constructor);
5005
5052
  Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
5006
- ClassHelpers.setName(constructor, options?.className);
5053
+ ClassHelpers.setName(constructor, options?.className || constructor.name);
5007
5054
  };
5008
5055
  }
5009
- class TaonRepositoryOptions extends Models.DecoratorAbstractOpt {
5056
+ class TaonMiddlewareOptions extends DecoratorAbstractOpt {
5010
5057
  }
5011
5058
 
5012
5059
  //#endregion
@@ -5193,6 +5240,95 @@ class BaseInjector {
5193
5240
  }
5194
5241
  }
5195
5242
 
5243
+ /**
5244
+ * TODO
5245
+ * - global provider available in all contexts
5246
+ * - provider available in own context
5247
+ */
5248
+ class BaseMiddleware extends BaseInjector {
5249
+ }
5250
+
5251
+ //#endregion
5252
+ /**
5253
+ * Configurable file upload middleware (multer based)
5254
+ */
5255
+ let BaseFileUploadMiddleware = class BaseFileUploadMiddleware extends BaseMiddleware {
5256
+ async interceptServerMethod({ req, res, next }, { methodName, expressPath }) {
5257
+ return this.middleware()(req, res, next);
5258
+ }
5259
+ //#region upload Dir
5260
+ uploadDir() {
5261
+ return crossPlatformPath([this.ctx.cwd, 'uploaded-files']);
5262
+ }
5263
+ //#endregion
5264
+ //#region storage
5265
+ storage() {
5266
+ /* */
5267
+ /* */
5268
+ /* */
5269
+ /* */
5270
+ /* */
5271
+ /* */
5272
+ /* */
5273
+ /* */
5274
+ /* */
5275
+ /* */
5276
+ /* */
5277
+ /* */
5278
+ /* */
5279
+ /* */
5280
+ /* */
5281
+ /* */
5282
+ /* */
5283
+ /* */
5284
+ /* */
5285
+ return (void 0);
5286
+ }
5287
+ //#endregion
5288
+ //#region upload
5289
+ upload() {
5290
+ /* */
5291
+ /* */
5292
+ /* */
5293
+ /* */
5294
+ /* */
5295
+ /* */
5296
+ /* */
5297
+ /* */
5298
+ /* */
5299
+ /* */
5300
+ /* */
5301
+ /* */
5302
+ /* */
5303
+ return (void 0);
5304
+ }
5305
+ //#endregion
5306
+ //#region middleware
5307
+ middleware() {
5308
+ /* */
5309
+ /* */
5310
+ return (void 0);
5311
+ }
5312
+ };
5313
+ BaseFileUploadMiddleware = __decorate([
5314
+ TaonMiddleware({
5315
+ className: 'BaseFileUploadMiddleware',
5316
+ })
5317
+ ], BaseFileUploadMiddleware);
5318
+
5319
+ /**
5320
+ * Repository decorator
5321
+ */
5322
+ function TaonRepository(options) {
5323
+ return function (constructor) {
5324
+ Reflect.defineMetadata(Symbols.metadata.options.repository, options, constructor);
5325
+ Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
5326
+ ClassHelpers.setName(constructor, options?.className);
5327
+ };
5328
+ }
5329
+ class TaonRepositoryOptions extends DecoratorAbstractOpt {
5330
+ }
5331
+
5196
5332
  //#endregion
5197
5333
  let BaseCustomRepository = class BaseCustomRepository extends BaseInjector {
5198
5334
  };
@@ -5787,6 +5923,9 @@ BaseRepository = __decorate([
5787
5923
  const BaseContext = createContext(() => ({
5788
5924
  contextName: 'BaseContext',
5789
5925
  abstract: true,
5926
+ middlewares: {
5927
+ BaseFileUploadMiddleware,
5928
+ },
5790
5929
  repositories: {
5791
5930
  // @ts-ignore
5792
5931
  BaseRepository,
@@ -5808,14 +5947,6 @@ function TaonController(options) {
5808
5947
  Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
5809
5948
  };
5810
5949
  }
5811
- class TaonControllerOptions extends Models.DecoratorAbstractOpt {
5812
- }
5813
-
5814
- let BaseController = class BaseController extends BaseInjector {
5815
- };
5816
- BaseController = __decorate([
5817
- TaonController({ className: 'BaseController' })
5818
- ], BaseController);
5819
5950
 
5820
5951
  const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, pathIsGlobal) => {
5821
5952
  let options;
@@ -5828,13 +5959,14 @@ const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, p
5828
5959
  else {
5829
5960
  options = { pathOrOptions, pathIsGlobal };
5830
5961
  }
5831
- const { overrideContentType, overridResponseType } = options;
5962
+ const { overrideContentType, overrideResponseType, middlewares } = options;
5832
5963
  let methodConfig = Reflect.getMetadata(Symbols.metadata.options.controllerMethod, target.constructor, propertyKey);
5833
5964
  if (!methodConfig) {
5834
5965
  methodConfig = new Models.MethodConfig();
5835
5966
  Reflect.defineMetadata(Symbols.metadata.options.controllerMethod, methodConfig, target.constructor, propertyKey);
5836
5967
  }
5837
5968
  methodConfig.methodName = propertyKey;
5969
+ methodConfig.middlewares = middlewares || [];
5838
5970
  methodConfig.type = method;
5839
5971
  if (!path) {
5840
5972
  let paramsPathConcatedPath = '';
@@ -5856,7 +5988,7 @@ const metaReq = (method, path, target, propertyKey, descriptor, pathOrOptions, p
5856
5988
  methodConfig.descriptor = descriptor;
5857
5989
  methodConfig.global = pathIsGlobal;
5858
5990
  methodConfig.contentType = overrideContentType;
5859
- methodConfig.responseType = overridResponseType;
5991
+ methodConfig.responseType = overrideResponseType;
5860
5992
  Reflect.defineMetadata(Symbols.metadata.options.controllerMethod, methodConfig, target.constructor, propertyKey);
5861
5993
  // console.log('methods updated', methodConfig);
5862
5994
  };
@@ -5935,6 +6067,68 @@ function Body(name) {
5935
6067
  };
5936
6068
  }
5937
6069
 
6070
+ /* */
6071
+ /* */
6072
+ let BaseController = class BaseController extends BaseInjector {
6073
+ //#region upload form data to server
6074
+ uploadFormDataToServer(formData) {
6075
+ /* */
6076
+ /* */
6077
+ /* */
6078
+ /* */
6079
+ /* */
6080
+ /* */
6081
+ /* */
6082
+ /* */
6083
+ /* */
6084
+ /* */
6085
+ /* */
6086
+ /* */
6087
+ /* */
6088
+ /* */
6089
+ /* */
6090
+ /* */
6091
+ /* */
6092
+ /* */
6093
+ /* */
6094
+ /* */
6095
+ /* */
6096
+ return (void 0);
6097
+ }
6098
+ //#endregion
6099
+ //#region upload local file to server
6100
+ async uploadLocalFileToServer(absFilePath) {
6101
+ /* */
6102
+ /* */
6103
+ /* */
6104
+ /* */
6105
+ /* */
6106
+ /* */
6107
+ /* */
6108
+ /* */
6109
+ /* */
6110
+ /* */
6111
+ /* */
6112
+ /* */
6113
+ return (void 0);
6114
+ }
6115
+ };
6116
+ __decorate([
6117
+ POST({
6118
+ overrideContentType: 'multipart/form-data',
6119
+ middlewares: [BaseFileUploadMiddleware],
6120
+ }),
6121
+ __param(0, Body()),
6122
+ __metadata("design:type", Function),
6123
+ __metadata("design:paramtypes", [FormData]),
6124
+ __metadata("design:returntype", Object)
6125
+ ], BaseController.prototype, "uploadFormDataToServer", null);
6126
+ BaseController = __decorate([
6127
+ TaonController({
6128
+ className: 'BaseController',
6129
+ })
6130
+ ], BaseController);
6131
+
5938
6132
  //#endregion
5939
6133
  /**
5940
6134
  * Please override property entityClassFn with entity class.
@@ -6211,14 +6405,6 @@ BaseCrudController = __decorate([
6211
6405
  TaonController({ className: 'BaseCrudController' })
6212
6406
  ], BaseCrudController);
6213
6407
 
6214
- /**
6215
- * TODO
6216
- * - global provider available in all contexts
6217
- * - provider available in own context
6218
- */
6219
- class BaseMiddleware extends BaseInjector {
6220
- }
6221
-
6222
6408
  class BaseMigration extends BaseInjector {
6223
6409
  /**
6224
6410
  * by default is READY to run
@@ -6255,7 +6441,7 @@ function TaonSubscriber(options) {
6255
6441
  ClassHelpers.setName(constructor, options?.className);
6256
6442
  };
6257
6443
  }
6258
- class TaonSubscriberOptions extends Models.DecoratorAbstractOpt {
6444
+ class TaonSubscriberOptions extends DecoratorAbstractOpt {
6259
6445
  }
6260
6446
 
6261
6447
  let BaseSubscriberForEntity = class BaseSubscriberForEntity extends BaseInjector {
@@ -6418,7 +6604,6 @@ var Base;
6418
6604
  Base.Context = BaseContext;
6419
6605
  })(Base || (Base = {}));
6420
6606
 
6421
- //#endregion
6422
6607
  /**
6423
6608
  * Entity decorator
6424
6609
  */
@@ -6438,20 +6623,7 @@ function TaonEntity(options) {
6438
6623
  CLASS.setName(constructor, options?.className); // TODO QUICK_FIX for ng2-rest
6439
6624
  };
6440
6625
  }
6441
- class TaonEntityOptions extends Models.DecoratorAbstractOpt {
6442
- }
6443
-
6444
- /**
6445
- * Provider decorator
6446
- */
6447
- function TaonMiddleware(options) {
6448
- return function (constructor) {
6449
- Reflect.defineMetadata(Symbols.metadata.options.provider, options, constructor);
6450
- Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
6451
- ClassHelpers.setName(constructor, options?.className || constructor.name);
6452
- };
6453
- }
6454
- class TaonMiddlewareOptions extends Models.DecoratorAbstractOpt {
6626
+ class TaonEntityOptions extends DecoratorAbstractOpt {
6455
6627
  }
6456
6628
 
6457
6629
  /**
@@ -6464,7 +6636,7 @@ function TaonMigration(options) {
6464
6636
  ClassHelpers.setName(constructor, options?.className);
6465
6637
  };
6466
6638
  }
6467
- class TaonMigrationOptions extends Models.DecoratorAbstractOpt {
6639
+ class TaonMigrationOptions extends DecoratorAbstractOpt {
6468
6640
  }
6469
6641
 
6470
6642
  /**
@@ -6477,7 +6649,7 @@ function TaonProvider(options) {
6477
6649
  ClassHelpers.setName(constructor, options?.className || constructor.name);
6478
6650
  };
6479
6651
  }
6480
- class TaonProviderOptions extends Models.DecoratorAbstractOpt {
6652
+ class TaonProviderOptions extends DecoratorAbstractOpt {
6481
6653
  }
6482
6654
 
6483
6655
  var Http;