@webda/models 4.0.0-beta.6 → 4.0.0-beta.8

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.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  This module is part of Webda Application Framework that allows you to quickly develop applications with all modern prerequisites: Security, Extensibility, GraphQL, REST, CloudNative [https://webda.io](https://webda.io)
4
4
 
5
- <img src="https://webda.io/images/webda.svg" width="128" />
5
+ <img src="https://webda.io/img/webda.svg" width="128" />
6
6
 
7
7
  ![CI](https://github.com/loopingz/webda.io/workflows/CI/badge.svg)
8
8
 
@@ -128,6 +128,7 @@ Instance operations become `POST /models/:key/method`; static operations become
128
128
  - [Permissions](../../docs/pages/Modules/models/Permissions.md)
129
129
 
130
130
  <!-- README_FOOTER -->
131
+
131
132
  ## Sponsors
132
133
 
133
134
  <!--
@@ -136,12 +137,12 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
136
137
 
137
138
  Arize AI is a machine learning observability and model monitoring platform. It helps you visualize, monitor, and explain your machine learning models. [Learn more](https://arize.com)
138
139
 
139
- [<img src="https://arize.com/hubfs/arize/brand/arize-logomark-1.png" width="200">](https://arize.com)
140
+ [<img src="https://webda.io/img/sponsors/arize.svg" width="200">](https://arize.com)
140
141
 
141
142
  Loopingz is a software development company that provides consulting and development services. [Learn more](https://loopingz.com)
142
143
 
143
- [<img src="https://loopingz.com/images/logo.png" width="200">](https://loopingz.com)
144
+ [<img src="https://webda.io/img/sponsors/loopingz.png" width="200">](https://loopingz.com)
144
145
 
145
146
  Tellae is an innovative consulting firm specialized in cities transportation issues. We provide our clients, both public and private, with solutions to support your strategic and operational decisions. [Learn more](https://tellae.fr)
146
147
 
147
- [<img src="https://tellae.fr/" width="200">](https://tellae.fr)
148
+ [<img src="https://webda.io/img/sponsors/tellae.svg" width="200">](https://tellae.fr)
package/lib/index.d.ts CHANGED
@@ -9,4 +9,5 @@ export * from "./repositories/event.js";
9
9
  export * from "./storable.js";
10
10
  export * from "./mock.js";
11
11
  export * from "./aggregation.js";
12
+ export type { FindOptions, FilterOperators, ModelFilter } from "@webda/ql";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -128,7 +128,12 @@ declare const Model_base: {
128
128
  results: InstanceType<T>[];
129
129
  continuationToken?: string;
130
130
  }>;
131
+ query<T extends ModelClass>(this: T, filter: import("@webda/ql").ModelFilter<InstanceType<T>>, options?: import("@webda/ql").FindOptions<InstanceType<T>> | undefined): Promise<{
132
+ results: InstanceType<T>[];
133
+ continuationToken?: string;
134
+ }>;
131
135
  iterate<T extends ModelClass>(this: T, query: import("@webda/ql").WebdaQLString<InstanceType<T>>, params?: import("@webda/ql").QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
136
+ iterate<T extends ModelClass>(this: T, filter: import("@webda/ql").ModelFilter<InstanceType<T>>, options?: Pick<import("@webda/ql").FindOptions<InstanceType<T>>, "orderBy"> | undefined): AsyncGenerator<InstanceType<T>, any, any>;
132
137
  aggregate<T extends ModelClass, const G extends readonly import("./types.js").PropertyPaths<InstanceType<T>>[] = [], const M extends Record<string, import("./aggregation.js").MetricSpec<InstanceType<T>>> = Record<string, import("./aggregation.js").MetricSpec<InstanceType<T>>>>(this: T, spec: import("./aggregation.js").AggregationSpec<InstanceType<T>, G, M>, params?: import("@webda/ql").QueryParameters): Promise<import("@webda/ql").AggregationResult<import("./aggregation.js").AggregatedRow<InstanceType<T>, G, M>>>;
133
138
  ref<T extends ModelClass>(this: T, key: import("./storable.js").SettablePrimaryKey<InstanceType<T>>): import("./relations.js").ModelRefWithCreate<InstanceType<T>>;
134
139
  } & ObjectConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"model.model.d.ts","sourceRoot":"","sources":["../src/model.model.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,KAAK,EAAE,EACP,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,2BAA2B,EAC3B,aAAa,EACb,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,WAAW,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAW,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE/D,OAAO,EAAE,KAAK,QAAQ,EAAgB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAsB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,GAAG,IAAI;IACjC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC;IACzC,aAAa,EAAE,GAAG,CAAC;IACnB,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC;IACtD,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC;IACrD,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,SAAS,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAE1B,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAC;IAC1C,cAAc,EAAE,GAAG,CAAC;IACpB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC;IACvD,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,CAAA;KAAE,CAAC;IACvD,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,UAAU,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1D,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB;;;;;;;MAc9C;CACF;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;;;;;;;;;;;;;;;AAED;;;;GAIG;AACH,8BAAsB,KAAM,SAAQ,UAAoC,YAAW,QAAQ;IACzF;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,YAAY,CAKhF;IAED;;OAEG;IACH,CAAC,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC;;;OAGG;IACH,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IACpD;;;OAGG;IACH,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5B,yDAAyD;IACzD,SAAgB,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAE7D;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,EAC7C,IAAI,EAAE,IAAI,GAAG;QAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9E,cAAc,CAAC,IAAI,CAAC,CAYtB;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,CAEhB;IAED;;;OAGG;IACH,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAEpB;IAED;;;;;OAKG;IACH,aAAa,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,EAC7C,IAAI,EAAE,IAAI,GAAG;QAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;KAAE,EACvC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GACzB,IAAI,CASN;IAED;;;OAGG;IACH,aAAa,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAE5C;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAC5C,IAAI,EAAE,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAA;KAAE,EACxF,SAAS,GAAE,OAAc,EACzB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAgBN;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;;;;;;;OAQG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAarB;IAED;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAK7B;IAED;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAW1B;IAED;;;;OAIG;IACH,UAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,YAAY,CAAC,EAC5D,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC,CAEf;IAED;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAC1C,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAEzE;IAED,qDAAqD;IACrD,MAAM,CAAC,mBAAmB;QACxB,IAAI,UAAU,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;MAChD;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,SAAS,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CA6BhH;IAED;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAIvC;IAED;;;OAGG;IACH,SAAS,QAER;IAED;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAK5B;IAED;;;;OAIG;IACG,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAW1D;CACF;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC;;OAEG;IACI,CAAC,iBAAiB,CAAC,YAAI,MAAM,EAAW;IAC/C;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,YAAY,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAGpC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,MAAM,CAE/B;CACF"}
1
+ {"version":3,"file":"model.model.d.ts","sourceRoot":"","sources":["../src/model.model.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { ModelRefWithCreate } from "../relations.js";
2
2
  import { SettablePrimaryKey, type Storable, type ModelClass } from "../storable.js";
3
3
  import { Helpers, PropertyPaths } from "../types.js";
4
4
  import type { Repository } from "./repository.js";
5
- import type { AggregationResult, QueryParameters, WebdaQLString } from "@webda/ql";
5
+ import type { AggregationResult, FindOptions, ModelFilter, QueryParameters, WebdaQLString } from "@webda/ql";
6
6
  import type { AggregatedRow, AggregationSpec, MetricSpec } from "../aggregation.js";
7
7
  /**
8
8
  * Global registry mapping ModelClass constructors to their Repository instances.
@@ -60,24 +60,46 @@ export declare function RepositoryStorageClassMixIn<TBase extends new (...args:
60
60
  * ```ts
61
61
  * Task.query("owner = ? AND priority >= ?", [user, 2]);
62
62
  * Task.query("owner = :owner", { owner: user });
63
+ * Task.query({ owner: user, priority: { $gte: 2 } }, { limit: 10 });
63
64
  * ```
65
+ *
66
+ * A JSON filter is converted to WebdaQL here, so repositories only ever receive query strings.
64
67
  * @param this - the model class constructor
65
- * @param query - the query string, optionally with `?` or `:name` placeholders
66
- * @param params - values for the placeholders: an array for `?`, an object for `:name`
68
+ * @param query - the query string, optionally with `?` or `:name` placeholders, or a JSON filter
69
+ * @param params - values for the placeholders: an array for `?`, an object for `:name`; or the find options of a JSON filter
67
70
  * @returns the query results
68
71
  */
69
72
  query<T extends ModelClass>(this: T, query: WebdaQLString<InstanceType<T>>, params?: QueryParameters): Promise<{
70
73
  results: InstanceType<T>[];
71
74
  continuationToken?: string;
72
75
  }>;
76
+ /**
77
+ * Query the object directly with a JSON filter, converted to WebdaQL
78
+ * @param this - the model class constructor
79
+ * @param filter - the JSON filter
80
+ * @param options - ordering, limit and continuation token
81
+ * @returns the query results
82
+ */
83
+ query<T extends ModelClass>(this: T, filter: ModelFilter<InstanceType<T>>, options?: FindOptions<InstanceType<T>>): Promise<{
84
+ results: InstanceType<T>[];
85
+ continuationToken?: string;
86
+ }>;
73
87
  /**
74
88
  * Iterate through all objects
75
89
  * @param this - the model class constructor
76
- * @param query - the query string, optionally with `?` or `:name` placeholders
77
- * @param params - values for the placeholders: an array for `?`, an object for `:name`
90
+ * @param query - the query string, optionally with `?` or `:name` placeholders, or a JSON filter
91
+ * @param params - values for the placeholders: an array for `?`, an object for `:name`; or the ordering of a JSON filter
78
92
  * @returns an async generator of model instances
79
93
  */
80
94
  iterate<T extends ModelClass>(this: T, query: WebdaQLString<InstanceType<T>>, params?: QueryParameters): AsyncGenerator<InstanceType<T>, any, any>;
95
+ /**
96
+ * Iterate through the objects matching a JSON filter, converted to WebdaQL
97
+ * @param this - the model class constructor
98
+ * @param filter - the JSON filter
99
+ * @param options - the ordering
100
+ * @returns an async generator of model instances
101
+ */
102
+ iterate<T extends ModelClass>(this: T, filter: ModelFilter<InstanceType<T>>, options?: Pick<FindOptions<InstanceType<T>>, "orderBy">): AsyncGenerator<InstanceType<T>, any, any>;
81
103
  /**
82
104
  * Aggregate the objects directly
83
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAkB,kBAAkB,EAAqB,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACvH,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,0DAA6C,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CASzE;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAElG;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,SAAS,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK;kBAA7B,GAAG,EAAE;QAqGzE;;;WAGG;;;IAtGH;;;OAGG;kBACkB,CAAC,SAAS,UAAU,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAIlE;;;;;;OAMG;WACW,CAAC,SAAS,UAAU,QAC1B,CAAC,QACD,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SACxB,OAAO,GACZ,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI3B;;;;;;;;;;;OAWG;UACU,CAAC,SAAS,UAAU,QACzB,CAAC,SACA,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAC5B,eAAe,GACvB,OAAO,CAAC;QACT,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IAIF;;;;;;OAMG;YACmB,CAAC,SAAS,UAAU,QAClC,CAAC,SACA,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAC5B,eAAe,GACvB,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;IAM5C;;;;;;;;;;OAUG;cAED,CAAC,SAAS,UAAU,QACd,CAAC,SAAS,SAAS,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,aACnD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,sDAErD,CAAC,QACD,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,WACnC,eAAe,GACvB,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAInE;;;;;OAKG;QACQ,CAAC,SAAS,UAAU,QACvB,CAAC,OACF,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACvC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;UAYzC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"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"}
@@ -58,29 +58,31 @@ export function RepositoryStorageClassMixIn(Base) {
58
58
  return useRepository(this).create(data, save);
59
59
  }
60
60
  /**
61
- * Query the object directly
62
- *
63
- * ```ts
64
- * Task.query("owner = ? AND priority >= ?", [user, 2]);
65
- * Task.query("owner = :owner", { owner: user });
66
- * ```
61
+ * Query the object directly with a query string or a JSON filter
67
62
  * @param this - the model class constructor
68
- * @param query - the query string, optionally with `?` or `:name` placeholders
69
- * @param params - values for the placeholders: an array for `?`, an object for `:name`
63
+ * @param query - the query string or the JSON filter
64
+ * @param paramsOrOptions - the placeholder values of a query string, or the find options of a JSON filter
70
65
  * @returns the query results
71
66
  */
72
- static query(query, params) {
73
- return useRepository(this).query(query, params);
67
+ static async query(query, paramsOrOptions) {
68
+ if (typeof query === "string" || query === undefined || query === null) {
69
+ return useRepository(this).query(query, paramsOrOptions);
70
+ }
71
+ const WebdaQL = await import("@webda/ql");
72
+ return useRepository(this).query(WebdaQL.toWebdaQL(query, paramsOrOptions));
74
73
  }
75
74
  /**
76
- * Iterate through all objects
75
+ * Iterate through the objects matching a query string or a JSON filter
77
76
  * @param this - the model class constructor
78
- * @param query - the query string, optionally with `?` or `:name` placeholders
79
- * @param params - values for the placeholders: an array for `?`, an object for `:name`
77
+ * @param query - the query string or the JSON filter
78
+ * @param params - the placeholder values of a query string, or the ordering of a JSON filter
80
79
  * @returns an async generator of model instances
81
80
  */
82
81
  static async *iterate(query, params) {
83
- for await (const item of useRepository(this).iterate(query, params)) {
82
+ const iterator = typeof query === "string" || query === undefined || query === null
83
+ ? useRepository(this).iterate(query, params)
84
+ : useRepository(this).iterate((await import("@webda/ql")).toWebdaQL(query, params));
85
+ for await (const item of iterator) {
84
86
  yield item;
85
87
  }
86
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,EAA+B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAuB,GAAM;IACxD,IAAI,KAAK,GAAQ,GAAG,CAAC;IACrB,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAkB,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAuB,KAAQ,EAAE,UAAyB;IAC1F,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAA+C,IAAW;IACnG,OAAO,KAAM,SAAQ,IAAI;QACvB;;;WAGG;QACH,MAAM,CAAC,aAAa;YAClB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,MAAM,CAEX,IAA8B,EAC9B,IAAI,GAAY,IAAI;YAEpB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED;;;;;;;;;;;WAWG;QACH,MAAM,CAAC,KAAK,CAEV,KAAqC,EACrC,MAAwB;YAKxB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED;;;;;;WAMG;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAEnB,KAAqC,EACrC,MAAwB;YAExB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;gBACpE,MAAM,IAAuB,CAAC;YAChC,CAAC;QACH,CAAC;QAED;;;;;;;;;;WAUG;QACH,MAAM,CAAC,SAAS,CAMd,IAA4C,EAC5C,MAAwB;YAExB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;QAED;;;;;WAKG;QACH,MAAM,CAAC,GAAG,CAER,GAAwC;YAExC,OAAO,aAAa,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,GAAU,CAAC,CAAC;QAC9C,CAAC;QAED;;;WAGG;QACH,OAAO;YACL,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/repositories/hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webda/models",
3
- "version": "4.0.0-beta.6",
3
+ "version": "4.0.0-beta.8",
4
4
  "description": "Webda Models implementation",
5
5
  "main": "lib/index.js",
6
6
  "repository": {
@@ -14,7 +14,8 @@
14
14
  ],
15
15
  "files": [
16
16
  "lib",
17
- "package.json"
17
+ "package.json",
18
+ "webda.module.json"
18
19
  ],
19
20
  "author": "loopingz",
20
21
  "license": "LGPL-3.0-only",
@@ -24,11 +25,11 @@
24
25
  "homepage": "https://github.com/loopingz/webda.io#readme",
25
26
  "dependencies": {
26
27
  "@types/mocha": "^10.0.10",
27
- "@webda/serialize": "^4.0.0-beta.6"
28
+ "@webda/serialize": "^4.0.0-beta.7"
28
29
  },
29
30
  "peerDependencies": {
30
- "@webda/ql": "4.0.0-beta.6",
31
- "@webda/utils": "4.0.0-beta.6"
31
+ "@webda/ql": "4.0.0-beta.7",
32
+ "@webda/utils": "4.0.0-beta.8"
32
33
  },
33
34
  "publishConfig": {
34
35
  "access": "public"
@@ -40,9 +41,9 @@
40
41
  "type-fest": "^5.5.0",
41
42
  "vitest": "^4.1.2",
42
43
  "vite": "^6.0.0",
43
- "@webda/compiler": "^4.0.0-beta.6",
44
- "@webda/tsc-esm": "4.0.0-beta.6",
45
- "@webda/test": "^4.0.0-beta.6"
44
+ "@webda/compiler": "^4.0.0-beta.8",
45
+ "@webda/tsc-esm": "4.0.0-beta.8",
46
+ "@webda/test": "^4.0.0-beta.7"
46
47
  },
47
48
  "type": "module",
48
49
  "engines": {
@@ -0,0 +1,120 @@
1
+ {
2
+ "$schema": "https://webda.io/schemas/webda.module.v4.json",
3
+ "beans": {},
4
+ "deployers": {},
5
+ "moddas": {},
6
+ "models": {
7
+ "Webda/Model": {
8
+ "Plural": "Models",
9
+ "Import": "lib/model.model:Model",
10
+ "Relations": {},
11
+ "Ancestors": [],
12
+ "Subclasses": [
13
+ "Webda/UuidModel"
14
+ ],
15
+ "Reflection": {},
16
+ "Schemas": {
17
+ "Output": {
18
+ "$schema": "http://json-schema.org/draft-07/schema#",
19
+ "additionalProperties": false,
20
+ "description": "Model object definition\n\nThis is the core of many application",
21
+ "type": "object",
22
+ "$webda": "toDto$auto"
23
+ },
24
+ "Input": {
25
+ "$schema": "http://json-schema.org/draft-07/schema#",
26
+ "additionalProperties": false,
27
+ "description": "Model object definition\n\nThis is the core of many application",
28
+ "type": "object",
29
+ "$webda": "fromDto$auto"
30
+ },
31
+ "Stored": {
32
+ "$schema": "http://json-schema.org/draft-07/schema#",
33
+ "additionalProperties": false,
34
+ "description": "Model object definition\n\nThis is the core of many application",
35
+ "type": "object",
36
+ "$webda": "toJSON$return"
37
+ }
38
+ },
39
+ "Actions": {},
40
+ "Events": [],
41
+ "PrimaryKey": [],
42
+ "Identifier": "Webda/Model"
43
+ },
44
+ "Webda/UuidModel": {
45
+ "Plural": "UuidModels",
46
+ "Import": "lib/model.model:UuidModel",
47
+ "Relations": {},
48
+ "Ancestors": [
49
+ "Webda/Model"
50
+ ],
51
+ "Subclasses": [],
52
+ "Reflection": {
53
+ "uuid": {
54
+ "type": "string"
55
+ }
56
+ },
57
+ "Schemas": {
58
+ "Output": {
59
+ "$schema": "http://json-schema.org/draft-07/schema#",
60
+ "additionalProperties": false,
61
+ "description": "Simple model with a UUID",
62
+ "properties": {
63
+ "uuid": {
64
+ "description": "UUID of the model",
65
+ "format": "uuid",
66
+ "type": "string"
67
+ }
68
+ },
69
+ "required": [
70
+ "uuid"
71
+ ],
72
+ "type": "object",
73
+ "$webda": "toDto$auto"
74
+ },
75
+ "Input": {
76
+ "$schema": "http://json-schema.org/draft-07/schema#",
77
+ "additionalProperties": false,
78
+ "description": "Simple model with a UUID",
79
+ "properties": {
80
+ "uuid": {
81
+ "description": "UUID of the model",
82
+ "format": "uuid",
83
+ "type": "string"
84
+ }
85
+ },
86
+ "required": [
87
+ "uuid"
88
+ ],
89
+ "type": "object",
90
+ "$webda": "fromDto$auto"
91
+ },
92
+ "Stored": {
93
+ "$schema": "http://json-schema.org/draft-07/schema#",
94
+ "additionalProperties": false,
95
+ "description": "Simple model with a UUID",
96
+ "properties": {
97
+ "uuid": {
98
+ "description": "UUID of the model",
99
+ "format": "uuid",
100
+ "type": "string"
101
+ }
102
+ },
103
+ "required": [
104
+ "uuid"
105
+ ],
106
+ "type": "object",
107
+ "$webda": "toJSON$return"
108
+ }
109
+ },
110
+ "Actions": {},
111
+ "Events": [],
112
+ "PrimaryKey": [
113
+ "uuid"
114
+ ],
115
+ "Identifier": "Webda/UuidModel"
116
+ }
117
+ },
118
+ "schemas": {},
119
+ "behaviors": {}
120
+ }