@nest-boot/graphql-connection 7.3.0 → 7.4.0

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 (151) hide show
  1. package/dist/connection-query-builder.js +16 -53
  2. package/dist/connection-query-builder.js.map +1 -1
  3. package/dist/connection.builder.d.ts +4 -3
  4. package/dist/connection.builder.js +13 -3
  5. package/dist/connection.builder.js.map +1 -1
  6. package/dist/enums/index.d.ts +0 -1
  7. package/dist/enums/index.js +0 -1
  8. package/dist/enums/index.js.map +1 -1
  9. package/dist/index.d.ts +0 -1
  10. package/dist/index.js +0 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/interfaces/connection-builder-options.interface.d.ts +4 -0
  13. package/dist/interfaces/{replacement-args.interface.js → connection-builder-options.interface.js} +1 -1
  14. package/dist/interfaces/connection-builder-options.interface.js.map +1 -0
  15. package/dist/interfaces/connection-metadata.interface.d.ts +5 -2
  16. package/dist/interfaces/field-options.interface.d.ts +8 -17
  17. package/dist/interfaces/index.d.ts +1 -1
  18. package/dist/interfaces/index.js +1 -1
  19. package/dist/interfaces/index.js.map +1 -1
  20. package/dist/tsconfig.build.tsbuildinfo +1 -1
  21. package/dist/utils/create-connection-args.d.ts +2 -2
  22. package/dist/utils/create-connection-args.js +7 -7
  23. package/dist/utils/create-connection-args.js.map +1 -1
  24. package/dist/utils/create-connection.d.ts +4 -2
  25. package/dist/utils/create-connection.js +2 -1
  26. package/dist/utils/create-connection.js.map +1 -1
  27. package/dist/utils/create-filter.d.ts +7 -2
  28. package/dist/utils/create-filter.js +14 -154
  29. package/dist/utils/create-filter.js.map +1 -1
  30. package/dist/utils/create-order.d.ts +2 -1
  31. package/dist/utils/create-order.js.map +1 -1
  32. package/package.json +6 -5
  33. package/dist/enums/comparator-operator.enum.d.ts +0 -11
  34. package/dist/enums/comparator-operator.enum.js +0 -16
  35. package/dist/enums/comparator-operator.enum.js.map +0 -1
  36. package/dist/errors/index.d.ts +0 -1
  37. package/dist/errors/index.js +0 -18
  38. package/dist/errors/index.js.map +0 -1
  39. package/dist/errors/unknown-field.error.d.ts +0 -4
  40. package/dist/errors/unknown-field.error.js +0 -12
  41. package/dist/errors/unknown-field.error.js.map +0 -1
  42. package/dist/interfaces/replacement-args.interface.d.ts +0 -9
  43. package/dist/interfaces/replacement-args.interface.js.map +0 -1
  44. package/dist/interfaces/search-syntax-field-options.interface.d.ts +0 -12
  45. package/dist/interfaces/search-syntax-field-options.interface.js +0 -3
  46. package/dist/interfaces/search-syntax-field-options.interface.js.map +0 -1
  47. package/dist/scripts/generate-cst-dts.d.ts +0 -1
  48. package/dist/scripts/generate-cst-dts.js +0 -8
  49. package/dist/scripts/generate-cst-dts.js.map +0 -1
  50. package/dist/search-syntax.lexer.d.ts +0 -5
  51. package/dist/search-syntax.lexer.js +0 -13
  52. package/dist/search-syntax.lexer.js.map +0 -1
  53. package/dist/search-syntax.parser.d.ts +0 -6
  54. package/dist/search-syntax.parser.js +0 -91
  55. package/dist/search-syntax.parser.js.map +0 -1
  56. package/dist/search-syntax.visitor.d.ts +0 -24
  57. package/dist/search-syntax.visitor.js +0 -319
  58. package/dist/search-syntax.visitor.js.map +0 -1
  59. package/dist/tokens/Comma.d.ts +0 -1
  60. package/dist/tokens/Comma.js +0 -9
  61. package/dist/tokens/Comma.js.map +0 -1
  62. package/dist/tokens/Identifier.d.ts +0 -1
  63. package/dist/tokens/Identifier.js +0 -14
  64. package/dist/tokens/Identifier.js.map +0 -1
  65. package/dist/tokens/UnquotedLiteral.d.ts +0 -1
  66. package/dist/tokens/UnquotedLiteral.js +0 -11
  67. package/dist/tokens/UnquotedLiteral.js.map +0 -1
  68. package/dist/tokens/WhiteSpace.d.ts +0 -1
  69. package/dist/tokens/WhiteSpace.js +0 -12
  70. package/dist/tokens/WhiteSpace.js.map +0 -1
  71. package/dist/tokens/Wildcard.d.ts +0 -1
  72. package/dist/tokens/Wildcard.js +0 -9
  73. package/dist/tokens/Wildcard.js.map +0 -1
  74. package/dist/tokens/brackets/LeftBracket.d.ts +0 -1
  75. package/dist/tokens/brackets/LeftBracket.js +0 -9
  76. package/dist/tokens/brackets/LeftBracket.js.map +0 -1
  77. package/dist/tokens/brackets/RightBracket.d.ts +0 -1
  78. package/dist/tokens/brackets/RightBracket.js +0 -9
  79. package/dist/tokens/brackets/RightBracket.js.map +0 -1
  80. package/dist/tokens/brackets/index.d.ts +0 -3
  81. package/dist/tokens/brackets/index.js +0 -23
  82. package/dist/tokens/brackets/index.js.map +0 -1
  83. package/dist/tokens/comparators/Comparator.d.ts +0 -1
  84. package/dist/tokens/comparators/Comparator.js +0 -9
  85. package/dist/tokens/comparators/Comparator.js.map +0 -1
  86. package/dist/tokens/comparators/Equal.d.ts +0 -1
  87. package/dist/tokens/comparators/Equal.js +0 -11
  88. package/dist/tokens/comparators/Equal.js.map +0 -1
  89. package/dist/tokens/comparators/GreaterThan.d.ts +0 -1
  90. package/dist/tokens/comparators/GreaterThan.js +0 -11
  91. package/dist/tokens/comparators/GreaterThan.js.map +0 -1
  92. package/dist/tokens/comparators/GreaterThanOrEqual.d.ts +0 -1
  93. package/dist/tokens/comparators/GreaterThanOrEqual.js +0 -11
  94. package/dist/tokens/comparators/GreaterThanOrEqual.js.map +0 -1
  95. package/dist/tokens/comparators/LessThan.d.ts +0 -1
  96. package/dist/tokens/comparators/LessThan.js +0 -11
  97. package/dist/tokens/comparators/LessThan.js.map +0 -1
  98. package/dist/tokens/comparators/LessThanOrEqual.d.ts +0 -1
  99. package/dist/tokens/comparators/LessThanOrEqual.js +0 -11
  100. package/dist/tokens/comparators/LessThanOrEqual.js.map +0 -1
  101. package/dist/tokens/comparators/index.d.ts +0 -7
  102. package/dist/tokens/comparators/index.js +0 -38
  103. package/dist/tokens/comparators/index.js.map +0 -1
  104. package/dist/tokens/connectives/And.d.ts +0 -1
  105. package/dist/tokens/connectives/And.js +0 -11
  106. package/dist/tokens/connectives/And.js.map +0 -1
  107. package/dist/tokens/connectives/Not.d.ts +0 -1
  108. package/dist/tokens/connectives/Not.js +0 -11
  109. package/dist/tokens/connectives/Not.js.map +0 -1
  110. package/dist/tokens/connectives/Or.d.ts +0 -1
  111. package/dist/tokens/connectives/Or.js +0 -11
  112. package/dist/tokens/connectives/Or.js.map +0 -1
  113. package/dist/tokens/connectives/index.d.ts +0 -4
  114. package/dist/tokens/connectives/index.js +0 -25
  115. package/dist/tokens/connectives/index.js.map +0 -1
  116. package/dist/tokens/fields/Field.d.ts +0 -1
  117. package/dist/tokens/fields/Field.js +0 -9
  118. package/dist/tokens/fields/Field.js.map +0 -1
  119. package/dist/tokens/fields/NestedField.d.ts +0 -1
  120. package/dist/tokens/fields/NestedField.js +0 -13
  121. package/dist/tokens/fields/NestedField.js.map +0 -1
  122. package/dist/tokens/fields/index.d.ts +0 -3
  123. package/dist/tokens/fields/index.js +0 -23
  124. package/dist/tokens/fields/index.js.map +0 -1
  125. package/dist/tokens/index.d.ts +0 -1
  126. package/dist/tokens/index.js +0 -31
  127. package/dist/tokens/index.js.map +0 -1
  128. package/dist/tokens/values/Date.d.ts +0 -1
  129. package/dist/tokens/values/Date.js +0 -12
  130. package/dist/tokens/values/Date.js.map +0 -1
  131. package/dist/tokens/values/False.d.ts +0 -1
  132. package/dist/tokens/values/False.js +0 -13
  133. package/dist/tokens/values/False.js.map +0 -1
  134. package/dist/tokens/values/Null.d.ts +0 -1
  135. package/dist/tokens/values/Null.js +0 -13
  136. package/dist/tokens/values/Null.js.map +0 -1
  137. package/dist/tokens/values/Number.d.ts +0 -1
  138. package/dist/tokens/values/Number.js +0 -13
  139. package/dist/tokens/values/Number.js.map +0 -1
  140. package/dist/tokens/values/QuotedString.d.ts +0 -1
  141. package/dist/tokens/values/QuotedString.js +0 -11
  142. package/dist/tokens/values/QuotedString.js.map +0 -1
  143. package/dist/tokens/values/True.d.ts +0 -1
  144. package/dist/tokens/values/True.js +0 -13
  145. package/dist/tokens/values/True.js.map +0 -1
  146. package/dist/tokens/values/Value.d.ts +0 -1
  147. package/dist/tokens/values/Value.js +0 -9
  148. package/dist/tokens/values/Value.js.map +0 -1
  149. package/dist/tokens/values/index.d.ts +0 -7
  150. package/dist/tokens/values/index.js +0 -32
  151. package/dist/tokens/values/index.js.map +0 -1
