taon 19.0.51 → 19.0.53

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 (146) hide show
  1. package/README.md +160 -160
  2. package/bin/start.js +279 -279
  3. package/bin/taon +6 -6
  4. package/bin/taon-debug +5 -5
  5. package/bin/taon-debug-brk +5 -5
  6. package/browser/README.md +24 -24
  7. package/browser/fesm2022/taon.mjs +188 -95
  8. package/browser/fesm2022/taon.mjs.map +1 -1
  9. package/browser/lib/base-classes/base-angular-service.d.ts +3 -6
  10. package/browser/lib/base-classes/base-context.d.ts +1 -0
  11. package/browser/lib/base-classes/base-controller.d.ts +0 -6
  12. package/browser/lib/base-classes/base-injector.d.ts +4 -5
  13. package/browser/lib/base-classes/base-middleware.d.ts +17 -0
  14. package/browser/lib/base-classes/base.d.ts +3 -0
  15. package/browser/lib/constants.d.ts +1 -1
  16. package/browser/lib/create-context.d.ts +4 -2
  17. package/browser/lib/decorators/classes/middleware-decorator.d.ts +8 -0
  18. package/browser/lib/endpoint-context.d.ts +7 -6
  19. package/browser/lib/index.d.ts +8 -2
  20. package/browser/lib/models.d.ts +65 -5
  21. package/browser/package.json +1 -1
  22. package/lib/base-classes/base-angular-service.d.ts +3 -6
  23. package/lib/base-classes/base-angular-service.js +12 -16
  24. package/lib/base-classes/base-angular-service.js.map +1 -1
  25. package/lib/base-classes/base-context.d.ts +1 -0
  26. package/lib/base-classes/base-controller.d.ts +0 -6
  27. package/lib/base-classes/base-controller.js +0 -8
  28. package/lib/base-classes/base-controller.js.map +1 -1
  29. package/lib/base-classes/base-injector.d.ts +4 -5
  30. package/lib/base-classes/base-injector.js +6 -7
  31. package/lib/base-classes/base-injector.js.map +1 -1
  32. package/lib/base-classes/base-middleware.d.ts +20 -0
  33. package/lib/base-classes/base-middleware.js +13 -0
  34. package/lib/base-classes/base-middleware.js.map +1 -0
  35. package/lib/base-classes/base.d.ts +3 -0
  36. package/lib/base-classes/base.js +2 -0
  37. package/lib/base-classes/base.js.map +1 -1
  38. package/lib/build-info._auto-generated_.d.ts +1 -1
  39. package/lib/build-info._auto-generated_.js +1 -1
  40. package/lib/constants.d.ts +1 -1
  41. package/lib/constants.js +2 -3
  42. package/lib/constants.js.map +1 -1
  43. package/lib/create-context.d.ts +4 -2
  44. package/lib/create-context.js +40 -36
  45. package/lib/create-context.js.map +1 -1
  46. package/lib/decorators/classes/middleware-decorator.d.ts +7 -0
  47. package/lib/decorators/classes/middleware-decorator.js +21 -0
  48. package/lib/decorators/classes/middleware-decorator.js.map +1 -0
  49. package/lib/decorators/classes/provider-decorator.js +1 -1
  50. package/lib/decorators/classes/provider-decorator.js.map +1 -1
  51. package/lib/endpoint-context.d.ts +7 -6
  52. package/lib/endpoint-context.js +87 -32
  53. package/lib/endpoint-context.js.map +1 -1
  54. package/lib/index.d.ts +8 -2
  55. package/lib/index.js +2 -0
  56. package/lib/index.js.map +1 -1
  57. package/lib/models.d.ts +65 -5
  58. package/lib/models.js +7 -5
  59. package/lib/models.js.map +1 -1
  60. package/lib/realtime/realtime-client.js +2 -1
  61. package/lib/realtime/realtime-client.js.map +1 -1
  62. package/lib/ui/index.js +2 -2
  63. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  64. package/package.json +1 -1
  65. package/websql/README.md +24 -24
  66. package/websql/fesm2022/taon.mjs +192 -97
  67. package/websql/fesm2022/taon.mjs.map +1 -1
  68. package/websql/lib/base-classes/base-angular-service.d.ts +3 -6
  69. package/websql/lib/base-classes/base-context.d.ts +1 -0
  70. package/websql/lib/base-classes/base-controller.d.ts +0 -6
  71. package/websql/lib/base-classes/base-injector.d.ts +4 -5
  72. package/websql/lib/base-classes/base-middleware.d.ts +21 -0
  73. package/websql/lib/base-classes/base.d.ts +3 -0
  74. package/websql/lib/constants.d.ts +1 -1
  75. package/websql/lib/create-context.d.ts +4 -2
  76. package/websql/lib/decorators/classes/middleware-decorator.d.ts +8 -0
  77. package/websql/lib/endpoint-context.d.ts +7 -6
  78. package/websql/lib/index.d.ts +8 -2
  79. package/websql/lib/models.d.ts +65 -5
  80. package/websql/package.json +1 -1
  81. package/env.d.ts +0 -3
  82. package/environments/angular-node-app/env.angular-node-app.__.d.ts +0 -3
  83. package/environments/angular-node-app/env.angular-node-app.dev.d.ts +0 -3
  84. package/environments/angular-node-app/env.angular-node-app.localhost.d.ts +0 -3
  85. package/environments/angular-node-app/env.angular-node-app.prod.d.ts +0 -3
  86. package/environments/angular-node-app/env.angular-node-app.stage.d.ts +0 -3
  87. package/environments/docs-webapp/env.docs-webapp.__.d.ts +0 -3
  88. package/environments/electron-app/env.electron-app.__.d.ts +0 -3
  89. package/environments/electron-app/env.electron-app.prod.d.ts +0 -3
  90. package/environments/mobile-app/env.mobile-app.__.d.ts +0 -3
  91. package/environments/mobile-app/env.mobile-app.prod.d.ts +0 -3
  92. package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.__.d.ts +0 -3
  93. package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.prod.d.ts +0 -3
  94. package/environments/vscode-plugin/env.vscode-plugin.__.d.ts +0 -6
  95. package/environments/vscode-plugin/env.vscode-plugin.prod.d.ts +0 -4
  96. package/lib/ui/directives/index.d.ts +0 -3
  97. package/lib/ui/directives/index.js +0 -5
  98. package/lib/ui/directives/index.js.map +0 -1
  99. package/lib/ui/directives/safe.pipe.d.ts +0 -7
  100. package/lib/ui/directives/taon-inject-html.directive.d.ts +0 -6
  101. package/lib/ui/directives/taon-long-press.directive.d.ts +0 -22
  102. package/lib/ui/directives/view-mode.d.ts +0 -5
  103. package/lib/ui/directives/view-mode.js +0 -10
  104. package/lib/ui/directives/view-mode.js.map +0 -1
  105. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +0 -43
  106. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +0 -5
  107. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js +0 -3
  108. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +0 -1
  109. package/lib/ui/taon-full-material.module.d.ts +0 -5
  110. package/lib/ui/taon-github-fork-me-corner/index.d.ts +0 -2
  111. package/lib/ui/taon-github-fork-me-corner/index.js +0 -5
  112. package/lib/ui/taon-github-fork-me-corner/index.js.map +0 -1
  113. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +0 -3
  114. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +0 -2
  115. package/lib/ui/taon-github-fork-me-ribbon/index.d.ts +0 -2
  116. package/lib/ui/taon-github-fork-me-ribbon/index.js +0 -5
  117. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +0 -1
  118. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.component.d.ts +0 -3
  119. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.module.d.ts +0 -2
  120. package/lib/ui/taon-notifications/index.d.ts +0 -4
  121. package/lib/ui/taon-notifications/index.js +0 -24
  122. package/lib/ui/taon-notifications/index.js.map +0 -1
  123. package/lib/ui/taon-notifications/taon-notifications.component.d.ts +0 -9
  124. package/lib/ui/taon-notifications/taon-notifications.models.d.ts +0 -6
  125. package/lib/ui/taon-notifications/taon-notifications.models.js +0 -5
  126. package/lib/ui/taon-notifications/taon-notifications.models.js.map +0 -1
  127. package/lib/ui/taon-notifications/taon-notifications.module.d.ts +0 -2
  128. package/lib/ui/taon-notifications/taon-notifications.service.d.ts +0 -11
  129. package/lib/ui/taon-progress-bar/index.d.ts +0 -2
  130. package/lib/ui/taon-progress-bar/index.js +0 -5
  131. package/lib/ui/taon-progress-bar/index.js.map +0 -1
  132. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +0 -13
  133. package/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +0 -2
  134. package/lib/ui/taon-session-passcode/index.d.ts +0 -1
  135. package/lib/ui/taon-session-passcode/index.js +0 -5
  136. package/lib/ui/taon-session-passcode/index.js.map +0 -1
  137. package/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +0 -35
  138. package/lib/ui/taon-table/index.d.ts +0 -2
  139. package/lib/ui/taon-table/index.js +0 -5
  140. package/lib/ui/taon-table/index.js.map +0 -1
  141. package/lib/ui/taon-table/taon-table.component.d.ts +0 -34
  142. package/lib/ui/taon-table/taon-table.module.d.ts +0 -2
  143. package/lib/ui/taon.models.d.ts +0 -11
  144. package/lib/ui/taon.models.js +0 -3
  145. package/lib/ui/taon.models.js.map +0 -1
  146. package/tmp-environment.json +0 -32
