@loopback/docs 6.0.0 → 6.0.2

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 (105) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/bin/copy-changelogs.js +44 -33
  3. package/bin/copy-readmes.js +13 -7
  4. package/package.json +4 -5
  5. package/site/Authentication-component-options.md +1 -1
  6. package/site/CHANGELOG.md +0 -1
  7. package/site/Component.md +3 -1
  8. package/site/DEVELOPING.md +4 -0
  9. package/site/Getting-started.md +4 -1
  10. package/site/Using-Sequelize-with-LoopBack.md +10 -0
  11. package/site/apidocs/boot.bootmixin.md +26 -26
  12. package/site/apidocs/express.middlewaremixin.md +21 -21
  13. package/site/apidocs/graphql.graphqlbindings.graphql_auth_checker.md +1 -1
  14. package/site/apidocs/graphql.graphqlbindings.graphql_context_resolver.md +1 -1
  15. package/site/apidocs/repository.defaultcrudrepository.entitytodata.md +2 -2
  16. package/site/apidocs/repository.repositorymixin.md +26 -26
  17. package/site/apidocs/sequelize.sequelizecrudrepository.defaultfnregistry.md +25 -0
  18. package/site/apidocs/sequelize.sequelizecrudrepository.excludehiddenprops.md +7 -0
  19. package/site/apidocs/sequelize.sequelizecrudrepository.execute.md +27 -2
  20. package/site/apidocs/sequelize.sequelizecrudrepository.getdefaultfnregistry.md +25 -0
  21. package/site/apidocs/sequelize.sequelizecrudrepository.getsequelizemodel.md +2 -2
  22. package/site/apidocs/sequelize.sequelizecrudrepository.gettablename.md +40 -0
  23. package/site/apidocs/sequelize.sequelizecrudrepository.isinclusionallowed.md +34 -0
  24. package/site/apidocs/sequelize.sequelizecrudrepository.md +6 -1
  25. package/site/apidocs/sequelize.sequelizecrudrepository.nano_id_length.md +23 -0
  26. package/site/apidocs/sequelize.sequelizedatasource.execute.md +57 -0
  27. package/site/apidocs/sequelize.sequelizedatasource.md +2 -1
  28. package/site/apidocs/sequelize.sequelizedatasource.sequelizeconfig.md +1 -1
  29. package/site/apidocs/sequelize.sequelizedatasourceconfig.md +2 -1
  30. package/site/apidocs/service-proxy.servicemixin.md +26 -26
  31. package/site/apidocs/service-proxy.serviceproxy.md +2 -2
  32. package/site/apidocs/tsdocs.getpackages.md +2 -2
  33. package/site/apidocs/tsdocs.lernapackage.md +1 -1
  34. package/site/apidocs/tsdocs.md +2 -2
  35. package/site/apidocs/typeorm.typeormmixin.md +27 -27
  36. package/site/changelogs/bodyparsers/rest-msgpack/CHANGELOG.md +31 -0
  37. package/site/changelogs/examples/access-control-migration/CHANGELOG.md +31 -0
  38. package/site/changelogs/examples/binding-resolution/CHANGELOG.md +31 -0
  39. package/site/changelogs/examples/context/CHANGELOG.md +31 -0
  40. package/site/changelogs/examples/express-composition/CHANGELOG.md +31 -0
  41. package/site/changelogs/examples/file-transfer/CHANGELOG.md +31 -0
  42. package/site/changelogs/examples/graphql/CHANGELOG.md +31 -0
  43. package/site/changelogs/examples/greeter-extension/CHANGELOG.md +31 -0
  44. package/site/changelogs/examples/greeting-app/CHANGELOG.md +31 -0
  45. package/site/changelogs/examples/hello-world/CHANGELOG.md +31 -0
  46. package/site/changelogs/examples/lb3-application/CHANGELOG.md +31 -0
  47. package/site/changelogs/examples/log-extension/CHANGELOG.md +31 -0
  48. package/site/changelogs/examples/metrics-prometheus/CHANGELOG.md +31 -0
  49. package/site/changelogs/examples/multi-tenancy/CHANGELOG.md +31 -0
  50. package/site/changelogs/examples/passport-login/CHANGELOG.md +31 -0
  51. package/site/changelogs/examples/references-many/CHANGELOG.md +31 -0
  52. package/site/changelogs/examples/rest-crud/CHANGELOG.md +31 -0
  53. package/site/changelogs/examples/rpc-server/CHANGELOG.md +31 -0
  54. package/site/changelogs/examples/soap-calculator/CHANGELOG.md +31 -0
  55. package/site/changelogs/examples/socketio/CHANGELOG.md +31 -0
  56. package/site/changelogs/examples/todo/CHANGELOG.md +31 -0
  57. package/site/changelogs/examples/todo-jwt/CHANGELOG.md +31 -0
  58. package/site/changelogs/examples/todo-list/CHANGELOG.md +31 -0
  59. package/site/changelogs/examples/validation-app/CHANGELOG.md +31 -0
  60. package/site/changelogs/examples/webpack/CHANGELOG.md +31 -0
  61. package/site/changelogs/extensions/apiconnect/CHANGELOG.md +31 -0
  62. package/site/changelogs/extensions/authentication-jwt/CHANGELOG.md +31 -0
  63. package/site/changelogs/extensions/authentication-passport/CHANGELOG.md +31 -0
  64. package/site/changelogs/extensions/context-explorer/CHANGELOG.md +31 -0
  65. package/site/changelogs/extensions/cron/CHANGELOG.md +31 -0
  66. package/site/changelogs/extensions/graphql/CHANGELOG.md +31 -0
  67. package/site/changelogs/extensions/health/CHANGELOG.md +31 -0
  68. package/site/changelogs/extensions/logging/CHANGELOG.md +31 -0
  69. package/site/changelogs/extensions/metrics/CHANGELOG.md +31 -0
  70. package/site/changelogs/extensions/pooling/CHANGELOG.md +31 -0
  71. package/site/changelogs/extensions/sequelize/CHANGELOG.md +42 -0
  72. package/site/changelogs/extensions/socketio/CHANGELOG.md +28 -0
  73. package/site/changelogs/extensions/typeorm/CHANGELOG.md +36 -0
  74. package/site/changelogs/fixtures/mock-oauth2-provider/CHANGELOG.md +31 -0
  75. package/site/changelogs/packages/authentication/CHANGELOG.md +31 -0
  76. package/site/changelogs/packages/authorization/CHANGELOG.md +31 -0
  77. package/site/changelogs/packages/boot/CHANGELOG.md +31 -0
  78. package/site/changelogs/packages/booter-lb3app/CHANGELOG.md +31 -0
  79. package/site/changelogs/packages/build/CHANGELOG.md +19 -0
  80. package/site/changelogs/packages/cli/CHANGELOG.md +67 -0
  81. package/site/changelogs/packages/context/CHANGELOG.md +31 -0
  82. package/site/changelogs/packages/core/CHANGELOG.md +31 -0
  83. package/site/changelogs/packages/eslint-config/CHANGELOG.md +16 -0
  84. package/site/changelogs/packages/express/CHANGELOG.md +31 -0
  85. package/site/changelogs/packages/filter/CHANGELOG.md +39 -0
  86. package/site/changelogs/packages/http-caching-proxy/CHANGELOG.md +16 -0
  87. package/site/changelogs/packages/http-server/CHANGELOG.md +31 -0
  88. package/site/changelogs/packages/metadata/CHANGELOG.md +36 -0
  89. package/site/changelogs/packages/model-api-builder/CHANGELOG.md +31 -0
  90. package/site/changelogs/packages/openapi-spec-builder/CHANGELOG.md +31 -0
  91. package/site/changelogs/packages/openapi-v3/CHANGELOG.md +31 -0
  92. package/site/changelogs/packages/repository/CHANGELOG.md +36 -0
  93. package/site/changelogs/packages/repository-json-schema/CHANGELOG.md +36 -0
  94. package/site/changelogs/packages/repository-tests/CHANGELOG.md +31 -0
  95. package/site/changelogs/packages/rest/CHANGELOG.md +31 -0
  96. package/site/changelogs/packages/rest-crud/CHANGELOG.md +31 -0
  97. package/site/changelogs/packages/rest-explorer/CHANGELOG.md +31 -0
  98. package/site/changelogs/packages/security/CHANGELOG.md +31 -0
  99. package/site/changelogs/packages/service-proxy/CHANGELOG.md +36 -0
  100. package/site/changelogs/packages/testlab/CHANGELOG.md +19 -0
  101. package/site/changelogs/packages/tsdocs/CHANGELOG.md +36 -0
  102. package/site/readmes/loopback-next/extensions/sequelize/README.md +28 -2
  103. package/site/sidebars/lb4_sidebar.yml +7 -0
  104. package/site/changelogs/packages/monorepo/CHANGELOG.md +0 -223
  105. package/site/readmes/loopback-next/packages/monorepo/README.md +0 -94
