taon 19.0.53 → 19.0.55

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 (106) hide show
  1. package/browser/fesm2022/taon.mjs +389 -222
  2. package/browser/fesm2022/taon.mjs.map +1 -1
  3. package/browser/lib/base-classes/base-controller.d.ts +11 -0
  4. package/browser/lib/base-classes/base-file-upload.middleware.d.ts +15 -0
  5. package/browser/lib/base-classes/base-middleware.d.ts +30 -8
  6. package/browser/lib/decorators/classes/controller-config.d.ts +10 -0
  7. package/browser/lib/decorators/classes/controller-decorator.d.ts +2 -12
  8. package/browser/lib/decorators/classes/controller-options.d.ts +12 -0
  9. package/browser/lib/decorators/classes/entity-decorator.d.ts +2 -2
  10. package/browser/lib/decorators/classes/middleware-decorator.d.ts +2 -2
  11. package/browser/lib/decorators/classes/migration-decorator.d.ts +2 -2
  12. package/browser/lib/decorators/classes/provider-decorator.d.ts +2 -2
  13. package/browser/lib/decorators/classes/repository-decorator.d.ts +2 -2
  14. package/browser/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  15. package/browser/lib/decorators/decorator-abstract-opt.d.ts +4 -0
  16. package/browser/lib/decorators/http/http-methods-decorators.d.ts +8 -5
  17. package/browser/lib/endpoint-context.d.ts +3 -2
  18. package/browser/lib/helpers/class-helpers.d.ts +7 -3
  19. package/browser/lib/helpers/taon-helpers.d.ts +2 -1
  20. package/browser/lib/index.d.ts +2 -1
  21. package/browser/lib/models.d.ts +16 -23
  22. package/browser/package.json +1 -1
  23. package/lib/base-classes/base-context.js +4 -0
  24. package/lib/base-classes/base-context.js.map +1 -1
  25. package/lib/base-classes/base-controller.d.ts +12 -0
  26. package/lib/base-classes/base-controller.js +56 -1
  27. package/lib/base-classes/base-controller.js.map +1 -1
  28. package/lib/base-classes/base-file-upload.middleware.d.ts +14 -0
  29. package/lib/base-classes/base-file-upload.middleware.js +85 -0
  30. package/lib/base-classes/base-file-upload.middleware.js.map +1 -0
  31. package/lib/base-classes/base-middleware.d.ts +30 -12
  32. package/lib/base-classes/base-middleware.js.map +1 -1
  33. package/lib/build-info._auto-generated_.d.ts +1 -1
  34. package/lib/build-info._auto-generated_.js +1 -1
  35. package/lib/decorators/classes/controller-config.d.ts +9 -0
  36. package/lib/decorators/classes/controller-config.js +11 -0
  37. package/lib/decorators/classes/controller-config.js.map +1 -0
  38. package/lib/decorators/classes/controller-decorator.d.ts +2 -12
  39. package/lib/decorators/classes/controller-decorator.js +0 -13
  40. package/lib/decorators/classes/controller-decorator.js.map +1 -1
  41. package/lib/decorators/classes/controller-options.d.ts +11 -0
  42. package/lib/decorators/classes/controller-options.js +16 -0
  43. package/lib/decorators/classes/controller-options.js.map +1 -0
  44. package/lib/decorators/classes/entity-decorator.d.ts +2 -2
  45. package/lib/decorators/classes/entity-decorator.js +7 -9
  46. package/lib/decorators/classes/entity-decorator.js.map +1 -1
  47. package/lib/decorators/classes/middleware-decorator.d.ts +2 -2
  48. package/lib/decorators/classes/middleware-decorator.js +2 -2
  49. package/lib/decorators/classes/middleware-decorator.js.map +1 -1
  50. package/lib/decorators/classes/migration-decorator.d.ts +2 -2
  51. package/lib/decorators/classes/migration-decorator.js +2 -2
  52. package/lib/decorators/classes/migration-decorator.js.map +1 -1
  53. package/lib/decorators/classes/provider-decorator.d.ts +2 -2
  54. package/lib/decorators/classes/provider-decorator.js +2 -2
  55. package/lib/decorators/classes/provider-decorator.js.map +1 -1
  56. package/lib/decorators/classes/repository-decorator.d.ts +2 -2
  57. package/lib/decorators/classes/repository-decorator.js +2 -2
  58. package/lib/decorators/classes/repository-decorator.js.map +1 -1
  59. package/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  60. package/lib/decorators/classes/subscriber-decorator.js +2 -2
  61. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  62. package/lib/decorators/decorator-abstract-opt.d.ts +3 -0
  63. package/lib/decorators/decorator-abstract-opt.js +8 -0
  64. package/lib/decorators/decorator-abstract-opt.js.map +1 -0
  65. package/lib/decorators/http/http-methods-decorators.d.ts +8 -5
  66. package/lib/decorators/http/http-methods-decorators.js +3 -2
  67. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  68. package/lib/endpoint-context.d.ts +3 -2
  69. package/lib/endpoint-context.js +121 -71
  70. package/lib/endpoint-context.js.map +1 -1
  71. package/lib/helpers/class-helpers.d.ts +7 -3
  72. package/lib/helpers/class-helpers.js +12 -6
  73. package/lib/helpers/class-helpers.js.map +1 -1
  74. package/lib/helpers/taon-helpers.d.ts +2 -1
  75. package/lib/helpers/taon-helpers.js +1 -1
  76. package/lib/helpers/taon-helpers.js.map +1 -1
  77. package/lib/index.d.ts +2 -1
  78. package/lib/index.js.map +1 -1
  79. package/lib/models.d.ts +17 -25
  80. package/lib/models.js +4 -31
  81. package/lib/models.js.map +1 -1
  82. package/lib/ui/index.js +2 -2
  83. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  84. package/package.json +1 -1
  85. package/websql/fesm2022/taon.mjs +386 -217
  86. package/websql/fesm2022/taon.mjs.map +1 -1
  87. package/websql/lib/base-classes/base-controller.d.ts +11 -0
  88. package/websql/lib/base-classes/base-file-upload.middleware.d.ts +15 -0
  89. package/websql/lib/base-classes/base-middleware.d.ts +30 -12
  90. package/websql/lib/decorators/classes/controller-config.d.ts +10 -0
  91. package/websql/lib/decorators/classes/controller-decorator.d.ts +2 -12
  92. package/websql/lib/decorators/classes/controller-options.d.ts +12 -0
  93. package/websql/lib/decorators/classes/entity-decorator.d.ts +2 -2
  94. package/websql/lib/decorators/classes/middleware-decorator.d.ts +2 -2
  95. package/websql/lib/decorators/classes/migration-decorator.d.ts +2 -2
  96. package/websql/lib/decorators/classes/provider-decorator.d.ts +2 -2
  97. package/websql/lib/decorators/classes/repository-decorator.d.ts +2 -2
  98. package/websql/lib/decorators/classes/subscriber-decorator.d.ts +2 -2
  99. package/websql/lib/decorators/decorator-abstract-opt.d.ts +4 -0
  100. package/websql/lib/decorators/http/http-methods-decorators.d.ts +8 -5
  101. package/websql/lib/endpoint-context.d.ts +3 -2
  102. package/websql/lib/helpers/class-helpers.d.ts +7 -3
  103. package/websql/lib/helpers/taon-helpers.d.ts +2 -1
  104. package/websql/lib/index.d.ts +2 -1
  105. package/websql/lib/models.d.ts +17 -25
  106. package/websql/package.json +1 -1