@@ -8,35 +8,10 @@ const core_1 = require("@mikro-orm/core");
8
8
  const compact_1 = __importDefault(require("lodash/compact"));
9
9
  const get_1 = __importDefault(require("lodash/get"));
10
10
  const set_1 = __importDefault(require("lodash/set"));
11
+ const search_syntax_1 = require("search-syntax");
11
12
  const cursor_1 = require("./cursor");
12
13
  const enums_1 = require("./enums");
13
14
  const graphql_connection_constants_1 = require("./graphql-connection.constants");
14
- const search_syntax_lexer_1 = require("./search-syntax.lexer");
15
- const search_syntax_parser_1 = require("./search-syntax.parser");
16
- const search_syntax_visitor_1 = require("./search-syntax.visitor");
17
- function entityPropertyToSimpleType(type) {
18
- switch (type) {
19
- case "boolean":
20
- case "BooleanType":
21
- return "boolean";
22
- case "number":
23
- case "IntegerType":
24
- case "SmallIntType":
25
- case "MediumIntType":
26
- case "FloatType":
27
- case "DoubleType":
28
- return "number";
29
- case "Date":
30
- case "DateType":
31
- case "DateTimeType":
32
- return "date";
33
- case "bigint":
34
- case "BigIntType":
35
- return "bigint";
36
- default:
37
- return "string";
38
- }
39
- }
40
15
  class ConnectionQueryBuilder {
41
16
  constructor(entityManager, connectionClass, args, options) {
42
17
  this.entityManager = entityManager;
@@ -170,35 +145,23 @@ class ConnectionQueryBuilder {
170
145
  getQueryStringToFilterQuery() {
171
146
  if (typeof this.args.query !== "undefined" &&
172
147
  this.args.query.trim() !== "") {
173
- const { entityClass, fieldOptionsMap } = this.metadata;
174
- const entityMetadata = this.entityManager.getMetadata().get(entityClass);
175
- if (typeof entityMetadata === "undefined") {
176
- throw new Error("Entity metadata not found");
148
+ const { fieldOptionsMap, filterQuerySchema } = this.metadata;
149
+ // 构建 ParseOptions,只包含 filterable 的字段
150
+ const fields = {};
151
+ for (const [key, options] of fieldOptionsMap) {
152
+ if (options.filterable === true) {
153
+ fields[key] = {
154
+ type: options.type,
155
+ array: options.array,
156
+ searchable: options.searchable,
157
+ };
158
+ }
177
159
  }
178
- const visitor = new search_syntax_visitor_1.SearchSyntaxVisitor(this.entityManager, [...fieldOptionsMap.values()].reduce((result, fieldOptions) => {
179
- const replacedField = typeof fieldOptions.replacement === "string"
180
- ? fieldOptions.replacement
181
- : fieldOptions.field;
182
- const prop = (0, get_1.default)(entityMetadata.properties, replacedField.split(".").join(".targetMeta.properties."));
183
- result.set(fieldOptions.field, {
184
- field: fieldOptions.field,
185
- type: fieldOptions.type ??
186
- entityPropertyToSimpleType(prop?.type),
187
- replacement: fieldOptions
188
- .replacement,
189
- array: fieldOptions.array ?? prop?.array,
190
- fulltext: fieldOptions.fulltext ??
191
- entityMetadata.indexes.some(({ type, properties }) => type === "fulltext" && properties === replacedField),
192
- searchable: fieldOptions.searchable,
193
- filterable: fieldOptions.filterable,
194
- });
195
- return result;
196
- }, new Map()));
197
- search_syntax_parser_1.searchSyntaxParser.input = search_syntax_lexer_1.searchSyntaxLexer.tokenize(this.args.query).tokens;
198
- if (search_syntax_parser_1.searchSyntaxParser.errors.length > 0) {
199
- throw Error(search_syntax_parser_1.searchSyntaxParser.errors[0].message);
160
+ const rawFilter = (0, search_syntax_1.parse)(this.args.query, { fields });
161
+ if (rawFilter === null) {
162
+ return null;
200
163
  }
201
- return visitor.visit(search_syntax_parser_1.searchSyntaxParser.query()) ?? null;
164
+ return filterQuerySchema.parse(rawFilter);
202
165
  }
203
166
  return null;
204
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection-query-builder.js","sourceRoot":"","sources":["../src/connection-query-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection-query-builder.js","sourceRoot":"","sources":["../src/connection-query-builder.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { EntityClass, FilterQuery } from "@mikro-orm/core";
2
2
  import { type Type } from "@nestjs/common";
3
3
  import { GraphQLScalarType } from "graphql";
4
- import { ConnectionArgsInterface, ConnectionInterface, EdgeInterface, FieldOptions, OrderFieldType, OrderInterface } from "./interfaces";
4
+ import { ConnectionArgsInterface, ConnectionBuilderOptions, ConnectionInterface, EdgeInterface, FieldOptions, OrderFieldType, OrderInterface } from "./interfaces";
5
5
  type ConnectionBuildResult<Entity extends object> = {
6
6
  Connection: Type<ConnectionInterface<Entity>>;
7
7
  ConnectionArgs: Type<ConnectionArgsInterface<Entity>>;
@@ -13,9 +13,10 @@ type ConnectionBuildResult<Entity extends object> = {
13
13
  export declare class ConnectionBuilder<Entity extends object> {
14
14
  private readonly entityClass;
15
15
  private readonly entityName;
16
+ private readonly options;
16
17
  private readonly fieldOptionsMap;
17
- constructor(entityClass: EntityClass<Entity>);
18
- addField<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never, Field extends string = never>(options: FieldOptions<Entity, Type, Field>): this;
18
+ constructor(entityClass: EntityClass<Entity>, options?: Partial<ConnectionBuilderOptions>);
19
+ addField<Type extends "string" | "number" | "boolean" | "date" = never, Field extends string = never>(options: FieldOptions<Entity, Type, Field>): this;
19
20
  build(): ConnectionBuildResult<Entity>;
20
21
  }
21
22
  export {};
@@ -3,10 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ConnectionBuilder = void 0;
4
4
  const utils_1 = require("./utils");
5
5
  class ConnectionBuilder {
6
- constructor(entityClass) {
6
+ constructor(entityClass, options) {
7
7
  this.entityClass = entityClass;
8
8
  this.fieldOptionsMap = new Map();
9
9
  this.entityName = entityClass.name;
10
+ this.options = {
11
+ ...options,
12
+ filter: {
13
+ maxDepth: 5,
14
+ maxConditions: 20,
15
+ maxOrBranches: 5,
16
+ maxArrayLength: 100,
17
+ ...options?.filter,
18
+ },
19
+ };
10
20
  }
11
21
  addField(options) {
12
22
  this.fieldOptionsMap.set(options.field, options);
@@ -14,9 +24,9 @@ class ConnectionBuilder {
14
24
  }
15
25
  build() {
16
26
  const Edge = (0, utils_1.createEdge)(this.entityClass, this.entityName);
17
- const Connection = (0, utils_1.createConnection)(this.entityClass, this.entityName, Edge, this.fieldOptionsMap);
18
27
  const { Order, OrderField } = (0, utils_1.createOrder)(this.entityName, this.fieldOptionsMap);
19
- const Filter = (0, utils_1.createFilter)(this.entityName, this.fieldOptionsMap);
28
+ const { Filter, filterQuerySchema } = (0, utils_1.createFilter)(this.entityName, this.fieldOptionsMap, this.options?.filter);
29
+ const Connection = (0, utils_1.createConnection)(this.entityClass, this.entityName, Edge, this.fieldOptionsMap, filterQuerySchema);
20
30
  const ConnectionArgs = (0, utils_1.createConnectionArgs)(this.entityName, this.fieldOptionsMap, Order, Filter);
21
31
  return {
22
32
  Connection,
@@ -1 +1 @@
1
- {"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":";;;AAYA,mCAMiB;AAyBjB,MAAa,iBAAiB;IAO5B,YAA6B,WAAgC;QAAhC,gBAAW,GAAX,WAAW,CAAqB;QAL5C,oBAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;QAGF,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,QAAQ,CAGN,OAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3D,MAAM,UAAU,GAAG,IAAA,wBAAgB,EACjC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAW,EACvC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAEnE,MAAM,cAAc,GAAG,IAAA,4BAAoB,EACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,EACpB,KAAK,EACL,MAAM,CACP,CAAC;QAEF,OAAO;YACL,UAAU;YACV,cAAc;YACd,IAAI;YACJ,KAAK;YACL,UAAU;YACV,MAAM;YACN,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC,EAAE,cAAc;YACpD,CAAC,GAAG,IAAI,CAAC,UAAU,MAAM,CAAC,EAAE,IAAI;YAChC,CAAC,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC,EAAE,KAAK;YAClC,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,QAAQ,CAAC,EAAE,MAAM;SACJ,CAAC;IACrC,CAAC;CACF;AA1DD,8CA0DC"}
1
+ {"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":";;;AAcA,mCAMiB;AAyBjB,MAAa,iBAAiB;IAU5B,YACmB,WAAgC,EACjD,OAA2C;QAD1B,gBAAW,GAAX,WAAW,CAAqB;QANlC,oBAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;QAMF,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;QAEnC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,OAAO;YACV,MAAM,EAAE;gBACN,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,GAAG;gBACnB,GAAG,OAAO,EAAE,MAAM;aACnB;SACF,CAAC;IACJ,CAAC;IAED,QAAQ,CAGN,OAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,IAAI,GAAG,IAAA,kBAAU,EAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3D,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAW,EACvC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,oBAAY,EAChD,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,OAAO,EAAE,MAAM,CACrB,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,wBAAgB,EACjC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,UAAU,EACf,IAAI,EACJ,IAAI,CAAC,eAAe,EACpB,iBAAiB,CAClB,CAAC;QAEF,MAAM,cAAc,GAAG,IAAA,4BAAoB,EACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,EACpB,KAAK,EACL,MAAM,CACP,CAAC;QAEF,OAAO;YACL,UAAU;YACV,cAAc;YACd,IAAI;YACJ,KAAK;YACL,UAAU;YACV,MAAM;YACN,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC,EAAE,cAAc;YACpD,CAAC,GAAG,IAAI,CAAC,UAAU,MAAM,CAAC,EAAE,IAAI;YAChC,CAAC,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC,EAAE,KAAK;YAClC,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;YAC5C,CAAC,GAAG,IAAI,CAAC,UAAU,QAAQ,CAAC,EAAE,MAAM;SACJ,CAAC;IACrC,CAAC;CACF;AAhFD,8CAgFC"}
@@ -1,3 +1,2 @@
1
- export * from "./comparator-operator.enum";
2
1
  export * from "./order-direction.enum";
3
2
  export * from "./paging-type.enum";
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./comparator-operator.enum"), exports);
18
17
  __exportStar(require("./order-direction.enum"), exports);
19
18
  __exportStar(require("./paging-type.enum"), exports);
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6DAA2C;AAC3C,yDAAuC;AACvC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enums/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,qDAAmC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export * from "./connection.builder";
2
2
  export * from "./connection.manager";
3
3
  export * from "./enums";
4
- export * from "./errors";
5
4
  export * from "./graphql-connection.module";
6
5
  export * from "./interfaces";
7
6
  export * from "./objects";
package/dist/index.js CHANGED
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./connection.builder"), exports);
18
18
  __exportStar(require("./connection.manager"), exports);
19
19
  __exportStar(require("./enums"), exports);
20
- __exportStar(require("./errors"), exports);
21
20
  __exportStar(require("./graphql-connection.module"), exports);
22
21
  __exportStar(require("./interfaces"), exports);
23
22
  __exportStar(require("./objects"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,0CAAwB;AACxB,2CAAyB;AACzB,8DAA4C;AAC5C,+CAA6B;AAC7B,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,0CAAwB;AACxB,8DAA4C;AAC5C,+CAA6B;AAC7B,4CAA0B;AAC1B,0CAAwB"}
@@ -0,0 +1,4 @@
1
+ import type { FilterOptions } from "mikro-orm-filter-query-schema";
2
+ export interface ConnectionBuilderOptions {
3
+ filter?: FilterOptions;
4
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=replacement-args.interface.js.map
3
+ //# sourceMappingURL=connection-builder-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-builder-options.interface.js","sourceRoot":"","sources":["../../src/interfaces/connection-builder-options.interface.ts"],"names":[],"mappings":""}
@@ -1,6 +1,9 @@
1
- import { EntityClass } from "@mikro-orm/core";
1
+ import { EntityClass, FilterQuery } from "@mikro-orm/core";
2
+ import type { FieldType } from "mikro-orm-filter-query-schema";
3
+ import type { ZodType } from "zod";
2
4
  import { FieldOptions } from "./field-options.interface";
3
5
  export interface ConnectionMetadata<Entity extends object> {
4
6
  entityClass: EntityClass<Entity>;
5
- fieldOptionsMap: Map<string, FieldOptions<Entity, any, any>>;
7
+ fieldOptionsMap: Map<string, FieldOptions<Entity, FieldType, string>>;
8
+ filterQuerySchema: ZodType<FilterQuery<Entity>>;
6
9
  }
@@ -1,24 +1,15 @@
1
- import type { FilterQuery } from "@mikro-orm/core";
2
- import { AutoPath } from "@mikro-orm/core/typings";
3
- import { ReplacementArgs } from "./replacement-args.interface";
4
- export interface BaseFieldOptions<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> {
5
- type: Type;
6
- field: string;
7
- array?: boolean;
8
- fulltext?: boolean;
9
- searchable?: boolean;
1
+ import type { FieldType, ReplacementCallbackFieldOptions as FilterReplacementCallbackFieldOptions, ReplacementFieldOptions as FilterReplacementFieldOptions, SimpleFieldOptions as FilterSimpleFieldOptions } from "mikro-orm-filter-query-schema";
2
+ export interface BaseFieldOptions {
10
3
  filterable?: boolean;
4
+ searchable?: boolean;
11
5
  }
12
- export interface SortableFieldOptions<Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends BaseFieldOptions<Type> {
6
+ export interface SortableFieldOptions {
13
7
  sortable?: boolean;
14
8
  }
15
- export interface SimpleFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends SortableFieldOptions<Type> {
16
- field: Extract<keyof Entity, string>;
9
+ export interface SimpleFieldOptions<Entity extends object, Type extends FieldType = never> extends FilterSimpleFieldOptions<Entity, Type>, BaseFieldOptions, SortableFieldOptions {
17
10
  }
18
- export interface ReplacementFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never, Field extends string = never> extends SortableFieldOptions<Type> {
19
- replacement: Extract<AutoPath<Entity, Field>, string>;
11
+ export interface ReplacementFieldOptions<Entity extends object, Type extends FieldType = never, Field extends string = never> extends FilterReplacementFieldOptions<Entity, Type, Field>, BaseFieldOptions, SortableFieldOptions {
20
12
  }
21
- export interface ReplacementFunctionFieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never> extends BaseFieldOptions<Type> {
22
- replacement?: (args: ReplacementArgs<Type>) => FilterQuery<Entity>;
13
+ export interface ReplacementFunctionFieldOptions<Entity extends object, Type extends FieldType = never> extends FilterReplacementCallbackFieldOptions<Entity, Type>, BaseFieldOptions, SortableFieldOptions {
23
14
  }
24
- export type FieldOptions<Entity extends object, Type extends "string" | "number" | "bigint" | "boolean" | "date" = never, Field extends string = never> = SimpleFieldOptions<Entity, Type> | ReplacementFieldOptions<Entity, Type, Field> | ReplacementFunctionFieldOptions<Entity, Type>;
15
+ export type FieldOptions<Entity extends object, Type extends FieldType = never, Field extends string = never> = SimpleFieldOptions<Entity, Type> | ReplacementFieldOptions<Entity, Type, Field> | ReplacementFunctionFieldOptions<Entity, Type>;
@@ -1,8 +1,8 @@
1
1
  export * from "./connection.interface";
2
2
  export * from "./connection-args.interface";
3
+ export * from "./connection-builder-options.interface";
3
4
  export * from "./connection-metadata.interface";
4
5
  export * from "./edge.interface";
5
6
  export * from "./field-options.interface";
6
7
  export * from "./order.interface";
7
8
  export * from "./order-field.type";
8
- export * from "./replacement-args.interface";
@@ -16,10 +16,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./connection.interface"), exports);
18
18
  __exportStar(require("./connection-args.interface"), exports);
19
+ __exportStar(require("./connection-builder-options.interface"), exports);
19
20
  __exportStar(require("./connection-metadata.interface"), exports);
20
21
  __exportStar(require("./edge.interface"), exports);
21
22
  __exportStar(require("./field-options.interface"), exports);
22
23
  __exportStar(require("./order.interface"), exports);
23
24
  __exportStar(require("./order-field.type"), exports);
24
- __exportStar(require("./replacement-args.interface"), exports);
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,8DAA4C;AAC5C,kEAAgD;AAChD,mDAAiC;AACjC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,8DAA4C;AAC5C,yEAAuD;AACvD,kEAAgD;AAChD,mDAAiC;AACjC,4DAA0C;AAC1C,oDAAkC;AAClC,qDAAmC"}