@nest-boot/graphql 5.10.0 → 5.11.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.
@@ -18,6 +18,8 @@ export declare class ConnectionBuilder<T extends {
18
18
  private readonly entityClass;
19
19
  private readonly options;
20
20
  private readonly entityName;
21
+ private readonly searchableOptions?;
22
+ private readonly supportedFilterParameters;
21
23
  constructor(entityClass: Type<T>, options: ConnectionBuilderOptions<T>);
22
24
  build(): ConnectionBuildResult<T>;
23
25
  }
@@ -13,7 +13,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ConnectionBuilder = void 0;
16
+ const search_constants_1 = require("@nest-boot/search/dist/search.constants");
16
17
  const graphql_1 = require("@nestjs/graphql");
18
+ const inflection_1 = require("inflection");
17
19
  const lodash_1 = __importDefault(require("lodash"));
18
20
  const dtos_1 = require("./dtos");
19
21
  const enums_1 = require("./enums");
@@ -21,38 +23,55 @@ class ConnectionBuilder {
21
23
  constructor(entityClass, options) {
22
24
  this.entityClass = entityClass;
23
25
  this.options = options;
26
+ this.supportedFilterParameters = [];
24
27
  this.entityName = entityClass.name;
28
+ this.searchableOptions = Reflect.getMetadata(search_constants_1.SEARCHABLE_OPTIONS, this.entityClass);
29
+ this.supportedFilterParameters.push(...Object.keys(this.searchableOptions?.aliasFields ?? {}), ...(this.searchableOptions?.filterableFields ?? []));
30
+ this.supportedFilterParameters = lodash_1.default.sortedUniq(this.supportedFilterParameters);
25
31
  }
26
32
  build() {
27
33
  let Edge = class Edge {
28
34
  };
29
35
  __decorate([
30
- (0, graphql_1.Field)(() => this.entityClass),
36
+ (0, graphql_1.Field)(() => this.entityClass, {
37
+ description: `The item at the end of ${this.entityName}Edge.`,
38
+ }),
31
39
  __metadata("design:type", Object)
32
40
  ], Edge.prototype, "node", void 0);
33
41
  __decorate([
34
- (0, graphql_1.Field)({ complexity: 0 }),
42
+ (0, graphql_1.Field)({ complexity: 0, description: `A cursor for use in pagination.` }),
35
43
  __metadata("design:type", String)
36
44
  ], Edge.prototype, "cursor", void 0);
37
45
  Edge = __decorate([
38
- (0, graphql_1.ObjectType)(`${this.entityName}Edge`)
46
+ (0, graphql_1.ObjectType)(`${this.entityName}Edge`, {
47
+ description: `An auto-generated type which holds one ${this.entityName} and a cursor during pagination.`,
48
+ })
39
49
  ], Edge);
40
50
  let Connection = class Connection {
41
51
  };
42
52
  __decorate([
43
- (0, graphql_1.Field)(() => [Edge], { complexity: 0 }),
53
+ (0, graphql_1.Field)(() => [Edge], { complexity: 0, description: `A list of edges.` }),
44
54
  __metadata("design:type", Array)
45
55
  ], Connection.prototype, "edges", void 0);
46
56
  __decorate([
47
- (0, graphql_1.Field)({ complexity: 0 }),
57
+ (0, graphql_1.Field)({
58
+ complexity: 0,
59
+ description: `Information to aid in pagination.`,
60
+ }),
48
61
  __metadata("design:type", dtos_1.PageInfo)
49
62
  ], Connection.prototype, "pageInfo", void 0);
50
63
  __decorate([
51
- (0, graphql_1.Field)(() => graphql_1.Int, { complexity: 0 }),
64
+ (0, graphql_1.Field)(() => graphql_1.Int, {
65
+ complexity: 0,
66
+ description: `Identifies the total count of items in the connection.`,
67
+ }),
52
68
  __metadata("design:type", Number)
53
69
  ], Connection.prototype, "totalCount", void 0);
54
70
  Connection = __decorate([
55
- (0, graphql_1.ObjectType)(`${this.entityName}Connection`, { isAbstract: true })
71
+ (0, graphql_1.ObjectType)(`${this.entityName}Connection`, {
72
+ isAbstract: true,
73
+ description: `An auto-generated type for paginating through multiple ${(0, inflection_1.pluralize)(this.entityName)}.`,
74
+ })
56
75
  ], Connection);
57
76
  const OrderField = this.options.orderFields.length > 0
58
77
  ? this.options.orderFields.reduce((result, field) => ({
@@ -65,45 +84,74 @@ class ConnectionBuilder {
65
84
  if (typeof OrderField !== "undefined") {
66
85
  (0, graphql_1.registerEnumType)(OrderField, {
67
86
  name: `${this.entityName}OrderField`,
87
+ description: `Properties by which ${(0, inflection_1.humanize)(this.entityName, true)} connections can be ordered.`,
68
88
  });
69
89
  }
70
90
  let Order = class Order {
71
91
  };
72
92
  __decorate([
73
- (0, graphql_1.Field)(() => OrderField ?? String),
93
+ (0, graphql_1.Field)(() => OrderField ?? String, {
94
+ description: `The field to order ${(0, inflection_1.pluralize)((0, inflection_1.humanize)(this.entityName, true))} by.`,
95
+ }),
74
96
  __metadata("design:type", String)
75
97
  ], Order.prototype, "field", void 0);
76
98
  __decorate([
77
- (0, graphql_1.Field)(() => enums_1.OrderDirection),
99
+ (0, graphql_1.Field)(() => enums_1.OrderDirection, { description: `The ordering direction.` }),
78
100
  __metadata("design:type", String)
79
101
  ], Order.prototype, "direction", void 0);
80
102
  Order = __decorate([
81
- (0, graphql_1.InputType)(`${this.entityName}Order`)
103
+ (0, graphql_1.InputType)(`${this.entityName}Order`, {
104
+ description: `Ordering options for ${(0, inflection_1.humanize)(this.entityName, true)} connections`,
105
+ })
82
106
  ], Order);
83
107
  let ConnectionArgs = class ConnectionArgs {
84
108
  };
85
109
  __decorate([
86
- (0, graphql_1.Field)({ nullable: true }),
110
+ (0, graphql_1.Field)({
111
+ nullable: true,
112
+ ...(this.supportedFilterParameters.length > 0
113
+ ? {
114
+ description: `Supported filter parameters:\n${this.supportedFilterParameters
115
+ .map((parameter) => `* \`${parameter}\``)
116
+ .join("\n")}`,
117
+ }
118
+ : {}),
119
+ }),
87
120
  __metadata("design:type", String)
88
121
  ], ConnectionArgs.prototype, "query", void 0);
89
122
  __decorate([
90
- (0, graphql_1.Field)(() => graphql_1.Int, { nullable: true }),
123
+ (0, graphql_1.Field)(() => graphql_1.Int, {
124
+ nullable: true,
125
+ description: "Returns up to the first `n` elements from the list.",
126
+ }),
91
127
  __metadata("design:type", Number)
92
128
  ], ConnectionArgs.prototype, "first", void 0);
93
129
  __decorate([
94
- (0, graphql_1.Field)(() => graphql_1.Int, { nullable: true }),
130
+ (0, graphql_1.Field)(() => graphql_1.Int, {
131
+ nullable: true,
132
+ description: "Returns up to the last `n` elements from the list.",
133
+ }),
95
134
  __metadata("design:type", Number)
96
135
  ], ConnectionArgs.prototype, "last", void 0);
97
136
  __decorate([
98
- (0, graphql_1.Field)({ nullable: true }),
137
+ (0, graphql_1.Field)({
138
+ nullable: true,
139
+ description: `Returns the elements that come after the specified cursor.`,
140
+ }),
99
141
  __metadata("design:type", String)
100
142
  ], ConnectionArgs.prototype, "after", void 0);
101
143
  __decorate([
102
- (0, graphql_1.Field)({ nullable: true }),
144
+ (0, graphql_1.Field)({
145
+ nullable: true,
146
+ description: `Returns the elements that come before the specified cursor.`,
147
+ }),
103
148
  __metadata("design:type", String)
104
149
  ], ConnectionArgs.prototype, "before", void 0);
105
150
  __decorate([
106
- (0, graphql_1.Field)(() => Order, { nullable: true }),
151
+ (0, graphql_1.Field)(() => Order, {
152
+ nullable: true,
153
+ description: `Ordering options for the returned topics.`,
154
+ }),
107
155
  __metadata("design:type", Order)
108
156
  ], ConnectionArgs.prototype, "orderBy", void 0);
109
157
  ConnectionArgs = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":"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"}
@@ -15,22 +15,38 @@ let PageInfo = class PageInfo {
15
15
  };
16
16
  exports.PageInfo = PageInfo;
17
17
  __decorate([
18
- (0, graphql_1.Field)({ complexity: 0 }),
18
+ (0, graphql_1.Field)({
19
+ complexity: 0,
20
+ description: `Whether there are more pages to fetch following the current page.`,
21
+ }),
19
22
  __metadata("design:type", Boolean)
20
23
  ], PageInfo.prototype, "hasNextPage", void 0);
21
24
  __decorate([
22
- (0, graphql_1.Field)({ complexity: 0 }),
25
+ (0, graphql_1.Field)({
26
+ complexity: 0,
27
+ description: `Whether there are any pages prior to the current page.`,
28
+ }),
23
29
  __metadata("design:type", Boolean)
24
30
  ], PageInfo.prototype, "hasPreviousPage", void 0);
25
31
  __decorate([
26
- (0, graphql_1.Field)({ nullable: true, complexity: 0 }),
32
+ (0, graphql_1.Field)({
33
+ nullable: true,
34
+ complexity: 0,
35
+ description: `The cursor corresponding to the first node in edges.`,
36
+ }),
27
37
  __metadata("design:type", String)
28
38
  ], PageInfo.prototype, "startCursor", void 0);
29
39
  __decorate([
30
- (0, graphql_1.Field)({ nullable: true, complexity: 0 }),
40
+ (0, graphql_1.Field)({
41
+ nullable: true,
42
+ complexity: 0,
43
+ description: `The cursor corresponding to the last node in edges.`,
44
+ }),
31
45
  __metadata("design:type", String)
32
46
  ], PageInfo.prototype, "endCursor", void 0);
33
47
  exports.PageInfo = PageInfo = __decorate([
34
- (0, graphql_1.ObjectType)()
48
+ (0, graphql_1.ObjectType)({
49
+ description: `Returns information about pagination in a connection, in accordance with the [Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo).`,
50
+ })
35
51
  ], PageInfo);
36
52
  //# sourceMappingURL=page-info.object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-info.object.js","sourceRoot":"","sources":["../../src/dtos/page-info.object.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAG7C,IAAM,QAAQ,GAAd,MAAM,QAAQ;CAYpB,CAAA;AAZY,4BAAQ;AAEnB;IADC,IAAA,eAAK,EAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;;6CACH;AAGtB;IADC,IAAA,eAAK,EAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;;iDACC;AAG1B;IADC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;;6CACpB;AAGrB;IADC,IAAA,eAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;;2CACtB;mBAXR,QAAQ;IADpB,IAAA,oBAAU,GAAE;GACA,QAAQ,CAYpB"}
1
+ {"version":3,"file":"page-info.object.js","sourceRoot":"","sources":["../../src/dtos/page-info.object.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAoD;AAK7C,IAAM,QAAQ,GAAd,MAAM,QAAQ;CA0BpB,CAAA;AA1BY,4BAAQ;AAKnB;IAJC,IAAA,eAAK,EAAC;QACL,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,mEAAmE;KACjF,CAAC;;6CACoB;AAMtB;IAJC,IAAA,eAAK,EAAC;QACL,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,wDAAwD;KACtE,CAAC;;iDACwB;AAO1B;IALC,IAAA,eAAK,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,sDAAsD;KACpE,CAAC;;6CACmB;AAOrB;IALC,IAAA,eAAK,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,qDAAqD;KACnE,CAAC;;2CACiB;mBAzBR,QAAQ;IAHpB,IAAA,oBAAU,EAAC;QACV,WAAW,EAAE,uKAAuK;KACrL,CAAC;GACW,QAAQ,CA0BpB"}
@@ -1,7 +1,8 @@
1
1
  import { type ApolloServerPlugin, type BaseContext, GraphQLRequestContext, type GraphQLRequestListener } from "@apollo/server";
2
+ import { OnApplicationShutdown } from "@nestjs/common";
2
3
  import { GraphQLSchemaHost } from "@nestjs/graphql";
3
4
  import { GraphQLModuleOptions } from "../interfaces";
4
- export declare class ComplexityPlugin implements ApolloServerPlugin {
5
+ export declare class ComplexityPlugin implements ApolloServerPlugin, OnApplicationShutdown {
5
6
  private readonly options;
6
7
  private readonly gqlSchemaHost;
7
8
  private readonly complexityEstimators;
@@ -16,4 +17,5 @@ export declare class ComplexityPlugin implements ApolloServerPlugin {
16
17
  addPoint(args: GraphQLRequestContext<BaseContext>, point: number): Promise<[boolean, number]>;
17
18
  subPoint(args: GraphQLRequestContext<BaseContext>, point: number): Promise<[boolean, number]>;
18
19
  requestDidStart(): Promise<GraphQLRequestListener<BaseContext>>;
20
+ onApplicationShutdown(): Promise<void>;
19
21
  }
@@ -233,6 +233,9 @@ let ComplexityPlugin = class ComplexityPlugin {
233
233
  },
234
234
  };
235
235
  }
236
+ async onApplicationShutdown() {
237
+ await this.rateLimitRedis?.quit();
238
+ }
236
239
  };
237
240
  exports.ComplexityPlugin = ComplexityPlugin;
238
241
  exports.ComplexityPlugin = ComplexityPlugin = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"complexity.plugin.js","sourceRoot":"","sources":["../../src/plugins/complexity.plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complexity.plugin.js","sourceRoot":"","sources":["../../src/plugins/complexity.plugin.ts"],"names":[],"mappings":"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"}