@@ -1,4 +1,15 @@
1
1
  // @ts-nocheck
2
+ import type { Models } from '../models';
2
3
  import { BaseInjector } from './base-injector';
4
+ export interface MulterFileUploadResponse {
5
+ ok: boolean;
6
+ originalName: string;
7
+ savedAs: string;
8
+ savedPath: string;
9
+ size: number;
10
+ mimetype: string;
11
+ }
3
12
  export declare class BaseController extends BaseInjector {
13
+ uploadFormDataToServer(formData: FormData): Models.Http.Response<MulterFileUploadResponse[]>;
14
+ uploadLocalFileToServer(absFilePath: string): Promise<MulterFileUploadResponse[]>;
4
15
  }
@@ -0,0 +1,15 @@
1
+ // @ts-nocheck
2
+ import express from 'express';
3
+ import * as multer from 'multer';
4
+ import { TaonServerMiddlewareInterceptOptions } from 'ng2-rest/websql';
5
+ import { BaseMiddleware, TaonAddtionalMiddlewareMethodInfo } from './base-middleware';
6
+ /**
7
+ * Configurable file upload middleware (multer based)
8
+ */
9
+ export declare class BaseFileUploadMiddleware extends BaseMiddleware {
10
+ interceptServerMethod({ req, res, next }: TaonServerMiddlewareInterceptOptions, { methodName, expressPath }: TaonAddtionalMiddlewareMethodInfo): Promise<void>;
11
+ uploadDir(): string;
12
+ storage(): multer.StorageEngine;
13
+ upload(): multer.Multer;
14
+ middleware(): express.RequestHandler;
15
+ }
@@ -1,21 +1,39 @@
1
1
  // @ts-nocheck
