@nest-boot/graphql-connection 7.8.0 → 7.9.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.
- package/dist/connection-query-builder.js +3 -1
- package/dist/connection-query-builder.js.map +1 -1
- package/dist/connection-query-builder.spec.d.ts +1 -0
- package/dist/connection-query-builder.spec.js +175 -0
- package/dist/connection-query-builder.spec.js.map +1 -0
- package/dist/connection.builder.js.map +1 -1
- package/dist/connection.builder.spec.d.ts +1 -0
- package/dist/connection.builder.spec.js +116 -0
- package/dist/connection.builder.spec.js.map +1 -0
- package/dist/connection.manager.spec.d.ts +1 -0
- package/dist/connection.manager.spec.js +49 -0
- package/dist/connection.manager.spec.js.map +1 -0
- package/dist/cursor.spec.d.ts +1 -0
- package/dist/cursor.spec.js +17 -0
- package/dist/cursor.spec.js.map +1 -0
- package/dist/graphql-connection.module.spec.d.ts +1 -0
- package/dist/graphql-connection.module.spec.js +22 -0
- package/dist/graphql-connection.module.spec.js.map +1 -0
- package/dist/index.spec.d.ts +1 -0
- package/dist/index.spec.js +47 -0
- package/dist/index.spec.js.map +1 -0
- package/dist/interfaces/connection-metadata.interface.d.ts +2 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/field-options.type.d.ts +42 -4
- package/dist/utils/create-connection-args.d.ts +2 -3
- package/dist/utils/create-connection-args.js.map +1 -1
- package/dist/utils/create-connection.d.ts +2 -3
- package/dist/utils/create-connection.js.map +1 -1
- package/dist/utils/create-filter.d.ts +3 -3
- package/dist/utils/create-filter.js.map +1 -1
- package/dist/utils/create-filter.spec.d.ts +1 -0
- package/dist/utils/create-filter.spec.js +143 -0
- package/dist/utils/create-filter.spec.js.map +1 -0
- package/dist/utils/create-order.d.ts +2 -3
- package/dist/utils/create-order.js.map +1 -1
- package/package.json +7 -7
|
@@ -170,7 +170,9 @@ class ConnectionQueryBuilder {
|
|
|
170
170
|
type: options.type,
|
|
171
171
|
array: options.array,
|
|
172
172
|
searchable: options.searchable,
|
|
173
|
-
...("fulltext" in options
|
|
173
|
+
...("fulltext" in options
|
|
174
|
+
? { fulltext: Boolean(options.fulltext) }
|
|
175
|
+
: {}),
|
|
174
176
|
...("prefix" in options ? { prefix: options.prefix } : {}),
|
|
175
177
|
};
|
|
176
178
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("reflect-metadata");
|
|
4
|
+
const core_1 = require("@mikro-orm/core");
|
|
5
|
+
const connection_query_builder_1 = require("./connection-query-builder");
|
|
6
|
+
const cursor_1 = require("./cursor");
|
|
7
|
+
const enums_1 = require("./enums");
|
|
8
|
+
const graphql_connection_constants_1 = require("./graphql-connection.constants");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
class BookEntity {
|
|
11
|
+
}
|
|
12
|
+
class BookConnection {
|
|
13
|
+
}
|
|
14
|
+
function createFieldOptionsMap() {
|
|
15
|
+
const titleField = {
|
|
16
|
+
field: "title",
|
|
17
|
+
type: "string",
|
|
18
|
+
filterable: true,
|
|
19
|
+
sortable: true,
|
|
20
|
+
searchable: true,
|
|
21
|
+
fulltext: "searchableTitle",
|
|
22
|
+
};
|
|
23
|
+
return new Map([["title", titleField]]);
|
|
24
|
+
}
|
|
25
|
+
function setConnectionMetadata(fieldOptionsMap = createFieldOptionsMap()) {
|
|
26
|
+
const { filterQuerySchema } = (0, utils_1.createFilter)("Book", fieldOptionsMap);
|
|
27
|
+
Reflect.defineMetadata(graphql_connection_constants_1.GRAPHQL_CONNECTION_METADATA, {
|
|
28
|
+
entityClass: BookEntity,
|
|
29
|
+
fieldOptionsMap,
|
|
30
|
+
filterQuerySchema,
|
|
31
|
+
}, BookConnection);
|
|
32
|
+
}
|
|
33
|
+
function createEntityManager(entities = []) {
|
|
34
|
+
const find = jest.fn().mockResolvedValue(entities);
|
|
35
|
+
const findAll = jest.fn().mockResolvedValue(entities);
|
|
36
|
+
return {
|
|
37
|
+
entityManager: { find, findAll },
|
|
38
|
+
find,
|
|
39
|
+
findAll,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
describe("ConnectionQueryBuilder", () => {
|
|
43
|
+
beforeEach(() => {
|
|
44
|
+
setConnectionMetadata();
|
|
45
|
+
});
|
|
46
|
+
it("maps query string fulltext searches to a configured fulltext field path", async () => {
|
|
47
|
+
const { entityManager, find } = createEntityManager();
|
|
48
|
+
await new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, { first: 10, query: "title:search" }).query();
|
|
49
|
+
expect(find).toHaveBeenNthCalledWith(1, BookEntity, { searchableTitle: { $fulltext: "search" } }, expect.objectContaining({ limit: 11 }));
|
|
50
|
+
});
|
|
51
|
+
it("keeps query string searches on fields without fulltext enabled", async () => {
|
|
52
|
+
const fieldOptionsMap = createFieldOptionsMap();
|
|
53
|
+
const isbnField = {
|
|
54
|
+
field: "isbn",
|
|
55
|
+
type: "string",
|
|
56
|
+
filterable: true,
|
|
57
|
+
};
|
|
58
|
+
fieldOptionsMap.set("isbn", isbnField);
|
|
59
|
+
setConnectionMetadata(fieldOptionsMap);
|
|
60
|
+
const { entityManager, find } = createEntityManager();
|
|
61
|
+
await new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, { first: 10, query: "isbn:978" }).query();
|
|
62
|
+
expect(find).toHaveBeenNthCalledWith(1, BookEntity, { isbn: "978" }, expect.objectContaining({ limit: 11 }));
|
|
63
|
+
});
|
|
64
|
+
it("uses findAll when no filter inputs are present", async () => {
|
|
65
|
+
const rows = [
|
|
66
|
+
{ id: 1, title: "A", isbn: "1", searchableTitle: "A" },
|
|
67
|
+
{ id: 2, title: "B", isbn: "2", searchableTitle: "B" },
|
|
68
|
+
];
|
|
69
|
+
const { entityManager, find, findAll } = createEntityManager(rows);
|
|
70
|
+
const result = await new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, { first: 2, query: " " }).query();
|
|
71
|
+
expect(find).not.toHaveBeenCalled();
|
|
72
|
+
expect(findAll).toHaveBeenNthCalledWith(1, BookEntity, expect.objectContaining({
|
|
73
|
+
limit: 3,
|
|
74
|
+
orderBy: [{ id: core_1.QueryOrder.ASC }],
|
|
75
|
+
}));
|
|
76
|
+
expect(findAll).toHaveBeenNthCalledWith(2, BookEntity, {
|
|
77
|
+
fields: ["id"],
|
|
78
|
+
limit: 10000,
|
|
79
|
+
disableIdentityMap: true,
|
|
80
|
+
});
|
|
81
|
+
expect(result).toEqual({
|
|
82
|
+
totalCount: 2,
|
|
83
|
+
edges: expect.arrayContaining([
|
|
84
|
+
expect.objectContaining({ node: rows[0] }),
|
|
85
|
+
expect.objectContaining({ node: rows[1] }),
|
|
86
|
+
]),
|
|
87
|
+
pageInfo: {
|
|
88
|
+
hasNextPage: false,
|
|
89
|
+
hasPreviousPage: false,
|
|
90
|
+
startCursor: expect.any(String),
|
|
91
|
+
endCursor: expect.any(String),
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
it("applies forward cursor filters for ordered queries", async () => {
|
|
96
|
+
const rows = [
|
|
97
|
+
{ id: 2, title: "B", isbn: "2", searchableTitle: "B" },
|
|
98
|
+
{ id: 3, title: "C", isbn: "3", searchableTitle: "C" },
|
|
99
|
+
{ id: 4, title: "D", isbn: "4", searchableTitle: "D" },
|
|
100
|
+
];
|
|
101
|
+
const { entityManager, find } = createEntityManager(rows);
|
|
102
|
+
const after = new cursor_1.Cursor({ id: 1, value: "A" }).toString();
|
|
103
|
+
const result = await new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, {
|
|
104
|
+
first: 2,
|
|
105
|
+
after,
|
|
106
|
+
orderBy: {
|
|
107
|
+
field: "title",
|
|
108
|
+
direction: enums_1.OrderDirection.ASC,
|
|
109
|
+
},
|
|
110
|
+
}).query();
|
|
111
|
+
expect(find).toHaveBeenNthCalledWith(1, BookEntity, {
|
|
112
|
+
$or: [
|
|
113
|
+
{ title: { $gt: "A" } },
|
|
114
|
+
{
|
|
115
|
+
$and: [{ title: { $eq: "A" } }, { id: { $gt: 1 } }],
|
|
116
|
+
},
|
|
117
|
+
],
|
|
118
|
+
}, expect.objectContaining({
|
|
119
|
+
limit: 3,
|
|
120
|
+
orderBy: [{ title: core_1.QueryOrder.ASC }, { id: core_1.QueryOrder.ASC }],
|
|
121
|
+
}));
|
|
122
|
+
expect(result.edges).toHaveLength(2);
|
|
123
|
+
expect(result.pageInfo.hasNextPage).toBe(true);
|
|
124
|
+
expect(result.pageInfo.hasPreviousPage).toBe(true);
|
|
125
|
+
expect(new cursor_1.Cursor(result.edges[0].cursor).value).toBe("B");
|
|
126
|
+
});
|
|
127
|
+
it("applies backward cursor filters and reverses returned entities", async () => {
|
|
128
|
+
const rows = [
|
|
129
|
+
{ id: 4, title: "D", isbn: "4", searchableTitle: "D" },
|
|
130
|
+
{ id: 3, title: "C", isbn: "3", searchableTitle: "C" },
|
|
131
|
+
{ id: 2, title: "B", isbn: "2", searchableTitle: "B" },
|
|
132
|
+
];
|
|
133
|
+
const { entityManager, find } = createEntityManager(rows);
|
|
134
|
+
const before = new cursor_1.Cursor({ id: 5, value: "E" }).toString();
|
|
135
|
+
const result = await new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, {
|
|
136
|
+
last: 2,
|
|
137
|
+
before,
|
|
138
|
+
orderBy: {
|
|
139
|
+
field: "title",
|
|
140
|
+
direction: enums_1.OrderDirection.ASC,
|
|
141
|
+
},
|
|
142
|
+
}).query();
|
|
143
|
+
expect(find).toHaveBeenNthCalledWith(1, BookEntity, {
|
|
144
|
+
$or: [
|
|
145
|
+
{ title: { $lt: "E" } },
|
|
146
|
+
{
|
|
147
|
+
$and: [{ title: { $eq: "E" } }, { id: { $lt: 5 } }],
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
}, expect.objectContaining({
|
|
151
|
+
limit: 3,
|
|
152
|
+
orderBy: [{ title: core_1.QueryOrder.DESC }, { id: core_1.QueryOrder.DESC }],
|
|
153
|
+
}));
|
|
154
|
+
expect(result.edges.map((edge) => edge.node.id)).toEqual([3, 4]);
|
|
155
|
+
expect(result.pageInfo.hasNextPage).toBe(true);
|
|
156
|
+
expect(result.pageInfo.hasPreviousPage).toBe(true);
|
|
157
|
+
});
|
|
158
|
+
it("rejects ambiguous pagination arguments", () => {
|
|
159
|
+
const { entityManager } = createEntityManager();
|
|
160
|
+
expect(() => new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, {
|
|
161
|
+
first: 1,
|
|
162
|
+
before: new cursor_1.Cursor({ id: 1 }).toString(),
|
|
163
|
+
})).toThrow("paging must use either first/after or last/before");
|
|
164
|
+
expect(() => new connection_query_builder_1.ConnectionQueryBuilder(entityManager, BookConnection, {
|
|
165
|
+
first: 1,
|
|
166
|
+
last: 1,
|
|
167
|
+
})).toThrow("cursor-based pagination cannot be forwards AND backwards");
|
|
168
|
+
});
|
|
169
|
+
it("requires connection metadata", () => {
|
|
170
|
+
class MissingMetadataConnection {
|
|
171
|
+
}
|
|
172
|
+
expect(() => new connection_query_builder_1.ConnectionQueryBuilder(createEntityManager().entityManager, MissingMetadataConnection, { first: 1 })).toThrow("Connection metadata not found");
|
|
173
|
+
});
|
|
174
|
+
});
|
|
175
|
+
//# sourceMappingURL=connection-query-builder.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection-query-builder.spec.js","sourceRoot":"","sources":["../src/connection-query-builder.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":";;;AAeA,mCAMiB;AAyCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAa,iBAAiB;IAa5B;;;;OAIG;IACH,YACmB,WAAgC,EACjD,OAA2C;QAD1B,gBAAW,GAAX,WAAW,CAAqB;QAZnD,iEAAiE;QAChD,oBAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;QAWF,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;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAGN,OAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,OAAO,CAAC,KAAK,EACb,
|
|
1
|
+
{"version":3,"file":"connection.builder.js","sourceRoot":"","sources":["../src/connection.builder.ts"],"names":[],"mappings":";;;AAeA,mCAMiB;AAyCjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAa,iBAAiB;IAa5B;;;;OAIG;IACH,YACmB,WAAgC,EACjD,OAA2C;QAD1B,gBAAW,GAAX,WAAW,CAAqB;QAZnD,iEAAiE;QAChD,oBAAe,GAAG,IAAI,GAAG,EAGvC,CAAC;QAWF,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;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAGN,OAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,OAAO,CAAC,KAAK,EACb,OAAyC,CAC1C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,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,MAAM;YACN,iBAAiB;YACjB,KAAK;YACL,UAAU;YACV,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,QAAQ,CAAC,EAAE,MAAM;YACpC,CAAC,GAAG,IAAI,CAAC,UAAU,OAAO,CAAC,EAAE,KAAK;YAClC,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,CAAC,EAAE,UAAU;SACZ,CAAC;IACrC,CAAC;CACF;AAxHD,8CAwHC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("reflect-metadata");
|
|
4
|
+
const lazy_metadata_storage_1 = require("@nestjs/graphql/dist/schema-builder/storages/lazy-metadata.storage");
|
|
5
|
+
const type_metadata_storage_1 = require("@nestjs/graphql/dist/schema-builder/storages/type-metadata.storage");
|
|
6
|
+
const graphql_1 = require("graphql");
|
|
7
|
+
const connection_builder_1 = require("./connection.builder");
|
|
8
|
+
const graphql_connection_constants_1 = require("./graphql-connection.constants");
|
|
9
|
+
const objects_1 = require("./objects");
|
|
10
|
+
class BuilderBookEntity {
|
|
11
|
+
}
|
|
12
|
+
function fieldNamesAndInvokeTypeFns(metadata) {
|
|
13
|
+
expect(metadata).toBeDefined();
|
|
14
|
+
return metadata?.properties?.map((field) => {
|
|
15
|
+
field.typeFn?.();
|
|
16
|
+
return field.name;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
describe("ConnectionBuilder", () => {
|
|
20
|
+
it("builds connection types with ordering metadata and filter parsing", () => {
|
|
21
|
+
const result = new connection_builder_1.ConnectionBuilder(BuilderBookEntity, {
|
|
22
|
+
filter: {
|
|
23
|
+
maxDepth: 2,
|
|
24
|
+
maxConditions: 20,
|
|
25
|
+
maxOrBranches: 5,
|
|
26
|
+
maxArrayLength: 100,
|
|
27
|
+
},
|
|
28
|
+
})
|
|
29
|
+
.addField({
|
|
30
|
+
field: "title",
|
|
31
|
+
type: "string",
|
|
32
|
+
filterable: true,
|
|
33
|
+
sortable: true,
|
|
34
|
+
searchable: true,
|
|
35
|
+
fulltext: "searchableTitle",
|
|
36
|
+
})
|
|
37
|
+
.addField({
|
|
38
|
+
field: "authorName",
|
|
39
|
+
type: "string",
|
|
40
|
+
replacement: "author.name",
|
|
41
|
+
filterable: true,
|
|
42
|
+
sortable: true,
|
|
43
|
+
})
|
|
44
|
+
.addField({
|
|
45
|
+
field: "publishedAt",
|
|
46
|
+
type: "date",
|
|
47
|
+
filterable: false,
|
|
48
|
+
sortable: true,
|
|
49
|
+
})
|
|
50
|
+
.build();
|
|
51
|
+
expect(result.BuilderBookEntityConnection).toBe(result.Connection);
|
|
52
|
+
expect(result.BuilderBookEntityConnectionArgs).toBe(result.ConnectionArgs);
|
|
53
|
+
expect(result.BuilderBookEntityEdge).toBe(result.Edge);
|
|
54
|
+
expect(result.BuilderBookEntityFilter).toBe(result.Filter);
|
|
55
|
+
expect(result.BuilderBookEntityOrder).toBe(result.Order);
|
|
56
|
+
expect(result.BuilderBookEntityOrderField).toBe(result.OrderField);
|
|
57
|
+
expect(result.OrderField).toEqual({
|
|
58
|
+
ID: "id",
|
|
59
|
+
TITLE: "title",
|
|
60
|
+
AUTHOR_NAME: "author.name",
|
|
61
|
+
PUBLISHED_AT: "publishedAt",
|
|
62
|
+
});
|
|
63
|
+
const metadata = Reflect.getMetadata(graphql_connection_constants_1.GRAPHQL_CONNECTION_METADATA, result.Connection);
|
|
64
|
+
expect(metadata.entityClass).toBe(BuilderBookEntity);
|
|
65
|
+
expect([...metadata.fieldOptionsMap.keys()]).toEqual([
|
|
66
|
+
"title",
|
|
67
|
+
"authorName",
|
|
68
|
+
"publishedAt",
|
|
69
|
+
]);
|
|
70
|
+
expect(result.filterQuerySchema.parse({
|
|
71
|
+
title: { $fulltext: "search term" },
|
|
72
|
+
})).toEqual({
|
|
73
|
+
searchableTitle: { $fulltext: "search term" },
|
|
74
|
+
});
|
|
75
|
+
expect(result.Filter.parseValue(JSON.stringify({ authorName: { $eq: "Ada" } }))).toEqual({
|
|
76
|
+
author: { name: { $eq: "Ada" } },
|
|
77
|
+
});
|
|
78
|
+
expect(result.Filter.parseLiteral({
|
|
79
|
+
kind: graphql_1.Kind.OBJECT,
|
|
80
|
+
fields: [
|
|
81
|
+
{
|
|
82
|
+
kind: graphql_1.Kind.OBJECT_FIELD,
|
|
83
|
+
name: { kind: graphql_1.Kind.NAME, value: "title" },
|
|
84
|
+
value: {
|
|
85
|
+
kind: graphql_1.Kind.OBJECT,
|
|
86
|
+
fields: [
|
|
87
|
+
{
|
|
88
|
+
kind: graphql_1.Kind.OBJECT_FIELD,
|
|
89
|
+
name: { kind: graphql_1.Kind.NAME, value: "$eq" },
|
|
90
|
+
value: { kind: graphql_1.Kind.STRING, value: "GraphQL" },
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
})).toEqual({
|
|
97
|
+
title: { $eq: "GraphQL" },
|
|
98
|
+
});
|
|
99
|
+
lazy_metadata_storage_1.LazyMetadataStorage.load();
|
|
100
|
+
type_metadata_storage_1.TypeMetadataStorage.compile();
|
|
101
|
+
expect(fieldNamesAndInvokeTypeFns(type_metadata_storage_1.TypeMetadataStorage.getObjectTypeMetadataByTarget(result.Connection))).toEqual(["edges", "pageInfo", "totalCount"]);
|
|
102
|
+
expect(fieldNamesAndInvokeTypeFns(type_metadata_storage_1.TypeMetadataStorage.getObjectTypeMetadataByTarget(result.Edge))).toEqual(["node", "cursor"]);
|
|
103
|
+
expect(fieldNamesAndInvokeTypeFns(type_metadata_storage_1.TypeMetadataStorage.getObjectTypeMetadataByTarget(objects_1.PageInfo))).toEqual(["hasNextPage", "hasPreviousPage", "startCursor", "endCursor"]);
|
|
104
|
+
expect(fieldNamesAndInvokeTypeFns(type_metadata_storage_1.TypeMetadataStorage.getArgumentsMetadataByTarget(result.ConnectionArgs))).toEqual([
|
|
105
|
+
"query",
|
|
106
|
+
"filter",
|
|
107
|
+
"first",
|
|
108
|
+
"last",
|
|
109
|
+
"after",
|
|
110
|
+
"before",
|
|
111
|
+
"orderBy",
|
|
112
|
+
]);
|
|
113
|
+
expect(fieldNamesAndInvokeTypeFns(type_metadata_storage_1.TypeMetadataStorage.getInputTypeMetadataByTarget(result.Order))).toEqual(["field", "direction"]);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=connection.builder.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.builder.spec.js","sourceRoot":"","sources":["../src/connection.builder.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("reflect-metadata");
|
|
4
|
+
const connection_builder_1 = require("./connection.builder");
|
|
5
|
+
const connection_manager_1 = require("./connection.manager");
|
|
6
|
+
class ManagerBookEntity {
|
|
7
|
+
}
|
|
8
|
+
describe("ConnectionManager", () => {
|
|
9
|
+
it("executes a connection query with additional find options", async () => {
|
|
10
|
+
const { Connection } = new connection_builder_1.ConnectionBuilder(ManagerBookEntity)
|
|
11
|
+
.addField({
|
|
12
|
+
field: "title",
|
|
13
|
+
type: "string",
|
|
14
|
+
filterable: true,
|
|
15
|
+
sortable: true,
|
|
16
|
+
})
|
|
17
|
+
.build();
|
|
18
|
+
const rows = [
|
|
19
|
+
{ id: 1, title: "A" },
|
|
20
|
+
{ id: 2, title: "B" },
|
|
21
|
+
];
|
|
22
|
+
const find = jest.fn().mockResolvedValue(rows);
|
|
23
|
+
const findAll = jest.fn().mockResolvedValue(rows);
|
|
24
|
+
const entityManager = {
|
|
25
|
+
find,
|
|
26
|
+
findAll,
|
|
27
|
+
};
|
|
28
|
+
const result = await new connection_manager_1.ConnectionManager(entityManager).find(Connection, {
|
|
29
|
+
first: 1,
|
|
30
|
+
filter: { title: { $eq: "A" } },
|
|
31
|
+
}, {
|
|
32
|
+
where: { id: { $gt: 0 } },
|
|
33
|
+
disableIdentityMap: true,
|
|
34
|
+
});
|
|
35
|
+
expect(find).toHaveBeenNthCalledWith(1, ManagerBookEntity, {
|
|
36
|
+
$and: [{ id: { $gt: 0 } }, { title: { $eq: "A" } }],
|
|
37
|
+
}, expect.objectContaining({
|
|
38
|
+
disableIdentityMap: true,
|
|
39
|
+
limit: 2,
|
|
40
|
+
orderBy: [{ id: "ASC" }],
|
|
41
|
+
where: { id: { $gt: 0 } },
|
|
42
|
+
}));
|
|
43
|
+
expect(result.totalCount).toBe(2);
|
|
44
|
+
expect(result.edges).toHaveLength(1);
|
|
45
|
+
expect(result.pageInfo.hasNextPage).toBe(true);
|
|
46
|
+
expect(result.pageInfo.hasPreviousPage).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=connection.manager.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.manager.spec.js","sourceRoot":"","sources":["../src/connection.manager.spec.ts"],"names":[],"mappings":";;AAAA,4BAA0B;AAI1B,6DAAyD;AACzD,6DAAyD;AAOzD,MAAM,iBAAiB;CAItB;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,sCAAiB,CAAC,iBAAiB,CAAC;aAC5D,QAAQ,CAAC;YACR,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACf,CAAC;aACD,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,GAAG;YACX,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;YACrB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE;SACtB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG;YACpB,IAAI;YACJ,OAAO;SACoB,CAAC;QAE9B,MAAM,MAAM,GAAG,MAAM,IAAI,sCAAiB,CAAC,aAAa,CAAC,CAAC,IAAI,CAC5D,UAAU,EACV;YACE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;SAChC,EACD;YACE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;YACzB,kBAAkB,EAAE,IAAI;SACzB,CACF,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAClC,CAAC,EACD,iBAAiB,EACjB;YACE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;SACpD,EACD,MAAM,CAAC,gBAAgB,CAAC;YACtB,kBAAkB,EAAE,IAAI;YACxB,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACxB,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;SAC1B,CAAC,CACH,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const cursor_1 = require("./cursor");
|
|
4
|
+
describe("Cursor", () => {
|
|
5
|
+
it("encodes and decodes cursor payloads", () => {
|
|
6
|
+
const encoded = new cursor_1.Cursor({ id: "1", value: "title" }).toString();
|
|
7
|
+
const cursor = new cursor_1.Cursor(encoded);
|
|
8
|
+
expect(cursor.id).toBe("1");
|
|
9
|
+
expect(cursor.value).toBe("title");
|
|
10
|
+
});
|
|
11
|
+
it("ignores invalid cursor strings", () => {
|
|
12
|
+
const cursor = new cursor_1.Cursor("not-base64-json");
|
|
13
|
+
expect(cursor.id).toBeUndefined();
|
|
14
|
+
expect(cursor.toString()).toBe("e30=");
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=cursor.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.spec.js","sourceRoot":"","sources":["../src/cursor.spec.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAElC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,OAAO,GAAG,IAAI,eAAM,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAEnE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,iBAAiB,CAAC,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const graphql_connection_module_1 = require("./graphql-connection.module");
|
|
4
|
+
describe("GraphQLConnectionModule", () => {
|
|
5
|
+
it("registers module options", () => {
|
|
6
|
+
const module = graphql_connection_module_1.GraphQLConnectionModule.register({});
|
|
7
|
+
expect(module.module).toBe(graphql_connection_module_1.GraphQLConnectionModule);
|
|
8
|
+
expect(module.providers).toEqual([
|
|
9
|
+
expect.objectContaining({
|
|
10
|
+
useValue: {},
|
|
11
|
+
}),
|
|
12
|
+
]);
|
|
13
|
+
});
|
|
14
|
+
it("registers async options", () => {
|
|
15
|
+
const module = graphql_connection_module_1.GraphQLConnectionModule.registerAsync({
|
|
16
|
+
useFactory: () => ({}),
|
|
17
|
+
});
|
|
18
|
+
expect(module.module).toBe(graphql_connection_module_1.GraphQLConnectionModule);
|
|
19
|
+
expect(module.imports).toEqual([]);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=graphql-connection.module.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-connection.module.spec.js","sourceRoot":"","sources":["../src/graphql-connection.module.spec.ts"],"names":[],"mappings":";;AAAA,2EAAsE;AAEtE,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,mDAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEpD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mDAAuB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/B,MAAM,CAAC,gBAAgB,CAAC;gBACtB,QAAQ,EAAE,EAAE;aACb,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,MAAM,GAAG,mDAAuB,CAAC,aAAa,CAAC;YACnD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mDAAuB,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const publicApi = __importStar(require("."));
|
|
37
|
+
describe("public exports", () => {
|
|
38
|
+
it("exports runtime connection APIs", () => {
|
|
39
|
+
expect(publicApi.ConnectionBuilder).toBeDefined();
|
|
40
|
+
expect(publicApi.ConnectionManager).toBeDefined();
|
|
41
|
+
expect(publicApi.GraphQLConnectionModule).toBeDefined();
|
|
42
|
+
expect(publicApi.OrderDirection).toBeDefined();
|
|
43
|
+
expect(publicApi.PageInfo).toBeDefined();
|
|
44
|
+
expect(publicApi.createFilter).toBeDefined();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAE/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC;QACxD,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { EntityClass, FilterQuery } from "@mikro-orm/core";
|
|
2
|
-
import type { FieldType } from "mikro-orm-filter-query-schema";
|
|
3
2
|
import type { ZodType } from "zod";
|
|
4
|
-
import {
|
|
3
|
+
import { ConnectionFieldOptions } from "../types/field-options.type";
|
|
5
4
|
/**
|
|
6
5
|
* Metadata stored on connection classes for query building.
|
|
7
6
|
*
|
|
@@ -20,7 +19,7 @@ export interface ConnectionMetadata<Entity extends object> {
|
|
|
20
19
|
/**
|
|
21
20
|
* Map of field names to their configuration options.
|
|
22
21
|
*/
|
|
23
|
-
fieldOptionsMap: Map<string,
|
|
22
|
+
fieldOptionsMap: Map<string, ConnectionFieldOptions<Entity>>;
|
|
24
23
|
/**
|
|
25
24
|
* Zod schema for validating and parsing filter queries.
|
|
26
25
|
*/
|