@@ -18,6 +18,6 @@ Binding key for the GraphQL auth checker
18
18
  **Signature:**
19
19
 
20
20
  ```typescript
21
- GRAPHQL_AUTH_CHECKER: BindingKey<AuthChecker<{}, string>>
21
+ GRAPHQL_AUTH_CHECKER: BindingKey<AuthChecker>
22
22
  ```
23
23
 
@@ -18,6 +18,6 @@ Binding key for the GraphQL context resolver
18
18
  **Signature:**
19
19
 
20
20
  ```typescript
21
- GRAPHQL_CONTEXT_RESOLVER: BindingKey<ContextFunction<ExpressContext, object>>
21
+ GRAPHQL_CONTEXT_RESOLVER: BindingKey<ContextFunction<ExpressContext>>
22
22
  ```
23
23
 
@@ -20,7 +20,7 @@ User can extend `DefaultCrudRepository` then override this function to execute c
20
20
  **Signature:**
21
21
 
22
22
  ```typescript
23
- protected entityToData<R extends T>(entity: R | DataObject<R>, options?: {}): legacy.ModelData<legacy.PersistedModel>;
23
+ protected entityToData<R extends T>(entity: R | DataObject<R>, options?: {}): Promise<legacy.ModelData<legacy.PersistedModel>>;
24
24
  ```
25
25
 
26
26
  ## Parameters
@@ -32,6 +32,6 @@ protected entityToData<R extends T>(entity: R | DataObject<R>, options?: {}): le
32
32
 
33
33
  **Returns:**
34
34
 
35
- legacy.ModelData&lt;legacy.PersistedModel&gt;
35
+ Promise&lt;legacy.ModelData&lt;legacy.PersistedModel&gt;&gt;
36
36
 
37
37
 
@@ -30,10 +30,10 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
30
30
  migrateSchema(options?: SchemaMigrationOptions): Promise<void>;
31
31
  readonly options: import("@loopback/core").ApplicationConfig;
32
32
  readonly state: string;