2
- import type { AxiosRequestConfig } from 'axios';
3
- import type express from 'express';
2
+ import type { AxiosResponse } from 'axios';
3
+ import { TaonClientMiddlewareInterceptOptions, TaonServerMiddlewareInterceptOptions } from 'ng2-rest/websql';
4
+ import { Observable } from 'rxjs';
5
+ import { CoreModels } from 'tnp-core/websql';
4
6
  import { BaseInjector } from './base-injector';
5
- export interface TaonMiddlewareInterceptOptions {
6
- client?: {
7
- req: AxiosRequestConfig<unknown>;
8
- } | undefined;
9
- server?: {
10
- req: express.Request;
11
- res: express.Response;
12
- } | undefined;
13
- }
14
7
  /**
15
8
  * TODO
16
9
  * - global provider available in all contexts
17
10
  * - provider available in own context
18
11
  */
19
12
  export declare abstract class BaseMiddleware extends BaseInjector {
20
- abstract intercept({ server, client, }: TaonMiddlewareInterceptOptions): Promise<void>;
13
+ }
14
+ export interface TaonAddtionalMiddlewareMethodInfo {
15
+ methodName: string;
16
+ expressPath: string;
17
+ httpRequestType: CoreModels.HttpMethod;
18
+ }
19
+ export interface BaseMiddleware {
20
+ /**
21
+ * Global interceptor for whole context
22
+ * backend request
23
+ */
24
+ interceptServer({ req, res, next, }: TaonServerMiddlewareInterceptOptions): Promise<void> | void;
25
+ /**
26
+ * Global interceptor for whole context
27
+ * client requests
28
+ */
29
+ interceptClient({ req, next, }: TaonClientMiddlewareInterceptOptions): Observable<AxiosResponse<any>>;
30
+ /**
31
+ * Specyfic controller method interceptor
32
+ */
33
+ interceptServerMethod({ req, res, next }: TaonServerMiddlewareInterceptOptions, { methodName, expressPath, httpRequestType }: TaonAddtionalMiddlewareMethodInfo): Promise<void> | void;
34
+ /**
35
+ * Controller method frontned interceptor
36
+ * TODO not needed ?
37
+ */
38
+ interceptClientMethod({ req, next }: TaonClientMiddlewareInterceptOptions, { methodName, expressPath, httpRequestType }: TaonAddtionalMiddlewareMethodInfo): Observable<AxiosResponse<any>>;
21
39
  }
@@ -0,0 +1,10 @@
1
+ // @ts-nocheck
2
+ import { Models } from '../../models';
3
+ import { TaonControllerOptions } from './controller-options';
4
+ export declare class ControllerConfig extends TaonControllerOptions {
5
+ methods: {
6
+ [methodName: string]: Models.MethodConfig;
7
+ };
8
+ calculatedPath?: string;
9
+ browserTransformFn?: (entity: any) => any;
10
+ }
@@ -1,16 +1,6 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../../models';
2
+ import type { TaonControllerOptions } from './controller-options';
3
3
  /**
4
4
  * Controller decorator
5
5
  */
6
- export declare function TaonController(options?: TaonControllerOptions): (constructor: Function) => void;
7
- export declare class TaonControllerOptions extends Models.DecoratorAbstractOpt {
8
- /**
9
- * typeorm realtime subscribtion // TODO disabled for now, does not make sense ?s
10
- */
11
- realtime?: boolean;
12
- /**
13
- * override default path for controller api
14
- */
15
- path?: string;
16
- }
6
+ export declare function TaonController<ControllerClass = any>(options?: TaonControllerOptions<ControllerClass>): (constructor: Function) => void;
@@ -0,0 +1,12 @@
1
+ // @ts-nocheck
2
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
3
+ export declare class TaonControllerOptions<ControllerClass = any> extends DecoratorAbstractOpt {
4
+ /**
5
+ * typeorm realtime subscribtion // TODO disabled for now, does not make sense ?s
6
+ */
7
+ realtime?: boolean;
8
+ /**
9
+ * override default path for controller api
10
+ */
11
+ path?: string;
12
+ }
@@ -1,11 +1,11 @@
1
1
  // @ts-nocheck