@@ -5,6 +5,7 @@ import * as controller from './base-controller';
5
5
  import * as crudController from './base-crud-controller';
6
6
  import * as customRepository from './base-custom-repository';
7
7
  import * as entity from './base-entity';
8
+ import * as baseMiddleware from './base-middleware';
8
9
  import * as baseMigration from './base-migration';
9
10
  import * as provider from './base-provider';
10
11
  import * as repository from './base-repository';
@@ -21,6 +22,7 @@ export declare namespace Base {
21
22
  export import CustomRepository = customRepository.BaseCustomRepository;
22
23
  export import SubscriberForEntity = baseSubscriberEntity.BaseSubscriberForEntity;
23
24
  export import Migration = baseMigration.BaseMigration;
25
+ export import Middleware = baseMiddleware.BaseMiddleware;
24
26
  export import AngularService = baseService.BaseAngularsService;
25
27
  const Context: {
26
28
  types: {
@@ -29,6 +31,7 @@ export declare namespace Base {
29
31
  readonly providers: any;
30
32
  readonly subscribers: any;
31
33
  readonly migrations: any;
34
+ readonly middlewares: any;
32
35
  };
33
36
  readonly contexts: any;
34
37
  readonly contextName: string;
@@ -9,6 +9,7 @@ const controller = require("./base-controller");
9
9
  const crudController = require("./base-crud-controller");
10
10
  const customRepository = require("./base-custom-repository");
11
11
  const entity = require("./base-entity");
12
+ const baseMiddleware = require("./base-middleware");
12
13
  const baseMigration = require("./base-migration");
13
14
  const provider = require("./base-provider");
14
15
  const repository = require("./base-repository");
@@ -25,6 +26,7 @@ var Base;
25
26
  Base.CustomRepository = customRepository.BaseCustomRepository;
26
27
  Base.SubscriberForEntity = baseSubscriberEntity.BaseSubscriberForEntity;
27
28
  Base.Migration = baseMigration.BaseMigration;
29
+ Base.Middleware = baseMiddleware.BaseMiddleware;
28
30
  Base.AngularService = baseService.BaseAngularsService;
29
31
  Base.Context = baseContext.BaseContext;
30
32
  })(Base || (exports.Base = Base = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,sDAAsD;AACtD,0CAA0C;AAC1C,8CAA8C;AAC9C,gDAAgD;AAChD,yDAAyD;AACzD,6DAA6D;AAC7D,wCAAwC;AACxC,kDAAkD;AAClD,4CAA4C;AAC5C,gDAAgD;AAChD,qEAAqE;AACrE,IAAiB,IAAI,CAcpB;AAdD,WAAiB,IAAI;IACL,eAAU,GAAG,UAAU,CAAC,cAAc,CAAC;IACvC,mBAAc,GAAG,cAAc,CAAC,kBAAkB,CAAC;IACnD,WAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3B,mBAAc,GAAG,cAAc,CAAC,kBAAkB,CAAC;IAEnD,aAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;IACjC,UAAK,GAAG,SAAS,CAAC,SAAS,CAAC;IAC5B,eAAU,GAAG,UAAU,CAAC,cAAc,CAAC;IACvC,qBAAgB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;IACzD,wBAAmB,GAAG,oBAAoB,CAAC,uBAAuB,CAAC;IACnE,cAAS,GAAG,aAAa,CAAC,aAAa,CAAC;IACxC,mBAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC;IAClD,YAAO,GAAG,WAAW,CAAC,WAAW,CAAC;AACjD,CAAC,EAdgB,IAAI,oBAAJ,IAAI,QAcpB"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,sDAAsD;AACtD,0CAA0C;AAC1C,8CAA8C;AAC9C,gDAAgD;AAChD,yDAAyD;AACzD,6DAA6D;AAC7D,wCAAwC;AACxC,oDAAoD;AACpD,kDAAkD;AAClD,4CAA4C;AAC5C,gDAAgD;AAChD,qEAAqE;AACrE,IAAiB,IAAI,CAepB;AAfD,WAAiB,IAAI;IACL,eAAU,GAAG,UAAU,CAAC,cAAc,CAAC;IACvC,mBAAc,GAAG,cAAc,CAAC,kBAAkB,CAAC;IACnD,WAAM,GAAG,MAAM,CAAC,UAAU,CAAC;IAC3B,mBAAc,GAAG,cAAc,CAAC,kBAAkB,CAAC;IAEnD,aAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;IACjC,UAAK,GAAG,SAAS,CAAC,SAAS,CAAC;IAC5B,eAAU,GAAG,UAAU,CAAC,cAAc,CAAC;IACvC,qBAAgB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;IACzD,wBAAmB,GAAG,oBAAoB,CAAC,uBAAuB,CAAC;IACnE,cAAS,GAAG,aAAa,CAAC,aAAa,CAAC;IACxC,eAAU,GAAG,cAAc,CAAC,cAAc,CAAC;IAC3C,mBAAc,GAAG,WAAW,CAAC,mBAAmB,CAAC;IAClD,YAAO,GAAG,WAAW,CAAC,WAAW,CAAC;AACjD,CAAC,EAfgB,IAAI,oBAAJ,IAAI,QAepB"}
@@ -17,4 +17,4 @@ export declare const PROJECT_NPM_NAME = "taon";
17
17
  /**
18
18
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
19
19
  */
20
- export declare const CURRENT_PACKAGE_VERSION = "19.0.51";
20
+ export declare const CURRENT_PACKAGE_VERSION = "19.0.53";
@@ -21,6 +21,6 @@ exports.PROJECT_NPM_NAME = 'taon';
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- exports.CURRENT_PACKAGE_VERSION = '19.0.51';
24
+ exports.CURRENT_PACKAGE_VERSION = '19.0.53';
25
25
  // THIS FILE IS GENERATED - DO NOT MODIFY
26
26
  //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -1,4 +1,4 @@
1
- export type TaonEntityKeysToOmit = 'ctrl' | 'clone' | '__endpoint_context__' | 'ctx' | 'inject' | '_' | 'relation' | 'relations' | 'inject' | 'injectRepo' | 'injectCustomRepository' | 'injectCustomRepo' | 'injectController' | 'injectCtrl' | 'injectGlobalProvider' | 'injectLocalProvider' | 'injectContextProvider';
1
+ export type TaonEntityKeysToOmit = 'ctrl' | 'clone' | '__endpoint_context__' | 'ctx' | 'inject' | '_' | 'relation' | 'relations' | 'inject' | 'injectRepo' | 'injectCustomRepository' | 'injectCustomRepo' | 'injectController' | 'injectCtrl' | 'injectProvider' | 'injectMiddleware';
2
2
  export declare const TaonEntityKeysToOmitArr: TaonEntityKeysToOmit[];
3
3
  import { InjectionToken } from '@angular/core';
4
4
  import type { TaonContext } from './create-context';
package/lib/constants.js CHANGED
@@ -16,9 +16,8 @@ exports.TaonEntityKeysToOmitArr = [
16
16
  'injectCustomRepo',
17
17
  'injectController',
18
18
  'injectCtrl',
19
- 'injectGlobalProvider',
20
- 'injectLocalProvider',
21
- 'injectContextProvider',
19
+ 'injectProvider',
20
+ 'injectMiddleware',
22
21
  ];
23
22
  let TAON_CONTEXT;
24
23
  /* */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAmBa,QAAA,uBAAuB,GAA2B;IAC7D,MAAM;IACN,OAAO;IACP,sBAAsB;IACtB,KAAK;IACL,QAAQ;IACR,GAAG;IACH,UAAU;IACV,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,sBAAsB;IACtB,qBAAqB;IACrB,uBAAuB;CACxB,CAAC;AAMF,IAAI,YAAyC,CAAC;AAC9C,KAAK;AACL,KAAK;AAGL,IAAI,yBAAiD,CAAC;AASzC,QAAA,SAAS,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAkBa,QAAA,uBAAuB,GAA2B;IAC7D,MAAM;IACN,OAAO;IACP,sBAAsB;IACtB,KAAK;IACL,QAAQ;IACR,GAAG;IACH,UAAU;IACV,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,kBAAkB;CACnB,CAAC;AAMF,IAAI,YAAyC,CAAC;AAC9C,KAAK;AACL,KAAK;AAGL,IAAI,yBAAiD,CAAC;AASzC,QAAA,SAAS,GAAG,KAAK,CAAC"}
@@ -5,13 +5,14 @@ import { Models } from './models';
5
5
  * Context function can be used to dynamically
6
6
  * create context with specific configuration.
7
7
  */
8
- export declare const createContextTemplate: <CTX extends Record<string, object>, CTRL extends Record<string, new (...args: any[]) => any>, ENTITY extends Record<string, new (...args: any[]) => any>, REPO extends Record<string, new (...args: any[]) => any>, PROVIDER extends Record<string, new (...args: any[]) => any>, SUBSCRIBER extends Record<string, new (...args: any[]) => any>, MIGRATION extends Record<string, new (...args: any[]) => any>>(configFn: (env: any) => Models.ContextOptions<CTX, CTRL, ENTITY, REPO, PROVIDER, SUBSCRIBER, MIGRATION>) => () => {
8
+ export declare const createContextTemplate: <CTX extends Record<string, object>, CTRL extends Record<string, new (...args: any[]) => any>, ENTITY extends Record<string, new (...args: any[]) => any>, REPO extends Record<string, new (...args: any[]) => any>, PROVIDER extends Record<string, new (...args: any[]) => any>, SUBSCRIBER extends Record<string, new (...args: any[]) => any>, MIGRATION extends Record<string, new (...args: any[]) => any>, MIDDLEWARE extends Record<string, new (...args: any[]) => any>>(configFn: (env: any) => Models.ContextOptions<CTX, CTRL, ENTITY, REPO, PROVIDER, SUBSCRIBER, MIGRATION, MIDDLEWARE>) => () => {
9
9
  types: {
10
10
  readonly controllers: any;
11
11
  readonly repositories: any;
12
12
  readonly providers: any;
13
13
  readonly subscribers: any;
14
14
  readonly migrations: any;
15
+ readonly middlewares: any;
15
16
  };
16
17
  readonly contexts: any;
17
18
  readonly contextName: string;
@@ -51,13 +52,14 @@ export declare const createContextTemplate: <CTX extends Record<string, object>,
51
52
  * REQURIED PROPERTY:
52
53
  * - contextName
53
54
  */
54
- export declare const createContext: <CTX extends Record<string, object>, CTRL extends Record<string, new (...args: any[]) => any>, ENTITY extends Record<string, new (...args: any[]) => any>, REPO extends Record<string, new (...args: any[]) => any>, PROVIDER extends Record<string, new (...args: any[]) => any>, SUBSCRIBER extends Record<string, new (...args: any[]) => any>, MIGRATION extends Record<string, new (...args: any[]) => any>>(configFn: (env: any) => Models.ContextOptions<CTX, CTRL, ENTITY, REPO, PROVIDER, SUBSCRIBER, MIGRATION>) => {
55
+ export declare const createContext: <CTX extends Record<string, object>, CTRL extends Record<string, new (...args: any[]) => any>, ENTITY extends Record<string, new (...args: any[]) => any>, REPO extends Record<string, new (...args: any[]) => any>, PROVIDER extends Record<string, new (...args: any[]) => any>, SUBSCRIBER extends Record<string, new (...args: any[]) => any>, MIGRATION extends Record<string, new (...args: any[]) => any>, MIDDLEWARES extends Record<string, new (...args: any[]) => any>>(configFn: (env: any) => Models.ContextOptions<CTX, CTRL, ENTITY, REPO, PROVIDER, SUBSCRIBER, MIGRATION, MIDDLEWARES>) => {
55
56
  types: {
56
57
  readonly controllers: any;
57
58
  readonly repositories: any;
58
59
  readonly providers: any;
59
60
  readonly subscribers: any;
60
61
  readonly migrations: any;
62
+ readonly middlewares: any;
61
63
  };
62
64
  readonly contexts: any;
63
65
  readonly contextName: string;
@@ -65,6 +65,9 @@ const createContext = (configFn) => {
65
65
  get migrations() {
66
66
  return config.migrations; // TODO QUICK_FIX new typescript generated wrong types
67
67
  },
68
+ get middlewares() {
69
+ return config.middlewares; // TODO QUICK_FIX new typescript generated wrong types
70
+ },
68
71
  },
69
72
  //#endregion
70
73
  //#region contexts
@@ -159,42 +162,43 @@ const createContext = (configFn) => {
159
162
  endpointContextRef.writeActiveRoutes();
160
163
  //#endregion
161
164
  await endpointContextRef.initClasses();
162
- let keepWebsqlDbDataAfterReload = false;
163
- /* */
164
- /* */
165
- /* */
166
- if (!lib_1.Helpers.isNode && keepWebsqlDbDataAfterReload) {
167
- !lib_1.UtilsOs.isRunningInCliMode() &&
168
- lib_1.Helpers.info(`[taon] Keeping websql data after reload ` +
169
- `(context=${endpointContextRef.contextName}).`);
170
- }
171
- else {
172
- !lib_1.UtilsOs.isRunningInCliMode() &&
173
- lib_1.Helpers.info(`[taon] Dropping all tables and data ` +
174
- `(context=${endpointContextRef.contextName}).`);
175
- await endpointContextRef.reinitControllers();
176
- }
177
- //#region TODO this may be usefull but for now
178
- // 2 separate contexts are fine
179
- // const shouldStartRemoteHost = endpointContextRef.mode !== 'remote-backend(tcp+udp)';
180
- // if(shouldStartRemoteHost) {
181
- // const endpointContextRemoteHostRef = new EndpointContext(config, configFn);
182
- // await endpointContextRemoteHostRef.init({
183
- // overrideRemoteHost: endpointContextRef.host,
184
- // overrideHost: null,
185
- // });
186
- // endpointContextRemoteHostRef.initMetadata();
187
- // endpointContextRef.__contextForControllerInstanceAccess = endpointContextRemoteHostRef;
188
- // }
189
- //#endregion
190
- if (endpointContextRef.onlyMigrationRun) {
191
- await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
192
- }
193
- else if (endpointContextRef.onlyMigrationRevertToTimestamp) {
194
- await endpointContextRef.dbMigrations.revertMigrationToTimestamp(endpointContextRef.onlyMigrationRevertToTimestamp);
195
- }
196
- else {
197
- await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
165
+ if (endpointContextRef.databaseConfig) {
166
+ let keepWebsqlDbDataAfterReload = false;
167
+ /* */
168
+ /* */
169
+ /* */
170
+ if (!lib_1.Helpers.isNode && keepWebsqlDbDataAfterReload) {
171
+ !lib_1.UtilsOs.isRunningInCliMode() &&
172
+ lib_1.Helpers.info(`[taon] Keeping websql data after reload ` +
173
+ `(context=${endpointContextRef.contextName}).`);
174
+ }
175
+ else {
176
+ !lib_1.UtilsOs.isRunningInCliMode() &&
177
+ lib_1.Helpers.info(`[taon] Dropping all tables and data ` +
178
+ `(context=${endpointContextRef.contextName}).`);
179
+ }
180
+ //#region TODO this may be usefull but for now
181
+ // 2 separate contexts are fine
182
+ // const shouldStartRemoteHost = endpointContextRef.mode !== 'remote-backend(tcp+udp)';
183
+ // if(shouldStartRemoteHost) {
184
+ // const endpointContextRemoteHostRef = new EndpointContext(config, configFn);
185
+ // await endpointContextRemoteHostRef.init({
186
+ // overrideRemoteHost: endpointContextRef.host,
187
+ // overrideHost: null,
188
+ // });
189
+ // endpointContextRemoteHostRef.initMetadata();
190
+ // endpointContextRef.__contextForControllerInstanceAccess = endpointContextRemoteHostRef;
191
+ // }
192
+ //#endregion
193
+ if (endpointContextRef.onlyMigrationRun) {
194
+ await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
195
+ }
196
+ else if (endpointContextRef.onlyMigrationRevertToTimestamp) {
197
+ await endpointContextRef.dbMigrations.revertMigrationToTimestamp(endpointContextRef.onlyMigrationRevertToTimestamp);
198
+ }
199
+ else {
200
+ await endpointContextRef.dbMigrations.runAllNotCompletedMigrations();
201
+ }
198
202
  }
199
203
  resolve(endpointContextRef);
200
204
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-context.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Models } from '../../models';
2
+ /**
3
+ * Provider decorator
4
+ */
5
+ export declare function TaonMiddleware<T = any>(options?: TaonMiddlewareOptions<T>): (constructor: Function) => void;
6
+ export declare class TaonMiddlewareOptions<T = any> extends Models.DecoratorAbstractOpt {
7
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaonMiddlewareOptions = void 0;
4
+ exports.TaonMiddleware = TaonMiddleware;
5
+ const class_helpers_1 = require("../../helpers/class-helpers");
6
+ const models_1 = require("../../models");
7
+ const symbols_1 = require("../../symbols");
8
+ /**
9
+ * Provider decorator
10
+ */
11
+ function TaonMiddleware(options) {
12
+ return function (constructor) {
13
+ Reflect.defineMetadata(symbols_1.Symbols.metadata.options.provider, options, constructor);
14
+ Reflect.defineMetadata(symbols_1.Symbols.metadata.className, options?.className || constructor.name, constructor);
15
+ class_helpers_1.ClassHelpers.setName(constructor, options?.className || constructor.name);
16
+ };
17
+ }
18
+ class TaonMiddlewareOptions extends models_1.Models.DecoratorAbstractOpt {
19
+ }
20
+ exports.TaonMiddlewareOptions = TaonMiddlewareOptions;
21
+ //# sourceMappingURL=middleware-decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware-decorator.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAOA,wCAcC;AArBD,+DAA2D;AAC3D,yCAAsC;AACtC,2CAAwC;AAExC;;GAEG;AACH,SAAgB,cAAc,CAAU,OAAkC;IACxE,OAAO,UAAU,WAAqB;QACpC,OAAO,CAAC,cAAc,CACpB,iBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EACjC,OAAO,EACP,WAAW,CACZ,CAAC;QACF,OAAO,CAAC,cAAc,CACpB,iBAAO,CAAC,QAAQ,CAAC,SAAS,EAC1B,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,IAAI,EACtC,WAAW,CACZ,CAAC;QACF,4BAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC;AAED,MAAa,qBAEX,SAAQ,eAAM,CAAC,oBAAoB;CAEpC;AAJD,sDAIC"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TaonProviderOptions = void 0;
4
4
  exports.TaonProvider = TaonProvider;
5
5
  const class_helpers_1 = require("../../helpers/class-helpers");
6
- const symbols_1 = require("../../symbols");
7
6
  const models_1 = require("../../models");
7
+ const symbols_1 = require("../../symbols");
8
8
  /**
9
9
  * Provider decorator
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"provider-decorator.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAOA,oCAcC;AArBD,+DAA2D;AAC3D,2CAAwC;AACxC,yCAAsC;AAEtC;;GAEG;AACH,SAAgB,YAAY,CAAU,OAAgC;IACpE,OAAO,UAAU,WAAqB;QACpC,OAAO,CAAC,cAAc,CACpB,iBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EACjC,OAAO,EACP,WAAW,CACZ,CAAC;QACF,OAAO,CAAC,cAAc,CACpB,iBAAO,CAAC,QAAQ,CAAC,SAAS,EAC1B,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,IAAI,EACtC,WAAW,CACZ,CAAC;QACF,4BAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC;AAED,MAAa,mBAEX,SAAQ,eAAM,CAAC,oBAAoB;CAEpC;AAJD,kDAIC"}
1
+ {"version":3,"file":"provider-decorator.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAOA,oCAcC;AArBD,+DAA2D;AAC3D,yCAAsC;AACtC,2CAAwC;AAExC;;GAEG;AACH,SAAgB,YAAY,CAAU,OAAgC;IACpE,OAAO,UAAU,WAAqB;QACpC,OAAO,CAAC,cAAc,CACpB,iBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EACjC,OAAO,EACP,WAAW,CACZ,CAAC;QACF,OAAO,CAAC,cAAc,CACpB,iBAAO,CAAC,QAAQ,CAAC,SAAS,EAC1B,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,IAAI,EACtC,WAAW,CACZ,CAAC;QACF,4BAAY,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC,CAAC;AACJ,CAAC;AAED,MAAa,mBAEX,SAAQ,eAAM,CAAC,oBAAoB;CAEpC;AAJD,kDAIC"}
@@ -5,6 +5,7 @@ import type { Application } from 'express';
5
5
  import type { Repository } from 'taon-typeorm';
6
6
  import { DataSource } from 'taon-typeorm';
7
7
  import type { BaseInjector } from './base-classes/base-injector';
8
+ export type { TaonMiddlewareInterceptOptions } from './base-classes/base-middleware';
8
9
  import { ContextDbMigrations } from './context-db-migrations';
9
10
  import { Models } from './models';
10
11
  export declare class EndpointContext {
@@ -55,7 +56,7 @@ export declare class EndpointContext {
55
56
  /**
56
57
  * available after init()
57
58
  */
58
- config: Models.ContextOptions<any, any, any, any, any, any, any>;
59
+ config: Models.ContextOptions<any, any, any, any, any, any, any, any>;
59
60
  get logHttp(): boolean;
60
61
  get logRealtime(): boolean;
61
62
  get logFramework(): boolean;
@@ -64,8 +65,8 @@ export declare class EndpointContext {
64
65
  /**
65
66
  * Inside docker there is not need for https secure server
66
67
  */
67
- private isRunningInsideDocker;
68
- constructor(originalConfig: Models.ContextOptions<any, any, any, any, any, any, any>, configFn: (env: any) => Models.ContextOptions<any, any, any, any, any, any, any>);
68
+ readonly isRunningInsideDocker: boolean;
69
+ constructor(originalConfig: Models.ContextOptions<any, any, any, any, any, any, any, any>, configFn: (env: any) => Models.ContextOptions<any, any, any, any, any, any, any, any>);
69
70
  init(options?: {
70
71
  initFromRecrusiveContextResovle?: boolean;
71
72
  overrideHost?: string | null;
@@ -99,13 +100,12 @@ export declare class EndpointContext {
99
100
  isCLassType(classType: Models.ClassType, classFn: Function): boolean;
100
101
  /**
101
102
  * Only for injectable types
102
- * Only for classType: CONTROLLER, REPOSITORY, PROVIDER
103
+ * Only for classType: CONTROLLER, REPOSITORY, PROVIDER, MIDDLEWARES
103
104
  */
104
105
  getClassFunByClassName(className: string): Function;
105
106
  getClassFunByClass(classFunction: Function): Function;
106
107
  getClassFunByArr(classType: Models.ClassType): Function[];
107
108
  private createInstances;
108
- reinitControllers(): Promise<void>;
109
109
  initClasses(): Promise<void>;
110
110
  isActiveOn(classInstance: object): boolean;
111
111
  get frontendHostUri(): URL;
@@ -158,7 +158,8 @@ export declare class EndpointContext {
158
158
  initControllers(): Promise<void>;
159
159
  writeActiveRoutes(): void;
160
160
  get middlewares(): Models.MiddlewareType[];
161
- private initMiddlewares;
161
+ private initFrontnedMiddlewares;
162
+ private initBackendMiddlewares;
162
163
  private initServer;
163
164
  /**
164
165
  * client can be browser or nodejs (when remote host)
@@ -97,6 +97,7 @@ class EndpointContext {
97
97
  injectableTypesfromContexts = [
98
98
  models_1.Models.ClassType.CONTROLLER,
99
99
  models_1.Models.ClassType.PROVIDER,
100
+ models_1.Models.ClassType.MIDDLEWARE,
100
101
  models_1.Models.ClassType.REPOSITORY,
101
102
  models_1.Models.ClassType.SUBSCRIBER,
102
103
  models_1.Models.ClassType.MIGRATION,
@@ -336,6 +337,10 @@ class EndpointContext {
336
337
  ...(await this.getRecrusiveClassesfromContextsObj(models_1.Models.ClassType.PROVIDER)),
337
338
  ...this.config.providers,
338
339
  };
340
+ this.config.middlewares = {
341
+ ...(await this.getRecrusiveClassesfromContextsObj(models_1.Models.ClassType.MIDDLEWARE)),
342
+ ...this.config.middlewares,
343
+ };
339
344
  this.config.subscribers = {
340
345
  ...(await this.getRecrusiveClassesfromContextsObj(models_1.Models.ClassType.SUBSCRIBER)),
341
346
  ...this.config.subscribers,
@@ -370,6 +375,12 @@ class EndpointContext {
370
375
  ctx: this,
371
376
  classType: models_1.Models.ClassType.PROVIDER,
372
377
  });
378
+ this.config.middlewares = this.cloneClassesObjWithNewMetadata({
379
+ classesInput: this.config.middlewares,
380
+ config: this.config,
381
+ ctx: this,
382
+ classType: models_1.Models.ClassType.MIDDLEWARE,
383
+ });
373
384
  this.config.subscribers = this.cloneClassesObjWithNewMetadata({
374
385
  classesInput: this.config.subscribers,
375
386
  config: this.config,
@@ -397,7 +408,10 @@ class EndpointContext {
397
408
  if (this.mode === 'backend-frontend(tcp+udp)' && !this.config.abstract) {
398
409
  //#region @backend
399
410
  this.expressApp = express();
400
- this.initMiddlewares();
411
+ if (process.env.NODE_ENV === 'production') {
412
+ this.expressApp.set('trust proxy', 1);
413
+ }
414
+ await this.initBackendMiddlewares();
401
415
  const shouldStartHttpsSecureServer = this.isHttpServer && !this.isRunningInsideDocker;
402
416
  this.logFramework &&
403
417
  lib_10.Helpers.info(`
@@ -415,6 +429,7 @@ class EndpointContext {
415
429
  this.expressApp.use(asset.serverPath, express.static(asset.locationOnDisk));
416
430
  });
417
431
  //#endregion
432
+ await this.initFrontnedMiddlewares();
418
433
  }
419
434
  //#endregion
420
435
  //#region prepare realtime
@@ -601,7 +616,7 @@ class EndpointContext {
601
616
  lib_10.Helpers.log(`Express server (inside docker) started 0.0.0.0:${this.uriPort}`);
602
617
  lib_10.Helpers.log(`[taon][express-server]listening on port: ${this.uriPort}, hostname: ${this.uriPathname},
603
618
  address: ${this.uriProtocol}//localhost:${this.uriPort}${this.uriPathname}
604
- env: ${this.expressApp.settings.env}
619
+ ExpressJS mode: ${this.expressApp.settings.env}
605
620
  `);
606
621
  resolve(void 0);
607
622
  });
@@ -611,8 +626,8 @@ class EndpointContext {
611
626
  this.serverTcpUdp.listen(Number(this.uriPort), () => {
612
627
  lib_10.Helpers.log(`Express server (inside nodejs app) started on localhost:${this.uriPort}`);
613
628
  lib_10.Helpers.log(`[taon][express-server]listening on port: ${this.uriPort}, hostname: ${this.uriPathname},
614
- address: ${this.uriProtocol}//localhost:${this.uriPort}${this.uriPathname}
615
- env: ${this.expressApp.settings.env}
629
+ address: ${this.uriProtocol}//localhost:${this.uriPort}${this.uriPathname}
630
+ expressJS mode: ${this.expressApp.settings.env}
616
631
  `);
617
632
  resolve(void 0);
618
633
  });
@@ -893,6 +908,8 @@ class EndpointContext {
893
908
  return this.config.entities;
894
909
  case models_1.Models.ClassType.PROVIDER:
895
910
  return this.config.providers;
911
+ case models_1.Models.ClassType.MIDDLEWARE:
912
+ return this.config.middlewares;
896
913
  case models_1.Models.ClassType.REPOSITORY:
897
914
  return this.config.repositories;
898
915
  case models_1.Models.ClassType.SUBSCRIBER:
@@ -906,7 +923,7 @@ class EndpointContext {
906
923
  }
907
924
  /**
908
925
  * Only for injectable types
909
- * Only for classType: CONTROLLER, REPOSITORY, PROVIDER
926
+ * Only for classType: CONTROLLER, REPOSITORY, PROVIDER, MIDDLEWARES
910
927
  */
911
928
  getClassFunByClassName(className) {
912
929
  for (const classTypeName of this.allTypesfromContexts) {
@@ -946,25 +963,7 @@ class EndpointContext {
946
963
  }
947
964
  }
948
965
  //#endregion
949
- //#region methods & getters / reinit controllers db example data
950
- async reinitControllers() {
951
- if (this.remoteHost || Object.keys(this.config.migrations).length > 0) {
952
- return;
953
- }
954
- // Helpers.taskStarted(
955
- // `[taon] REINITING CONTROLLERS ${this.contextName} STARTED`,
956
- // );
957
- const controllers = this.getClassesInstancesArrBy(models_1.Models.ClassType.CONTROLLER);
958
- // console.log('CONTROLLERS TO REINIT', controllers);
959
- for (const ctrl of controllers) {
960
- if (lib_10._.isFunction(ctrl.initExampleDbData)) {
961
- await ctrl.initExampleDbData();
962
- }
963
- }
964
- // Helpers.taskDone(
965
- // `[taon] REINITING CONTROLLERS ${this.contextName} DONE`,
966
- // );
967
- }
966
+ //#region methods & getters / init classes
968
967
  async initClasses() {
969
968
  if (this.remoteHost) {
970
969
  return;
@@ -976,6 +975,7 @@ class EndpointContext {
976
975
  }
977
976
  //#endregion
978
977
  for (const classTypeName of [
978
+ models_1.Models.ClassType.MIDDLEWARE,
979
979
  models_1.Models.ClassType.PROVIDER,
980
980
  models_1.Models.ClassType.REPOSITORY,
981
981
  models_1.Models.ClassType.CONTROLLER,
@@ -991,6 +991,7 @@ class EndpointContext {
991
991
  //#endregion
992
992
  }
993
993
  for (const classTypeName of [
994
+ models_1.Models.ClassType.MIDDLEWARE,
994
995
  models_1.Models.ClassType.PROVIDER,
995
996
  models_1.Models.ClassType.REPOSITORY,
996
997
  models_1.Models.ClassType.CONTROLLER,
@@ -1191,7 +1192,7 @@ class EndpointContext {
1191
1192
  //#region methods & getters / init connection
1192
1193
  async initDatabaseConnection() {
1193
1194
  //#region @websqlFunc
1194
- if (this.remoteHost) {
1195
+ if (this.remoteHost || !this.databaseConfig) {
1195
1196
  return;
1196
1197
  }
1197
1198
  const entities = this.getClassFunByArr(models_1.Models.ClassType.ENTITY).map(entityFn => {
@@ -1266,7 +1267,9 @@ class EndpointContext {
1266
1267
  [taon][typeorm] db prepration done.. db initialize=${this.connection?.isInitialized}
1267
1268
 
1268
1269
 
1269
- `, dataSourceDbConfig, { 'this.connection': !!this.connection });
1270
+ `,
1271
+ // dataSourceDbConfig,
1272
+ { 'this.connection': !!this.connection });
1270
1273
  console.log(`Database file location: ${this.connection.options.database}`);
1271
1274
  }
1272
1275
  // const entityMetadata = getMetadataArgsStorage();
@@ -1434,15 +1437,67 @@ class EndpointContext {
1434
1437
  }
1435
1438
  //#endregion
1436
1439
  //#region methods & getters / init middlewares
1437
- initMiddlewares() {
1440
+ async initFrontnedMiddlewares() {
1441
+ const middlewares = this.getClassesInstancesArrBy(models_1.Models.ClassType.MIDDLEWARE);
1442
+ for (const middleware of middlewares) {
1443
+ const middlewareInstance = middleware;
1444
+ if (lib_10._.isFunction(middlewareInstance.intercept)) {
1445
+ ((instance, contextName, apiPart, uriPathnameOrNothingIfRoot) => {
1446
+ const interceptorName = `${contextName}-${class_helpers_1.ClassHelpers.getName(instance)}`;
1447
+ lib_3.Resource.request.interceptors.set(interceptorName, async (req) => {
1448
+ console.log('request', req);
1449
+ const url = new url_1.URL(req.url);
1450
+ if (url.pathname.startsWith(`${uriPathnameOrNothingIfRoot}/${apiPart}/${contextName}/`)) {
1451
+ await instance.intercept({
1452
+ client: {
1453
+ req,
1454
+ },
1455
+ });
1456
+ }
1457
+ else {
1458
+ // console.log('not fit frontend', url.href);
1459
+ }
1460
+ return req;
1461
+ });
1462
+ })(middlewareInstance, this.contextName, constants_1.apiPrefix, this.uriPathnameOrNothingIfRoot);
1463
+ }
1464
+ }
1465
+ }
1466
+ async initBackendMiddlewares() {
1438
1467
  //#region @backend
1439
1468
  const app = this.expressApp;
1440
- if (this.middlewares) {
1441
- this.middlewares.forEach(m => {
1442
- const [fun, args] = m;
1443
- app.use(fun.apply(null, args));
1444
- });
1469
+ const middlewares = this.getClassesInstancesArrBy(models_1.Models.ClassType.MIDDLEWARE);
1470
+ for (const middleware of middlewares) {
1471
+ const middlewareInstance = middleware;
1472
+ if (lib_10._.isFunction(middlewareInstance.intercept)) {
1473
+ ((instance, contextName, apiPart, uriPathnameOrNothingIfRoot) => {
1474
+ const asyncHandler = fn => (req, res, next) => {
1475
+ Promise.resolve(fn(req, res, next)).catch(next);
1476
+ };
1477
+ const middlewareFn = asyncHandler(async (req, res, next) => {
1478
+ if (req.originalUrl.startsWith(`${uriPathnameOrNothingIfRoot}/${apiPart}/${contextName}/`)) {
1479
+ await instance.intercept({
1480
+ server: {
1481
+ req,
1482
+ res,
1483
+ },
1484
+ });
1485
+ }
1486
+ else {
1487
+ // console.log('not fit backend', url.href);
1488
+ }
1489
+ next();
1490
+ });
1491
+ app.use(middlewareFn);
1492
+ })(middlewareInstance, this.contextName, constants_1.apiPrefix, this.uriPathnameOrNothingIfRoot);
1493
+ }
1445
1494
  }
1495
+ // if (this.middlewares) {
1496
+ // this.middlewares.forEach(m => {
1497
+ // const [fun, args] = m;
1498
+ // app.use(fun.apply(null, args));
1499
+ // });
1500
+ // }
1446
1501
  this.expressApp.get('/helloworld', (req, res) => {
1447
1502
  res.send(`Hello, world from context ${this.contextName}`);
1448
1503
  });