33
- controller: <T_1>(controllerCtor: import("@loopback/core").ControllerClass<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
34
- server: <T_2 extends import("@loopback/core").Server>(ctor: Constructor<T_2>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_2>;
35
- servers: <T_3 extends import("@loopback/core").Server>(ctors: Constructor<T_3>[]) => Binding<any>[];
36
- getServer: <T_4 extends import("@loopback/core").Server>(target: string | Constructor<T_4>) => Promise<T_4>;
33
+ controller: <T>(controllerCtor: import("@loopback/core").ControllerClass<T>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T>;
34
+ server: <T_1 extends import("@loopback/core").Server>(ctor: Constructor<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
35
+ servers: <T_2 extends import("@loopback/core").Server>(ctors: Constructor<T_2>[]) => Binding<any>[];
36
+ getServer: <T_3 extends import("@loopback/core").Server>(target: string | Constructor<T_3>) => Promise<T_3>;
37
37
  init: () => Promise<void>;
38
38
  onInit: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
39
39
  start: () => Promise<void>;
@@ -41,30 +41,30 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
41
41
  stop: () => Promise<void>;
42
42
  onStop: (fn: () => import("@loopback/core").ValueOrPromise<void>) => Binding<import("@loopback/core").LifeCycleObserver>;
43
43
  setMetadata: (metadata: import("@loopback/core").ApplicationMetadata) => void;
44
- lifeCycleObserver: <T_5 extends import("@loopback/core").LifeCycleObserver>(ctor: Constructor<T_5>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_5>;
44
+ lifeCycleObserver: <T_4 extends import("@loopback/core").LifeCycleObserver>(ctor: Constructor<T_4>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_4>;
45
45
  service: <S>(cls: import("@loopback/core").ServiceOrProviderClass<S>, nameOrOptions?: string | import("@loopback/core").ServiceOptions | undefined) => Binding<S>;
46
46
  interceptor: (interceptor: import("@loopback/core").Interceptor | Constructor<import("@loopback/core").Provider<import("@loopback/core").Interceptor>>, nameOrOptions?: string | import("@loopback/core").InterceptorBindingOptions | undefined) => Binding<import("@loopback/core").Interceptor>;
47
47
  readonly name: string;
48
48
  readonly subscriptionManager: import("@loopback/core").ContextSubscriptionManager;
49
49
  scope: BindingScope;
50
50
  readonly parent: import("@loopback/core").Context | undefined;
51
- emitEvent: <T_6 extends import("@loopback/core").ContextEvent>(type: string, event: T_6) => void;
51
+ emitEvent: <T_5 extends import("@loopback/core").ContextEvent>(type: string, event: T_5) => void;
52
52
  emitError: (err: unknown) => void;
53
53
  bind: <ValueType = any>(key: import("@loopback/core").BindingAddress<ValueType>) => Binding<ValueType>;
54
54
  add: (binding: Binding<unknown>) => Application;
55
- configure: <ConfigValueType = any>(key?: import("@loopback/core").BindingAddress<unknown> | undefined) => Binding<ConfigValueType>;
56
- getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>;
57
- getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
58
- getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
59
- unbind: (key: import("@loopback/core").BindingAddress<unknown>) => boolean;
55
+ configure: <ConfigValueType = any>(key?: import("@loopback/core").BindingAddress | undefined) => Binding<ConfigValueType>;
56
+ getConfigAsValueOrPromise: <ConfigValueType_1>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => import("@loopback/core").ValueOrPromise<ConfigValueType_1 | undefined>;
57
+ getConfig: <ConfigValueType_2>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
58
+ getConfigSync: <ConfigValueType_3>(key: import("@loopback/core").BindingAddress, propertyPath?: string | undefined, resolutionOptions?: import("@loopback/core").ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
59
+ unbind: (key: import("@loopback/core").BindingAddress) => boolean;
60
60
  subscribe: (observer: import("@loopback/core").ContextEventObserver) => import("@loopback/core").Subscription;
61
61
  unsubscribe: (observer: import("@loopback/core").ContextEventObserver) => boolean;
62
62
  close: () => void;
63
63
  isSubscribed: (observer: import("@loopback/core").ContextObserver) => boolean;
64
- createView: <T_7 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined, options?: Omit<import("@loopback/core").ResolutionOptions, "session"> | undefined) => import("@loopback/core").ContextView<T_7>;
65
- contains: (key: import("@loopback/core").BindingAddress<unknown>) => boolean;
66
- isBound: (key: import("@loopback/core").BindingAddress<unknown>) => boolean;
67
- getOwnerContext: (keyOrBinding: import("@loopback/core").BindingAddress<unknown> | Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
64
+ createView: <T_6 = unknown>(filter: import("@loopback/core").BindingFilter, comparator?: import("@loopback/core").BindingComparator | undefined, options?: Omit<import("@loopback/core").ResolutionOptions, "session"> | undefined) => import("@loopback/core").ContextView<T_6>;
65
+ contains: (key: import("@loopback/core").BindingAddress) => boolean;
66
+ isBound: (key: import("@loopback/core").BindingAddress) => boolean;
67
+ getOwnerContext: (keyOrBinding: import("@loopback/core").BindingAddress | Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
68
68
  getScopedContext: (scope: BindingScope.APPLICATION | BindingScope.SERVER | BindingScope.REQUEST) => import("@loopback/core").Context | undefined;
69
69
  getResolutionContext: (binding: Readonly<Binding<unknown>>) => import("@loopback/core").Context | undefined;
70
70
  isVisibleTo: (ctx: import("@loopback/core").Context) => boolean;
@@ -84,7 +84,7 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
84
84
  optional?: boolean | undefined;
85
85
  } | undefined): Binding<ValueType_8> | undefined;
86
86
  };
87
- findOrCreateBinding: <T_8>(key: import("@loopback/core").BindingAddress<T_8>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => Binding<T_8>;
87
+ findOrCreateBinding: <T_7>(key: import("@loopback/core").BindingAddress<T_7>, policy?: import("@loopback/core").BindingCreationPolicy | undefined) => Binding<T_7>;
88
88
  getValueOrPromise: <ValueType_9>(keyWithPath: import("@loopback/core").BindingAddress<ValueType_9>, optionsOrSession?: import("@loopback/core").ResolutionOptionsOrSession | undefined) => import("@loopback/core").ValueOrPromise<ValueType_9 | undefined>;
89
89
  toJSON: () => import("@loopback/core").JSONObject;
90
90
  inspect: (options?: import("@loopback/core").ContextInspectOptions | undefined) => import("@loopback/core").JSONObject;
@@ -96,18 +96,18 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
96
96
  (eventName: "bind" | "unbind", listener: import("@loopback/core").ContextEventListener): Application;
97
97
  (event: string | symbol, listener: (...args: any[]) => void): Application;
98
98
  };
99
- addListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
100
- removeListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
101
- off: (event: string | symbol, listener: (...args: any[]) => void) => Application;
99
+ addListener: (eventName: string | symbol, listener: (...args: any[]) => void) => Application;
100
+ removeListener: (eventName: string | symbol, listener: (...args: any[]) => void) => Application;
101
+ off: (eventName: string | symbol, listener: (...args: any[]) => void) => Application;
102
102
  removeAllListeners: (event?: string | symbol | undefined) => Application;
103
103
  setMaxListeners: (n: number) => Application;
104
104
  getMaxListeners: () => number;
105
- listeners: (event: string | symbol) => Function[];
106
- rawListeners: (event: string | symbol) => Function[];
107
- emit: (event: string | symbol, ...args: any[]) => boolean;
108
- listenerCount: (event: string | symbol) => number;
109
- prependListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
110
- prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
105
+ listeners: (eventName: string | symbol) => Function[];
106
+ rawListeners: (eventName: string | symbol) => Function[];
107
+ emit: (eventName: string | symbol, ...args: any[]) => boolean;
108
+ listenerCount: (eventName: string | symbol) => number;
109
+ prependListener: (eventName: string | symbol, listener: (...args: any[]) => void) => Application;
110
+ prependOnceListener: (eventName: string | symbol, listener: (...args: any[]) => void) => Application;
111
111
  eventNames: () => (string | symbol)[];
112
112
  };
113
113
  } & T;
@@ -121,7 +121,7 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
121
121
 
122
122
  **Returns:**
123
123
 
124
- { new (...args: any\[\]): { repository&lt;R extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repoClass: [Class](./repository.class.md)<!-- -->&lt;R&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- -->&lt;R&gt;; getRepository&lt;R\_1 extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repo: [Class](./repository.class.md)<!-- -->&lt;R\_1&gt;): Promise&lt;R\_1&gt;; dataSource&lt;D extends juggler.DataSource&gt;(dataSource: D \| [Class](./repository.class.md)<!-- -->&lt;D&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- -->&lt;D&gt;; model&lt;M extends [Class](./repository.class.md)<!-- -->&lt;unknown&gt;&gt;(modelClass: M): [Binding](./context.binding.md)<!-- -->&lt;M&gt;; component&lt;C extends [Component](./core.component.md) = [Component](./core.component.md)<!-- -->&gt;(componentCtor: [Constructor](./context.constructor.md)<!-- -->&lt;C&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- -->&lt;C&gt;; mountComponentRepositories(componentInstanceOrClass: [Class](./repository.class.md)<!-- -->&lt;unknown&gt; \| [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; mountComponentModels(component: [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; migrateSchema(options?: [SchemaMigrationOptions](./repository.schemamigrationoptions.md)<!-- -->): Promise&lt;void&gt;; readonly options: import("@loopback/core").[ApplicationConfig](./core.applicationconfig.md)<!-- -->; readonly state: string; controller: &lt;T\_1&gt;(controllerCtor: import("@loopback/core").[ControllerClass](./core.controllerclass.md)<!-- -->&lt;T\_1&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_1&gt;; server: &lt;T\_2 extends import("@loopback/core").[Server](./core.server.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_2&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_2&gt;; servers: &lt;T\_3 extends import("@loopback/core").[Server](./core.server.md)<!-- -->&gt;(ctors: [Constructor](./context.constructor.md)<!-- -->&lt;T\_3&gt;\[\]) =&gt; [Binding](./context.binding.md)<!-- -->&lt;any&gt;\[\]; getServer: &lt;T\_4 extends import("@loopback/core").[Server](./core.server.md)<!-- -->&gt;(target: string \| [Constructor](./context.constructor.md)<!-- -->&lt;T\_4&gt;) =&gt; Promise&lt;T\_4&gt;; init: () =&gt; Promise&lt;void&gt;; onInit: (fn: () =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; start: () =&gt; Promise&lt;void&gt;; onStart: (fn: () =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; stop: () =&gt; Promise&lt;void&gt;; onStop: (fn: () =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; setMetadata: (metadata: import("@loopback/core").[ApplicationMetadata](./core.applicationmetadata.md)<!-- -->) =&gt; void; lifeCycleObserver: &lt;T\_5 extends import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_5&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_5&gt;; service: &lt;S&gt;(cls: import("@loopback/core").[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- -->&lt;S&gt;, nameOrOptions?: string \| import("@loopback/core").[ServiceOptions](./core.serviceoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;S&gt;; interceptor: (interceptor: import("@loopback/core").[Interceptor](./context.interceptor.md) \| [Constructor](./context.constructor.md)<!-- -->&lt;import("@loopback/core").[Provider](./context.provider.md)<!-- -->&lt;import("@loopback/core").[Interceptor](./context.interceptor.md)<!-- -->&gt;&gt;, nameOrOptions?: string \| import("@loopback/core").[InterceptorBindingOptions](./context.interceptorbindingoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[Interceptor](./context.interceptor.md)<!-- -->&gt;; readonly name: string; readonly subscriptionManager: import("@loopback/core").[ContextSubscriptionManager](./context.contextsubscriptionmanager.md)<!-- -->; scope: [BindingScope](./context.bindingscope.md)<!-- -->; readonly parent: import("@loopback/core").[Context](./context.context.md) \| undefined; emitEvent: &lt;T\_6 extends import("@loopback/core").[ContextEvent](./context.contextevent.md)<!-- -->&gt;(type: string, event: T\_6) =&gt; void; emitError: (err: unknown) =&gt; void; bind: &lt;ValueType = any&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ValueType&gt;; add: (binding: [Binding](./context.binding.md)<!-- -->&lt;unknown&gt;) =&gt; [Application](./core.application.md)<!-- -->; configure: &lt;ConfigValueType = any&gt;(key?: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt; \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ConfigValueType&gt;; getConfigAsValueOrPromise: &lt;ConfigValueType\_1&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ConfigValueType\_1 \| undefined&gt;; getConfig: &lt;ConfigValueType\_2&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; Promise&lt;ConfigValueType\_2 \| undefined&gt;; getConfigSync: &lt;ConfigValueType\_3&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; ConfigValueType\_3 \| undefined; unbind: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; subscribe: (observer: import("@loopback/core").[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; import("@loopback/core").[Subscription](./context.subscription.md)<!-- -->; unsubscribe: (observer: import("@loopback/core").[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; boolean; close: () =&gt; void; isSubscribed: (observer: import("@loopback/core").[ContextObserver](./context.contextobserver.md)<!-- -->) =&gt; boolean; createView: &lt;T\_7 = unknown&gt;(filter: import("@loopback/core").[BindingFilter](./context.bindingfilter.md)<!-- -->, comparator?: import("@loopback/core").[BindingComparator](./context.bindingcomparator.md) \| undefined, options?: Omit&lt;import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md)<!-- -->, "session"&gt; \| undefined) =&gt; import("@loopback/core").[ContextView](./context.contextview.md)<!-- -->&lt;T\_7&gt;; contains: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; isBound: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt;) =&gt; boolean; getOwnerContext: (keyOrBinding: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;unknown&gt; \| Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; import("@loopback/core").[Context](./context.context.md) \| undefined; getScopedContext: (scope: [BindingScope.APPLICATION](./context.bindingscope.md) \| [BindingScope.SERVER](./context.bindingscope.md) \| [BindingScope.REQUEST](./context.bindingscope.md)<!-- -->) =&gt; import("@loopback/core").[Context](./context.context.md) \| undefined; getResolutionContext: (binding: Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; import("@loopback/core").[Context](./context.context.md) \| undefined; isVisibleTo: (ctx: import("@loopback/core").[Context](./context.context.md)<!-- -->) =&gt; boolean; find: &lt;ValueType\_1 = any&gt;(pattern?: string \| RegExp \| import("@loopback/core").[BindingFilter](./context.bindingfilter.md) \| undefined) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_1&gt;&gt;\[\]; findByTag: &lt;ValueType\_2 = any&gt;(tagFilter: RegExp \| import("@loopback/core").[BindingTag](./context.bindingtag.md)<!-- -->) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_2&gt;&gt;\[\]; get: { &lt;ValueType\_3&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_3&gt;, session?: import("@loopback/core").[ResolutionSession](./context.resolutionsession.md) \| undefined): Promise&lt;ValueType\_3&gt;; &lt;ValueType\_4&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_4&gt;, options: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md)<!-- -->): Promise&lt;ValueType\_4 \| undefined&gt;; }; getSync: { &lt;ValueType\_5&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_5&gt;, session?: import("@loopback/core").[ResolutionSession](./context.resolutionsession.md) \| undefined): ValueType\_5; &lt;ValueType\_6&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_6&gt;, options?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined): ValueType\_6 \| undefined; }; getBinding: { &lt;ValueType\_7 = any&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_7&gt;): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_7&gt;; &lt;ValueType\_8&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_8&gt;, options?: { optional?: boolean \| undefined; } \| undefined): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_8&gt; \| undefined; }; findOrCreateBinding: &lt;T\_8&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;T\_8&gt;, policy?: import("@loopback/core").[BindingCreationPolicy](./context.bindingcreationpolicy.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_8&gt;; getValueOrPromise: &lt;ValueType\_9&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_9&gt;, optionsOrSession?: import("@loopback/core").[ResolutionOptionsOrSession](./context.resolutionoptionsorsession.md) \| undefined) =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ValueType\_9 \| undefined&gt;; toJSON: () =&gt; import("@loopback/core").[JSONObject](./context.jsonobject.md)<!-- -->; inspect: (options?: import("@loopback/core").[ContextInspectOptions](./context.contextinspectoptions.md) \| undefined) =&gt; import("@loopback/core").[JSONObject](./context.jsonobject.md)<!-- -->; on: { (eventName: "bind" \| "unbind", listener: import("@loopback/core").[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; once: { (eventName: "bind" \| "unbind", listener: import("@loopback/core").[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; addListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; off: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeAllListeners: (event?: string \| symbol \| undefined) =&gt; [Application](./core.application.md)<!-- -->; setMaxListeners: (n: number) =&gt; [Application](./core.application.md)<!-- -->; getMaxListeners: () =&gt; number; listeners: (event: string \| symbol) =&gt; Function\[\]; rawListeners: (event: string \| symbol) =&gt; Function\[\]; emit: (event: string \| symbol, ...args: any\[\]) =&gt; boolean; listenerCount: (event: string \| symbol) =&gt; number; prependListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; prependOnceListener: (event: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; eventNames: () =&gt; (string \| symbol)\[\]; }; } &amp; T
124
+ { new (...args: any\[\]): { repository&lt;R extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repoClass: [Class](./repository.class.md)<!-- -->&lt;R&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- -->&lt;R&gt;; getRepository&lt;R\_1 extends [Repository](./repository.repository.md)<!-- -->&lt;any&gt;&gt;(repo: [Class](./repository.class.md)<!-- -->&lt;R\_1&gt;): Promise&lt;R\_1&gt;; dataSource&lt;D extends juggler.DataSource&gt;(dataSource: D \| [Class](./repository.class.md)<!-- -->&lt;D&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- -->&lt;D&gt;; model&lt;M extends [Class](./repository.class.md)<!-- -->&lt;unknown&gt;&gt;(modelClass: M): [Binding](./context.binding.md)<!-- -->&lt;M&gt;; component&lt;C extends [Component](./core.component.md) = [Component](./core.component.md)<!-- -->&gt;(componentCtor: [Constructor](./context.constructor.md)<!-- -->&lt;C&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md)<!-- -->): [Binding](./context.binding.md)<!-- -->&lt;C&gt;; mountComponentRepositories(componentInstanceOrClass: [Class](./repository.class.md)<!-- -->&lt;unknown&gt; \| [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; mountComponentModels(component: [RepositoryComponent](./repository.repositorycomponent.md)<!-- -->): void; migrateSchema(options?: [SchemaMigrationOptions](./repository.schemamigrationoptions.md)<!-- -->): Promise&lt;void&gt;; readonly options: import("@loopback/core").[ApplicationConfig](./core.applicationconfig.md)<!-- -->; readonly state: string; controller: &lt;T&gt;(controllerCtor: import("@loopback/core").[ControllerClass](./core.controllerclass.md)<!-- -->&lt;T&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T&gt;; server: &lt;T\_1 extends import("@loopback/core").[Server](./core.server.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_1&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_1&gt;; servers: &lt;T\_2 extends import("@loopback/core").[Server](./core.server.md)<!-- -->&gt;(ctors: [Constructor](./context.constructor.md)<!-- -->&lt;T\_2&gt;\[\]) =&gt; [Binding](./context.binding.md)<!-- -->&lt;any&gt;\[\]; getServer: &lt;T\_3 extends import("@loopback/core").[Server](./core.server.md)<!-- -->&gt;(target: string \| [Constructor](./context.constructor.md)<!-- -->&lt;T\_3&gt;) =&gt; Promise&lt;T\_3&gt;; init: () =&gt; Promise&lt;void&gt;; onInit: (fn: () =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; start: () =&gt; Promise&lt;void&gt;; onStart: (fn: () =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; stop: () =&gt; Promise&lt;void&gt;; onStop: (fn: () =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;void&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;; setMetadata: (metadata: import("@loopback/core").[ApplicationMetadata](./core.applicationmetadata.md)<!-- -->) =&gt; void; lifeCycleObserver: &lt;T\_4 extends import("@loopback/core").[LifeCycleObserver](./core.lifecycleobserver.md)<!-- -->&gt;(ctor: [Constructor](./context.constructor.md)<!-- -->&lt;T\_4&gt;, nameOrOptions?: string \| [BindingFromClassOptions](./context.bindingfromclassoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_4&gt;; service: &lt;S&gt;(cls: import("@loopback/core").[ServiceOrProviderClass](./core.serviceorproviderclass.md)<!-- -->&lt;S&gt;, nameOrOptions?: string \| import("@loopback/core").[ServiceOptions](./core.serviceoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;S&gt;; interceptor: (interceptor: import("@loopback/core").[Interceptor](./context.interceptor.md) \| [Constructor](./context.constructor.md)<!-- -->&lt;import("@loopback/core").[Provider](./context.provider.md)<!-- -->&lt;import("@loopback/core").[Interceptor](./context.interceptor.md)<!-- -->&gt;&gt;, nameOrOptions?: string \| import("@loopback/core").[InterceptorBindingOptions](./context.interceptorbindingoptions.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;import("@loopback/core").[Interceptor](./context.interceptor.md)<!-- -->&gt;; readonly name: string; readonly subscriptionManager: import("@loopback/core").[ContextSubscriptionManager](./context.contextsubscriptionmanager.md)<!-- -->; scope: [BindingScope](./context.bindingscope.md)<!-- -->; readonly parent: import("@loopback/core").[Context](./context.context.md) \| undefined; emitEvent: &lt;T\_5 extends import("@loopback/core").[ContextEvent](./context.contextevent.md)<!-- -->&gt;(type: string, event: T\_5) =&gt; void; emitError: (err: unknown) =&gt; void; bind: &lt;ValueType = any&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType&gt;) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ValueType&gt;; add: (binding: [Binding](./context.binding.md)<!-- -->&lt;unknown&gt;) =&gt; [Application](./core.application.md)<!-- -->; configure: &lt;ConfigValueType = any&gt;(key?: import("@loopback/core").[BindingAddress](./context.bindingaddress.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;ConfigValueType&gt;; getConfigAsValueOrPromise: &lt;ConfigValueType\_1&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ConfigValueType\_1 \| undefined&gt;; getConfig: &lt;ConfigValueType\_2&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; Promise&lt;ConfigValueType\_2 \| undefined&gt;; getConfigSync: &lt;ConfigValueType\_3&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->, propertyPath?: string \| undefined, resolutionOptions?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined) =&gt; ConfigValueType\_3 \| undefined; unbind: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->) =&gt; boolean; subscribe: (observer: import("@loopback/core").[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; import("@loopback/core").[Subscription](./context.subscription.md)<!-- -->; unsubscribe: (observer: import("@loopback/core").[ContextEventObserver](./context.contexteventobserver.md)<!-- -->) =&gt; boolean; close: () =&gt; void; isSubscribed: (observer: import("@loopback/core").[ContextObserver](./context.contextobserver.md)<!-- -->) =&gt; boolean; createView: &lt;T\_6 = unknown&gt;(filter: import("@loopback/core").[BindingFilter](./context.bindingfilter.md)<!-- -->, comparator?: import("@loopback/core").[BindingComparator](./context.bindingcomparator.md) \| undefined, options?: Omit&lt;import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md)<!-- -->, "session"&gt; \| undefined) =&gt; import("@loopback/core").[ContextView](./context.contextview.md)<!-- -->&lt;T\_6&gt;; contains: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->) =&gt; boolean; isBound: (key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->) =&gt; boolean; getOwnerContext: (keyOrBinding: import("@loopback/core").[BindingAddress](./context.bindingaddress.md) \| Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; import("@loopback/core").[Context](./context.context.md) \| undefined; getScopedContext: (scope: [BindingScope.APPLICATION](./context.bindingscope.md) \| [BindingScope.SERVER](./context.bindingscope.md) \| [BindingScope.REQUEST](./context.bindingscope.md)<!-- -->) =&gt; import("@loopback/core").[Context](./context.context.md) \| undefined; getResolutionContext: (binding: Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;unknown&gt;&gt;) =&gt; import("@loopback/core").[Context](./context.context.md) \| undefined; isVisibleTo: (ctx: import("@loopback/core").[Context](./context.context.md)<!-- -->) =&gt; boolean; find: &lt;ValueType\_1 = any&gt;(pattern?: string \| RegExp \| import("@loopback/core").[BindingFilter](./context.bindingfilter.md) \| undefined) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_1&gt;&gt;\[\]; findByTag: &lt;ValueType\_2 = any&gt;(tagFilter: RegExp \| import("@loopback/core").[BindingTag](./context.bindingtag.md)<!-- -->) =&gt; Readonly&lt;[Binding](./context.binding.md)<!-- -->&lt;ValueType\_2&gt;&gt;\[\]; get: { &lt;ValueType\_3&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_3&gt;, session?: import("@loopback/core").[ResolutionSession](./context.resolutionsession.md) \| undefined): Promise&lt;ValueType\_3&gt;; &lt;ValueType\_4&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_4&gt;, options: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md)<!-- -->): Promise&lt;ValueType\_4 \| undefined&gt;; }; getSync: { &lt;ValueType\_5&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_5&gt;, session?: import("@loopback/core").[ResolutionSession](./context.resolutionsession.md) \| undefined): ValueType\_5; &lt;ValueType\_6&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_6&gt;, options?: import("@loopback/core").[ResolutionOptions](./context.resolutionoptions.md) \| undefined): ValueType\_6 \| undefined; }; getBinding: { &lt;ValueType\_7 = any&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_7&gt;): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_7&gt;; &lt;ValueType\_8&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_8&gt;, options?: { optional?: boolean \| undefined; } \| undefined): [Binding](./context.binding.md)<!-- -->&lt;ValueType\_8&gt; \| undefined; }; findOrCreateBinding: &lt;T\_7&gt;(key: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;T\_7&gt;, policy?: import("@loopback/core").[BindingCreationPolicy](./context.bindingcreationpolicy.md) \| undefined) =&gt; [Binding](./context.binding.md)<!-- -->&lt;T\_7&gt;; getValueOrPromise: &lt;ValueType\_9&gt;(keyWithPath: import("@loopback/core").[BindingAddress](./context.bindingaddress.md)<!-- -->&lt;ValueType\_9&gt;, optionsOrSession?: import("@loopback/core").[ResolutionOptionsOrSession](./context.resolutionoptionsorsession.md) \| undefined) =&gt; import("@loopback/core").[ValueOrPromise](./context.valueorpromise.md)<!-- -->&lt;ValueType\_9 \| undefined&gt;; toJSON: () =&gt; import("@loopback/core").[JSONObject](./context.jsonobject.md)<!-- -->; inspect: (options?: import("@loopback/core").[ContextInspectOptions](./context.contextinspectoptions.md) \| undefined) =&gt; import("@loopback/core").[JSONObject](./context.jsonobject.md)<!-- -->; on: { (eventName: "bind" \| "unbind", listener: import("@loopback/core").[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; once: { (eventName: "bind" \| "unbind", listener: import("@loopback/core").[ContextEventListener](./context.contexteventlistener.md)<!-- -->): [Application](./core.application.md)<!-- -->; (event: string \| symbol, listener: (...args: any\[\]) =&gt; void): [Application](./core.application.md)<!-- -->; }; addListener: (eventName: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeListener: (eventName: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; off: (eventName: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; removeAllListeners: (event?: string \| symbol \| undefined) =&gt; [Application](./core.application.md)<!-- -->; setMaxListeners: (n: number) =&gt; [Application](./core.application.md)<!-- -->; getMaxListeners: () =&gt; number; listeners: (eventName: string \| symbol) =&gt; Function\[\]; rawListeners: (eventName: string \| symbol) =&gt; Function\[\]; emit: (eventName: string \| symbol, ...args: any\[\]) =&gt; boolean; listenerCount: (eventName: string \| symbol) =&gt; number; prependListener: (eventName: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; prependOnceListener: (eventName: string \| symbol, listener: (...args: any\[\]) =&gt; void) =&gt; [Application](./core.application.md)<!-- -->; eventNames: () =&gt; (string \| symbol)\[\]; }; } &amp; T
125
125
 
126
126
  A new class that extends the super class with repository related methods
127
127
 
@@ -0,0 +1,25 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: sequelize.sequelizecrudrepository.defaultfnregistry'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
7
+ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.defaultfnregistry.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md) &gt; [defaultFnRegistry](./sequelize.sequelizecrudrepository.defaultfnregistry.md)
13
+
14
+ ## SequelizeCrudRepository.defaultFnRegistry property
15
+
16
+ The alias registry for `defaultFn` option used in model property definition.
17
+
18
+ See: https://loopback.io/doc/en/lb4/Model.html\#property-decorator
19
+
20
+ **Signature:**
21
+
22
+ ```typescript
23
+ protected defaultFnRegistry: Record<string, unknown>;
24
+ ```
25
+
@@ -13,6 +13,13 @@ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.excludehiddenpr
13
13
 
14
14
  ## SequelizeCrudRepository.excludeHiddenProps() method
15
15
 
16
+ > Warning: This API is now obsolete.
17
+ >
18
+ > To exclude hidden props from an entity instance, call the `.toJSON()` method on it. Alternatively it can be use by manually instantiating the model using `new EntityClass(data).toJSON()`<!-- -->.
19
+ >
20
+ > This function will be removed in next major release.
21
+ >
22
+
16
23
  Remove hidden properties specified in model from response body. (See: https://github.com/sourcefuse/loopback4-sequelize/issues/3)
17
24
 
18
25
  **Signature:**
@@ -13,20 +13,45 @@ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.execute.html
13
13
 
14
14
  ## SequelizeCrudRepository.execute() method
15
15
 
16
+ Execute a SQL command.
17
+
18
+ \*\*WARNING:\*\* In general, it is always better to perform database actions through repository methods. Directly executing SQL may lead to unexpected results, corrupted data, security vulnerabilities and other issues.
19
+
16
20
  **Signature:**
17
21
 
18
22
  ```typescript
19
- execute(..._args: PositionalParameters): Promise<AnyObject>;
23
+ execute(command: Command, parameters?: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
20
24
  ```
21
25
 
22
26
  ## Parameters
23
27
 
24
28
  | Parameter | Type | Description |
25
29
  | --- | --- | --- |
26
- | \_args | [PositionalParameters](./repository.positionalparameters.md) | |
30
+ | command | [Command](./repository.command.md) | A parameterized SQL command or query. |
31
+ | parameters | [NamedParameters](./repository.namedparameters.md) \| [PositionalParameters](./repository.positionalparameters.md) | _(Optional)_ List of parameter values to use. |
32
+ | options | [Options](./repository.options.md) | _(Optional)_ Additional options, for example <code>transaction</code>. |
27
33
 
28
34
  **Returns:**
29
35
 
30
36
  Promise&lt;[AnyObject](./repository.anyobject.md)<!-- -->&gt;
31
37
 
38
+ A promise which resolves to the command output. The output type (data structure) is database specific and often depends on the command executed.
39
+
40
+ ## Example
41
+
42
+
43
+ ```ts
44
+ // MySQL
45
+ const result = await repo.execute(
46
+ 'SELECT * FROM Products WHERE size > ?',
47
+ [42]
48
+ );
49
+
50
+ // PostgreSQL
51
+ const result = await repo.execute(
52
+ 'SELECT * FROM Products WHERE size > $1',
53
+ [42]
54
+ );
55
+ ```
56
+
32
57
 
@@ -0,0 +1,25 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: sequelize.sequelizecrudrepository.getdefaultfnregistry'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
7
+ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.getdefaultfnregistry.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md) &gt; [getDefaultFnRegistry](./sequelize.sequelizecrudrepository.getdefaultfnregistry.md)
13
+
14
+ ## SequelizeCrudRepository.getDefaultFnRegistry() method
15
+
16
+ **Signature:**
17
+
18
+ ```typescript
19
+ protected getDefaultFnRegistry(): Record<string, unknown>;
20
+ ```
21
+ **Returns:**
22
+
23
+ Record&lt;string, unknown&gt;
24
+
25
+
@@ -20,7 +20,7 @@ Get Sequelize Model
20
20
  ```typescript
21
21
  getSequelizeModel(entityClass?: typeof Entity & {
22
22
  prototype: T;
23
- }): import("sequelize").ModelCtor<Model<any, any>> | import("sequelize").ModelCtor<SequelizeModel>;
23
+ }): import("sequelize").ModelCtor<Model<any, any>>;
24
24
  ```
25
25
 
26
26
  ## Parameters
@@ -31,7 +31,7 @@ getSequelizeModel(entityClass?: typeof Entity & {
31
31
 
32
32
  **Returns:**
33
33
 
34
- import("sequelize").ModelCtor&lt;Model&lt;any, any&gt;&gt; \| import("sequelize").ModelCtor&lt;SequelizeModel&gt;
34
+ import("sequelize").ModelCtor&lt;Model&lt;any, any&gt;&gt;
35
35
 
36
36
  Sequelize Model Instance based on the definitions from `entityClass`
37
37
 
@@ -0,0 +1,40 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: sequelize.sequelizecrudrepository.gettablename'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
7
+ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.gettablename.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md) &gt; [getTableName](./sequelize.sequelizecrudrepository.gettablename.md)
13
+
14
+ ## SequelizeCrudRepository.getTableName() method
15
+
16
+ This function retrieves the table name associated with a given entity class. Different loopback connectors have different conventions for picking up table names, unless the name is specified in the decorator.
17
+
18
+ The function follows the following cases to determine the table name: - It checks if the name property is specified in the decorator and uses it. (this takes precedence over all other cases) - If the dialect of the dataSource is PostgreSQL, it uses the lowercased version of the model class name. - If the dialect is MySQL or any other dialect, it uses the default model class name.
19
+
20
+ **Signature:**
21
+
22
+ ```typescript
23
+ getTableName(entityClass?: typeof Entity & {
24
+ prototype: T;
25
+ }): string;
26
+ ```
27
+
28
+ ## Parameters
29
+
30
+ | Parameter | Type | Description |
31
+ | --- | --- | --- |
32
+ | entityClass | typeof [Entity](./repository.entity.md) &amp; { prototype: T; } | _(Optional)_ The entity class for which the table name is being retrieved. |
33
+
34
+ **Returns:**
35
+
36
+ string
37
+
38
+ {<!-- -->string<!-- -->} - The table name associated with the entity class. Which is used when performing the query.
39
+
40
+
@@ -0,0 +1,34 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: sequelize.sequelizecrudrepository.isinclusionallowed'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
7
+ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.isinclusionallowed.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md) &gt; [isInclusionAllowed](./sequelize.sequelizecrudrepository.isinclusionallowed.md)
13
+
14
+ ## SequelizeCrudRepository.isInclusionAllowed() method
15
+
16
+ Checks if the resolver of the inclusion relation is registered in the inclusionResolver of the current repository
17
+
18
+ **Signature:**
19
+
20
+ ```typescript
21
+ protected isInclusionAllowed(include: InclusionFilter): boolean;
22
+ ```
23
+
24
+ ## Parameters
25
+
26
+ | Parameter | Type | Description |
27
+ | --- | --- | --- |
28
+ | include | [InclusionFilter](./filter.inclusionfilter.md) | LoopBack Inclusion filter |
29
+
30
+ **Returns:**
31
+
32
+ boolean
33
+
34
+
@@ -35,8 +35,10 @@ export declare class SequelizeCrudRepository<T extends Entity, ID, Relations ext
35
35
  | [dataSource](./sequelize.sequelizecrudrepository.datasource.md) | | [SequelizeDataSource](./sequelize.sequelizedatasource.md) | |
36
36
  | [DB\_SPECIFIC\_SETTINGS\_KEYS](./sequelize.sequelizecrudrepository.db_specific_settings_keys.md) | <code>readonly</code> | readonly \["postgresql", "mysql", "sqlite3"\] | <p>Object keys used in models for set database specific settings. Example: In model property definition one can use postgresql dataType as float <code>{ type: 'number', postgresql: { dataType: 'float', precision: 20, scale: 4, }, }</code></p><p>This array of keys is used while building model definition for sequelize.</p> |
37
37
  | [DEFAULT\_ORDER\_STYLE](./sequelize.sequelizecrudrepository.default_order_style.md) | <code>readonly</code> | (not declared) | Default <code>order</code> filter style if only column name is specified |
38
+ | [defaultFnRegistry](./sequelize.sequelizecrudrepository.defaultfnregistry.md) | <code>protected</code> | Record&lt;string, unknown&gt; | <p>The alias registry for <code>defaultFn</code> option used in model property definition.</p><p>See: https://loopback.io/doc/en/lb4/Model.html\#property-decorator</p> |
38
39
  | [entityClass](./sequelize.sequelizecrudrepository.entityclass.md) | | typeof [Entity](./repository.entity.md) &amp; { prototype: T; } | |
39
40
  | [inclusionResolvers](./sequelize.sequelizecrudrepository.inclusionresolvers.md) | <code>readonly</code> | Map&lt;string, [InclusionResolver](./repository.inclusionresolver.md)<!-- -->&lt;T, [Entity](./repository.entity.md)<!-- -->&gt;&gt; | |
41
+ | [NANO\_ID\_LENGTH](./sequelize.sequelizecrudrepository.nano_id_length.md) | | number | Length of the <code>nanoid</code> generated for defaultFn's <code>shortid</code> and <code>nanoid</code> aliases. |
40
42
  | [sequelizeModel](./sequelize.sequelizecrudrepository.sequelizemodel.md) | | ModelStatic&lt;Model&lt;T&gt;&gt; | Sequelize Model Instance created from the model definition received from the <code>entityClass</code> |
41
43
 
42
44
  ## Methods
@@ -60,15 +62,18 @@ export declare class SequelizeCrudRepository<T extends Entity, ID, Relations ext
60
62
  | [deleteAll(where, options)](./sequelize.sequelizecrudrepository.deleteall.md) | | |
61
63
  | [deleteById(id, options)](./sequelize.sequelizecrudrepository.deletebyid.md) | | |
62
64
  | [excludeHiddenProps(entity)](./sequelize.sequelizecrudrepository.excludehiddenprops.md) | <code>protected</code> | Remove hidden properties specified in model from response body. (See: https://github.com/sourcefuse/loopback4-sequelize/issues/3) |
63
- | [execute(\_args)](./sequelize.sequelizecrudrepository.execute.md) | | |
65
+ | [execute(command, parameters, options)](./sequelize.sequelizecrudrepository.execute.md) | | <p>Execute a SQL command.</p><p>\*\*WARNING:\*\* In general, it is always better to perform database actions through repository methods. Directly executing SQL may lead to unexpected results, corrupted data, security vulnerabilities and other issues.</p> |
64
66
  | [exists(id, \_options)](./sequelize.sequelizecrudrepository.exists.md) | | |
65
67
  | [find(filter, options)](./sequelize.sequelizecrudrepository.find.md) | | |
66
68
  | [findById(id, filter, options)](./sequelize.sequelizecrudrepository.findbyid.md) | | |
67
69
  | [findOne(filter, options)](./sequelize.sequelizecrudrepository.findone.md) | | |
70
+ | [getDefaultFnRegistry()](./sequelize.sequelizecrudrepository.getdefaultfnregistry.md) | <code>protected</code> | |
68
71
  | [getSequelizeModel(entityClass)](./sequelize.sequelizecrudrepository.getsequelizemodel.md) | | Get Sequelize Model |
69
72
  | [getSequelizeModelAttributes(definition)](./sequelize.sequelizecrudrepository.getsequelizemodelattributes.md) | <code>protected</code> | Get Sequelize Model Attributes |
70
73
  | [getSequelizeOperator(key)](./sequelize.sequelizecrudrepository.getsequelizeoperator.md) | <code>protected</code> | Get Sequelize Operator |
74
+ | [getTableName(entityClass)](./sequelize.sequelizecrudrepository.gettablename.md) | | <p>This function retrieves the table name associated with a given entity class. Different loopback connectors have different conventions for picking up table names, unless the name is specified in the decorator.</p><p>The function follows the following cases to determine the table name: - It checks if the name property is specified in the decorator and uses it. (this takes precedence over all other cases) - If the dialect of the dataSource is PostgreSQL, it uses the lowercased version of the model class name. - If the dialect is MySQL or any other dialect, it uses the default model class name.</p> |
71
75
  | [includeReferencesIfRequested(parentEntities, parentEntityClass, inclusionFilters)](./sequelize.sequelizecrudrepository.includereferencesifrequested.md) | <code>protected</code> | <p>Include related entities of <code>@referencesMany</code> relation</p><p>referencesMany relation is NOT handled by <code>sequelizeModel.findAll</code> as it doesn't have any direct alternative to it, so to include relation data of referencesMany, we're manually fetching related data requested</p> |
76
+ | [isInclusionAllowed(include)](./sequelize.sequelizecrudrepository.isinclusionallowed.md) | <code>protected</code> | Checks if the resolver of the inclusion relation is registered in the inclusionResolver of the current repository |
72
77
  | [registerInclusionResolver(relationName, resolver)](./sequelize.sequelizecrudrepository.registerinclusionresolver.md) | | Register an inclusion resolver for the related model name. |
73
78
  | [replaceById(id, data, options)](./sequelize.sequelizecrudrepository.replacebyid.md) | | |
74
79
  | [save(entity, options)](./sequelize.sequelizecrudrepository.save.md) | | |
@@ -0,0 +1,23 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: sequelize.sequelizecrudrepository.nano_id_length'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
7
+ permalink: /doc/en/lb4/apidocs.sequelize.sequelizecrudrepository.nano_id_length.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeCrudRepository](./sequelize.sequelizecrudrepository.md) &gt; [NANO\_ID\_LENGTH](./sequelize.sequelizecrudrepository.nano_id_length.md)
13
+
14
+ ## SequelizeCrudRepository.NANO\_ID\_LENGTH property
15
+
16
+ Length of the `nanoid` generated for defaultFn's `shortid` and `nanoid` aliases.
17
+
18
+ **Signature:**
19
+
20
+ ```typescript
21
+ NANO_ID_LENGTH: number;
22
+ ```
23
+
@@ -0,0 +1,57 @@
1
+ ---
2
+ lang: en
3
+ title: 'API docs: sequelize.sequelizedatasource.execute'
4
+ keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
5
+ sidebar: lb4_sidebar
6
+ editurl: https://github.com/loopbackio/loopback-next/tree/master/extensions/sequelize
7
+ permalink: /doc/en/lb4/apidocs.sequelize.sequelizedatasource.execute.html
8
+ ---
9
+
10
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
11
+
12
+ [Home](./index.md) &gt; [@loopback/sequelize](./sequelize.md) &gt; [SequelizeDataSource](./sequelize.sequelizedatasource.md) &gt; [execute](./sequelize.sequelizedatasource.execute.md)
13
+
14
+ ## SequelizeDataSource.execute() method
15
+
16
+ Execute a SQL command.
17
+
18
+ \*\*WARNING:\*\* In general, it is always better to perform database actions through repository methods. Directly executing SQL may lead to unexpected results, corrupted data, security vulnerabilities and other issues.
19
+
20
+ **Signature:**
21
+
22
+ ```typescript
23
+ execute(command: Command, parameters?: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
24
+ ```
25
+
26
+ ## Parameters
27
+
28
+ | Parameter | Type | Description |
29
+ | --- | --- | --- |
30
+ | command | [Command](./repository.command.md) | A parameterized SQL command or query. |
31
+ | parameters | [NamedParameters](./repository.namedparameters.md) \| [PositionalParameters](./repository.positionalparameters.md) | _(Optional)_ List of parameter values to use. |
32
+ | options | [Options](./repository.options.md) | _(Optional)_ Additional options, for example <code>transaction</code>. |
33
+
34
+ **Returns:**
35
+
36
+ Promise&lt;[AnyObject](./repository.anyobject.md)<!-- -->&gt;
37
+
38
+ A promise which resolves to the command output. The output type (data structure) is database specific and often depends on the command executed.
39
+
40
+ ## Example
41
+
42
+
43
+ ```ts
44
+ // MySQL
45
+ const result = await db.execute(
46
+ 'SELECT * FROM Products WHERE size > ?',
47
+ [42]
48
+ );
49
+
50
+ // PostgreSQL
51
+ const result = await db.execute(
52
+ 'SELECT * FROM Products WHERE size > $1',
53
+ [42]
54
+ );
55
+ ```
56
+
57
+
@@ -35,7 +35,7 @@ export declare class SequelizeDataSource implements LifeCycleObserver
35
35
  | [config](./sequelize.sequelizedatasource.config.md) | | [SequelizeDataSourceConfig](./sequelize.sequelizedatasourceconfig.md) | |
36
36
  | [name](./sequelize.sequelizedatasource.name.md) | | string | |
37
37
  | [sequelize?](./sequelize.sequelizedatasource.sequelize.md) | | Sequelize | _(Optional)_ |
38
- | [sequelizeConfig](./sequelize.sequelizedatasource.sequelizeconfig.md) | | [SequelizeDataSourceConfig](./sequelize.sequelizedatasourceconfig.md) | |
38
+ | [sequelizeConfig](./sequelize.sequelizedatasource.sequelizeconfig.md) | | SequelizeOptions | |
39
39
  | [settings](./sequelize.sequelizedatasource.settings.md) | | {} | |
40
40
 
41
41
  ## Methods
@@ -45,6 +45,7 @@ export declare class SequelizeDataSource implements LifeCycleObserver
45
45
  | [automigrate()](./sequelize.sequelizedatasource.automigrate.md) | | |
46
46
  | [autoupdate()](./sequelize.sequelizedatasource.autoupdate.md) | | |
47
47
  | [beginTransaction(options)](./sequelize.sequelizedatasource.begintransaction.md) | | Begin a new transaction. |
48
+ | [execute(command, parameters, options)](./sequelize.sequelizedatasource.execute.md) | | <p>Execute a SQL command.</p><p>\*\*WARNING:\*\* In general, it is always better to perform database actions through repository methods. Directly executing SQL may lead to unexpected results, corrupted data, security vulnerabilities and other issues.</p> |
48
49
  | [getPoolOptions()](./sequelize.sequelizedatasource.getpooloptions.md) | | |
49
50
  | [init()](./sequelize.sequelizedatasource.init.md) | | |
50
51
  | [start(\_injectedArgs)](./sequelize.sequelizedatasource.start.md) | | |
@@ -16,6 +16,6 @@ permalink: /doc/en/lb4/apidocs.sequelize.sequelizedatasource.sequelizeconfig.htm
16
16
  **Signature:**
17
17
 
18
18
  ```typescript
19
- sequelizeConfig: SequelizeDataSourceConfig;
19
+ sequelizeConfig: SequelizeOptions;
20
20
  ```
21
21
 
@@ -16,11 +16,12 @@ permalink: /doc/en/lb4/apidocs.sequelize.sequelizedatasourceconfig.html
16
16
  **Signature:**
17
17
 
18
18
  ```typescript
19
- export type SequelizeDataSourceConfig = SequelizeOptions & {
19
+ export type SequelizeDataSourceConfig = {
20
20
  name?: string;
21
21
  user?: string;
22
22
  connector?: SupportedLoopbackConnectors;
23
23
  url?: string;
24
+ sequelizeOptions?: SequelizeOptions;
24
25
  } & AnyObject;
25
26
  ```
26
27
  **References:** [AnyObject](./repository.anyobject.md)