2
2
  import { Mapping } from 'ng2-rest/websql';
3
- import { Models } from '../../models';
3
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
4
4
  /**
5
5
  * Entity decorator
6
6
  */
7
7
  export declare function TaonEntity<T = any>(options?: TaonEntityOptions<T>): (constructor: Function) => void;
8
- export declare class TaonEntityOptions<T = any> extends Models.DecoratorAbstractOpt {
8
+ export declare class TaonEntityOptions<T = any> extends DecoratorAbstractOpt {
9
9
  /**
10
10
  * default unique property is "id"
11
11
  * for your entity it may be something else
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../../models';
2
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
3
3
  /**
4
4
  * Provider decorator
5
5
  */
6
6
  export declare function TaonMiddleware<T = any>(options?: TaonMiddlewareOptions<T>): (constructor: Function) => void;
7
- export declare class TaonMiddlewareOptions<T = any> extends Models.DecoratorAbstractOpt {
7
+ export declare class TaonMiddlewareOptions<T = any> extends DecoratorAbstractOpt {
8
8
  }
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../../models';
2
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
3
3
  /**
4
4
  * Migration decorator
5
5
  */
6
6
  export declare function TaonMigration(options: TaonMigrationOptions): any;
7
- export declare class TaonMigrationOptions<T = any> extends Models.DecoratorAbstractOpt {
7
+ export declare class TaonMigrationOptions<T = any> extends DecoratorAbstractOpt {
8
8
  }
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../../models';
2
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
3
3
  /**
4
4
  * Provider decorator
5
5
  */
6
6
  export declare function TaonProvider<T = any>(options?: TaonProviderOptions<T>): (constructor: Function) => void;
7
- export declare class TaonProviderOptions<T = any> extends Models.DecoratorAbstractOpt {
7
+ export declare class TaonProviderOptions<T = any> extends DecoratorAbstractOpt {
8
8
  }
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../../models';
2
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
3
3
  /**
4
4
  * Repository decorator
5
5
  */
6
6
  export declare function TaonRepository(options: TaonRepositoryOptions): (constructor: Function) => void;
7
- export declare class TaonRepositoryOptions<T = any> extends Models.DecoratorAbstractOpt {
7
+ export declare class TaonRepositoryOptions<T = any> extends DecoratorAbstractOpt {
8
8
  }
@@ -1,9 +1,9 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../../models';
2
+ import { DecoratorAbstractOpt } from '../decorator-abstract-opt';
3
3
  /**
4
4
  * Subscriber decorator
5
5
  */
6
6
  export declare function TaonSubscriber(options: TaonSubscriberOptions): any;
7
- export declare class TaonSubscriberOptions<T = any> extends Models.DecoratorAbstractOpt {
7
+ export declare class TaonSubscriberOptions<T = any> extends DecoratorAbstractOpt {
8
8
  allowedEvents?: (keyof T)[];
9
9
  }
@@ -0,0 +1,4 @@
1
+ // @ts-nocheck
2
+ export declare class DecoratorAbstractOpt {
3
+ className: string;
4
+ }
@@ -1,11 +1,13 @@
1
1
  // @ts-nocheck
2
- import { CoreModels } from 'tnp-core/websql';
3
2
  import { Models as ModelsNg2Rest } from 'ng2-rest/websql';
3
+ import { CoreModels } from 'tnp-core/websql';
4
+ import { BaseMiddleware } from '../../base-classes/base-middleware';
4
5
  export interface TaonHttpDecoratorOptions {
5
6
  /**
6
- * ! BE CAREFULL
7
- * This method is only for very special cases
8
- * Path for the method is automatically generated
7
+ * @deprecated don't use in production - keep stuff encapsulated
8
+ * path is global in express app
9
+ * ! BE CAREFUL ! global path IS NOT GLOBAL inside dockerized app
10
+ * (/api/contextName is automatically added to global path in docker)
9
11
  */
10
12
  path?: string;
11
13
  /**
@@ -14,7 +16,8 @@ export interface TaonHttpDecoratorOptions {
14
16
  */
15
17
  pathIsGlobal?: boolean;
16
18
  overrideContentType?: CoreModels.ContentType;
17
- overridResponseType?: ModelsNg2Rest.ResponseTypeAxios;
19
+ overrideResponseType?: ModelsNg2Rest.ResponseTypeAxios;
20
+ middlewares?: (typeof BaseMiddleware)[];
18
21
  }
19
22
  export declare function GET(pathOrOptions?: string | TaonHttpDecoratorOptions, pathIsGlobal?: boolean): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
20
23
  export declare function HEAD(pathOrOptions?: string | TaonHttpDecoratorOptions, pathIsGlobal?: boolean): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void;
@@ -5,7 +5,6 @@ import type { Application } from 'express';
5
5
  import type { Repository } from 'taon-typeorm/websql';
6
6
  import { DataSource } from 'taon-typeorm/websql';
7
7
  import type { BaseInjector } from './base-classes/base-injector';
8
- export type { TaonMiddlewareInterceptOptions } from './base-classes/base-middleware';
9
8
  import { ContextDbMigrations } from './context-db-migrations';
10
9
  import { Models } from './models';
11
10
  export declare class EndpointContext {
@@ -141,6 +140,7 @@ export declare class EndpointContext {
141
140
  * ipc/udp needs this
142
141
  */
143
142
  get contextName(): string;
143
+ get cwd(): string;
144
144
  get activeContext(): string | null;
145
145
  get appId(): string;
146
146
  get publicAssets(): {
@@ -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 initFrontnedMiddlewares;
161
+ private initCustomClientMiddlewares;
162
+ private initCustomBackendMiddlewares;
162
163
  private initBackendMiddlewares;
163
164
  private initServer;
164
165
  /**
@@ -1,5 +1,5 @@
1
1
  // @ts-nocheck
2
- import { Models } from '../models';
2
+ import { ControllerConfig } from '../decorators/classes/controller-config';
3
3
  export declare namespace ClassHelpers {
4
4
  /**
5
5
  * TODO - repalce in every place when getting class fn from object
@@ -12,7 +12,11 @@ export declare namespace ClassHelpers {
12
12
  const isContextClassObject: (obj: any) => boolean;
13
13
  const setName: (target: Function, className: string) => void;
14
14
  const hasParentClassWithName: (target: Function, className: string, targets?: any[]) => boolean;
15
- const getControllerConfig: (target: Function) => Models.ControllerConfig | undefined;
15
+ const getControllerConfig: (target: Function) => ControllerConfig | undefined;
16
+ /**
17
+ * Express async handler for middleware functions.
18
+ */
19
+ const asyncHandler: (fn: any) => (req: any, res: any, next: any) => void;
16
20
  const getMethodsNames: (classOrClassInstance: any, allMethodsNames?: any[]) => string[];
17
- const getControllerConfigs: (target: Function, configs?: Models.ControllerConfig[], callerTarget?: Function) => Models.RuntimeControllerConfig[];
21
+ const getControllerConfigs: (target: Function, configs?: ControllerConfig[], callerTarget?: Function) => ControllerConfig[];
18
22
  }
@@ -1,10 +1,11 @@
1
1
  // @ts-nocheck
2
+ import type { ControllerConfig } from '../decorators/classes/controller-config';
2
3
  import { Models } from '../models';
3
4
  export declare namespace TaonHelpers {
4
5
  const fillUpTo: (s: string, nCharacters: number) => string;
5
6
  const isGoodPath: (p: string) => boolean;
6
7
  const tryTransformParam: (param: any) => any;
7
- const getExpressPath: (c: Models.RuntimeControllerConfig, pathOrClassConfig: Models.MethodConfig) => string;
8
+ const getExpressPath: (c: ControllerConfig, pathOrClassConfig: Models.MethodConfig) => string;
8
9
  const defaultType: (value: any) => {};
9
10
  const parseJSONwithStringJSONs: (object: Object, waring?: boolean) => Object;
10
11
  const isPlainFileOrFolder: (filePath: any) => boolean;
@@ -23,12 +23,13 @@ export { BaseProvider } from './base-classes/base-provider';
23
23
  export { BaseEntity } from './base-classes/base-entity';
24
24
  export { BaseContext } from './base-classes/base-context';
25
25
  export { BaseMigration } from './base-classes/base-migration';
26
+ export { TaonAddtionalMiddlewareMethodInfo } from './base-classes/base-middleware';
26
27
  export { createContext, TaonContext } from './create-context';
27
28
  export { inject } from './inject';
28
29
  export { Models } from './models';
29
30
  export * from './constants';
30
31
  export { ClassHelpers } from './helpers/class-helpers';
31
- export type { TaonMiddlewareInterceptOptions } from './base-classes/base-middleware';
32
+ export type { TaonClientMiddlewareInterceptOptions, TaonServerMiddlewareInterceptOptions, } from 'ng2-rest/websql';
32
33
  export declare namespace Taon {
33
34
  export import Response = models.Models.Http.Response;
34
35
  export import Http = http.Http;
@@ -1,8 +1,10 @@
1
1
  // @ts-nocheck
2
- import { RequestHandler } from 'express';
2
+ import type { RequestHandler } from 'express';
3
3
  import { Response as ExpressResponse, Request as ExpressRequest } from 'express';
4
4
  import { Models as ModelsNg2Rest } from 'ng2-rest/websql';
5
5
  import { CoreModels } from 'tnp-core/websql';
6
+ import type { BaseMiddleware } from './base-classes/base-middleware';
7
+ import type { TaonHttpDecoratorOptions } from './decorators/http/http-methods-decorators';
6
8
  export declare namespace Models {
7
9
  type FrameworkMode = 'backend-frontend(tcp+udp)' | 'remote-backend(tcp+udp)' | 'backend-frontend(ipc-electron)' | 'backend-frontend(websql-electron)' | 'backend-frontend(websql)';
8
10
  enum ClassType {
@@ -206,9 +208,10 @@ export declare namespace Models {
206
208
  serverPath: string;
207
209
  locationOnDisk: string;
208
210
  }[];
209
- }
210
- class DecoratorAbstractOpt {
211
- className: string;
211
+ /**
212
+ * by default cwd === process.cwd()
213
+ */
214
+ cwd?: string;
212
215
  }
213
216
  class ParamConfig {
214
217
  paramName: string;
@@ -217,14 +220,11 @@ export declare namespace Models {
217
220
  defaultType: any;
218
221
  expireInSeconds?: number;
219
222
  }
220
- class MethodConfig {
223
+ /**
224
+ * @link './decorators/http/http-methods-decorators.ts' TaonHttpDecoratorOptions
225
+ */
226
+ class MethodConfig implements Pick<TaonHttpDecoratorOptions, 'path' | 'middlewares'> {
221
227
  methodName: string;
222
- /**
223
- * @deprecated don't use in production - keep stuff encapsulated
224
- * path is global in express app
225
- * ! BE CAREFUL ! global path IS NOT GLOBAL inside dockerized app
226
- * (/api/contextName is automatically added to global path in docker)
227
- */
228
228
  global?: boolean;
229
229
  /**
230
230
  * override default content type
@@ -237,22 +237,10 @@ export declare namespace Models {
237
237
  path: string;
238
238
  descriptor: PropertyDescriptor;
239
239
  type: CoreModels.HttpMethod;
240
- requestHandler: any;
241
240
  parameters: {
242
241
  [paramName: string]: ParamConfig;
243
242
  };
244
- }
245
- class ControllerConfig extends DecoratorAbstractOpt {
246
- realtime?: boolean;
247
- path: string;
248
- uniqueKey?: string;
249
- methods: {
250
- [methodName: string]: MethodConfig;
251
- };
252
- }
253
- class RuntimeControllerConfig extends ControllerConfig {
254
- calculatedPath?: string;
255
- browserTransformFn?: (entity: any) => any;
243
+ middlewares?: (typeof BaseMiddleware)[];
256
244
  }
257
245
  namespace Http {
258
246
  export import Rest = ModelsNg2Rest;
@@ -269,7 +257,11 @@ export declare namespace Models {
269
257
  type SyncResponseFunc<T> = (options?: ResponseFuncOpt<T>) => SyncResponse<T>;
270
258
  type MixResponse<T> = SyncResponse<T> | ExpressContext<T>;
271
259
  interface ClientAction<T> {
272
- received?: Rest.PromiseObservableMix<Rest.HttpResponse<T>>;
260
+ /**
261
+ * @deprecated use request() mehods instead
262
+ */
263
+ readonly received?: Rest.PromiseObservableMix<Rest.HttpResponse<T>>;
264
+ request?(axiosConfig?: ModelsNg2Rest.Ng2RestAxiosRequestConfig): Rest.PromiseObservableMix<Rest.HttpResponse<T>>;
273
265
  }
274
266
  interface AsyncResponse<T> {
275
267
  (req?: ExpressRequest, res?: ExpressResponse): Promise<SyncResponse<T> | SyncResponseFunc<T>>;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon/websql",
3
- "version": "19.0.53",
3
+ "version": "19.0.55",
4
4
  "module": "fesm2022/taon.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {