@steedos/odata-v4-typeorm 1.20.0 → 2.2.27

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 (46) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +125 -125
  3. package/config/default.json +6 -6
  4. package/{build/lib → lib}/createFilter.d.ts +13 -13
  5. package/{build/lib → lib}/createFilter.js +17 -15
  6. package/lib/createFilter.js.map +1 -0
  7. package/{build/lib → lib}/createQuery.d.ts +13 -13
  8. package/{build/lib → lib}/createQuery.js +14 -12
  9. package/lib/createQuery.js.map +1 -0
  10. package/{build/lib → lib}/executeQuery.d.ts +5 -5
  11. package/{build/lib → lib}/executeQuery.js +277 -268
  12. package/lib/executeQuery.js.map +1 -0
  13. package/{build/lib → lib}/index.d.ts +6 -6
  14. package/lib/index.js +14 -0
  15. package/lib/index.js.map +1 -0
  16. package/{build/lib → lib}/odataQueryMiddleware.d.ts +3 -3
  17. package/{build/lib → lib}/odataQueryMiddleware.js +29 -26
  18. package/lib/odataQueryMiddleware.js.map +1 -0
  19. package/{build/lib → lib}/sqlOptions.d.ts +7 -7
  20. package/lib/sqlOptions.js +3 -0
  21. package/{build/lib → lib}/sqlOptions.js.map +1 -1
  22. package/{build/lib → lib}/visitor.d.ts +20 -20
  23. package/{build/lib → lib}/visitor.js +308 -302
  24. package/lib/visitor.js.map +1 -0
  25. package/package.json +40 -52
  26. package/src/{lib/createFilter.ts → createFilter.ts} +26 -26
  27. package/src/{lib/createQuery.ts → createQuery.ts} +22 -22
  28. package/src/{lib/executeQuery.ts → executeQuery.ts} +291 -282
  29. package/src/{lib/index.ts → index.ts} +6 -6
  30. package/src/{lib/odataQueryMiddleware.ts → odataQueryMiddleware.ts} +17 -17
  31. package/src/{lib/sqlOptions.ts → sqlOptions.ts} +7 -7
  32. package/src/{lib/visitor.ts → visitor.ts} +301 -298
  33. package/tsconfig.json +11 -10
  34. package/build/example/sql.d.ts +0 -0
  35. package/build/example/sql.js +0 -131
  36. package/build/example/sql.js.map +0 -1
  37. package/build/lib/createFilter.js.map +0 -1
  38. package/build/lib/createQuery.js.map +0 -1
  39. package/build/lib/executeQuery.js.map +0 -1
  40. package/build/lib/index.js +0 -12
  41. package/build/lib/index.js.map +0 -1
  42. package/build/lib/odataQueryMiddleware.js.map +0 -1
  43. package/build/lib/sqlOptions.js +0 -2
  44. package/build/lib/visitor.js.map +0 -1
  45. package/src/example/sql.ts +0 -82
  46. package/src/example/world.sql +0 -5388
@@ -1,269 +1,278 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments)).next());
8
- });
9
- };
10
- const createQuery_1 = require("./createQuery");
11
- const odata_v4_sql_1 = require("odata-v4-sql");
12
- const _ = require("underscore");
13
- const mapToObject = (aMap) => {
14
- const obj = {};
15
- if (aMap) {
16
- aMap.forEach((v, k) => {
17
- obj[k] = v;
18
- });
19
- }
20
- return obj;
21
- };
22
- const queryToOdataString = (query) => {
23
- let result = '';
24
- for (let key in query) {
25
- if (key.startsWith('$')) {
26
- if (result !== '') {
27
- result += '&';
28
- }
29
- result += `${key}=${query[key]}`;
30
- }
31
- }
32
- return result;
33
- };
34
- const processIncludes = (queryBuilder, odataQuery, alias) => {
35
- if (odataQuery.includes && odataQuery.includes.length > 0) {
36
- odataQuery.includes.forEach(item => {
37
- queryBuilder = queryBuilder.leftJoinAndSelect((alias ? alias + '.' : '') + item.navigationProperty, item.navigationProperty, item.where.replace(/typeorm_query/g, item.navigationProperty), mapToObject(item.parameters));
38
- if (item.orderby && item.orderby != '1') {
39
- const orders = item.orderby.split(',').map(i => i.trim().replace(/typeorm_query/g, item.navigationProperty));
40
- orders.forEach((itemOrd) => {
41
- queryBuilder = queryBuilder.addOrderBy(...(itemOrd.split(' ')));
42
- });
43
- }
44
- if (item.includes && item.includes.length > 0) {
45
- processIncludes(queryBuilder, { includes: item.includes }, item.navigationProperty);
46
- }
47
- });
48
- }
49
- return queryBuilder;
50
- };
51
- const executeQueryByQueryBuilder = (inputQueryBuilder, query, options, returnSql = false) => __awaiter(this, void 0, void 0, function* () {
52
- const alias = inputQueryBuilder.expressionMap.mainAlias.name;
53
- options.alias = alias;
54
- //const filter = createFilter(query.$filter, {alias: alias});
55
- let odataQuery = {};
56
- if (query) {
57
- const odataString = queryToOdataString(query);
58
- if (odataString) {
59
- odataQuery = createQuery_1.createQuery(odataString, options);
60
- }
61
- }
62
- let queryBuilder = inputQueryBuilder;
63
- queryBuilder = queryBuilder
64
- .andWhere(odataQuery.where)
65
- .setParameters(mapToObject(odataQuery.parameters));
66
- const queryRunner = inputQueryBuilder.obtainQueryRunner();
67
- const isPaging = query.$skip !== undefined || query.$top !== undefined;
68
- if (isPaging && query.$top === undefined) {
69
- query.$top = 100;
70
- }
71
- if (queryRunner && isPaging && [odata_v4_sql_1.SQLLang.MsSql, odata_v4_sql_1.SQLLang.Oracle].indexOf(options.type) >= 0) {
72
- // 老版本的SqlServer/Oracle数据库不支持OFFSET FETCH 的语法来翻页,只能单独处理
73
- // SqlServer 2012版本号options.version为11.0.3128.0,这以下的版本,比如2008/2005都不支持OFFSET FETCH 的语法来翻页
74
- const oldVersionMsSql = options.type === odata_v4_sql_1.SQLLang.MsSql && options.version && parseInt(options.version) < 11;
75
- const tooOldVersionMsSql = oldVersionMsSql && parseInt(options.version) < 9;
76
- // Oracle 12c版本号options.version为12.2...,这以下的版本,比如10.2都不支持OFFSET FETCH 的语法来翻页
77
- const oldVersionOracle = options.type === odata_v4_sql_1.SQLLang.Oracle && options.version && parseInt(options.version) < 12;
78
- if (oldVersionMsSql || oldVersionOracle) {
79
- let selectFields = "*";
80
- if (odataQuery.select && odataQuery.select !== '*') {
81
- selectFields = odataQuery.select;
82
- }
83
- const RowNumberKey = "RowNumber";
84
- if (oldVersionMsSql) {
85
- if (tooOldVersionMsSql) {
86
- queryBuilder = queryBuilder.select(`top ${query.$top} ${selectFields}`);
87
- }
88
- else {
89
- let orderby = odataQuery.orderby;
90
- if (oldVersionMsSql && !(orderby && orderby !== '1')) {
91
- orderby = "(select null) ASC";
92
- }
93
- queryBuilder = queryBuilder.select(`${selectFields},ROW_NUMBER() OVER(ORDER BY ${orderby}) ${RowNumberKey}`);
94
- }
95
- }
96
- else if (oldVersionOracle) {
97
- queryBuilder = queryBuilder.select(`${selectFields}`);
98
- }
99
- if ((oldVersionOracle || tooOldVersionMsSql) && odataQuery.orderby && odataQuery.orderby !== '1') {
100
- const orders = odataQuery.orderby.split(',').map(i => i.trim());
101
- orders.forEach((item) => {
102
- queryBuilder = queryBuilder.addOrderBy(...(item.split(' ')));
103
- });
104
- }
105
- let qs = queryBuilder.getQueryAndParameters();
106
- if (returnSql) {
107
- return qs;
108
- }
109
- let splicedSql = "";
110
- let start = query.$skip ? query.$skip : 0;
111
- let end = 0;
112
- if (query.$top) {
113
- end = start + query.$top;
114
- }
115
- if (oldVersionMsSql) {
116
- if (tooOldVersionMsSql) {
117
- splicedSql = `SELECT * FROM (${qs[0]}) A`;
118
- }
119
- else {
120
- let betweenSql = "";
121
- if (end) {
122
- betweenSql = `BETWEEN ${start} + 1 and ${end}`;
123
- }
124
- else {
125
- betweenSql = `> ${start}`;
126
- }
127
- splicedSql = `SELECT * FROM (${qs[0]}) A WHERE ${RowNumberKey} ${betweenSql}`;
128
- }
129
- }
130
- else if (oldVersionOracle) {
131
- splicedSql = `SELECT * FROM (SELECT A.*, ROWNUM ${RowNumberKey} FROM (${qs[0]}) A ${end ? ('WHERE ROWNUM <= ' + end) : ''}) b WHERE B.${RowNumberKey} > ${start}`;
132
- }
133
- try {
134
- let getFieldMap = function (columns) {
135
- let map = {};
136
- _.each(columns, function (column) {
137
- if (column.givenDatabaseName && column.givenDatabaseName != column.propertyName) {
138
- map[column.givenDatabaseName] = column.propertyName;
139
- }
140
- });
141
- return map;
142
- };
143
- let columnsMap = getFieldMap(queryBuilder.expressionMap.mainAlias.metadata.columns);
144
- const result = yield queryRunner.query(splicedSql, qs[1]);
145
- let items = result.concat();
146
- if (!_.isEmpty(columnsMap)) {
147
- items.map(function (item) {
148
- _.each(columnsMap, function (v, k) {
149
- item[v] = item[k];
150
- delete item[k];
151
- });
152
- });
153
- }
154
- if (query.$count && query.$count !== 'false') {
155
- return {
156
- items: items,
157
- count: result.length
158
- };
159
- }
160
- else {
161
- return items;
162
- }
163
- }
164
- finally {
165
- if (queryRunner !== queryBuilder.queryRunner) {
166
- yield queryRunner.release();
167
- }
168
- if (queryBuilder.connection.driver.options.type === "sqljs") {
169
- // this.connection.driver instanceof SqljsDriver
170
- // SqljsDriver is not export from typeorm,so we user driver.options.type to check the SqljsDriver instance
171
- yield queryBuilder.connection.driver.autoSave();
172
- }
173
- }
174
- }
175
- }
176
- if (odataQuery.select && odataQuery.select != '*') {
177
- queryBuilder = queryBuilder.select(odataQuery.select.split(',').map(i => i.trim()));
178
- }
179
- queryBuilder = processIncludes(queryBuilder, odataQuery, alias);
180
- if (odataQuery.orderby && odataQuery.orderby !== '1') {
181
- const orders = odataQuery.orderby.split(',').map(i => i.trim());
182
- orders.forEach((item) => {
183
- queryBuilder = queryBuilder.addOrderBy(...(item.split(' ')));
184
- });
185
- }
186
- queryBuilder = queryBuilder.skip(query.$skip || 0);
187
- if (query.$top) {
188
- queryBuilder = queryBuilder.take(query.$top);
189
- }
190
- if (returnSql) {
191
- return {
192
- sql: queryBuilder.getSql(),
193
- query: queryBuilder.getQuery()
194
- };
195
- }
196
- if (query.$count && query.$count !== 'false') {
197
- const resultData = yield queryBuilder.getManyAndCount();
198
- return {
199
- items: resultData[0],
200
- count: resultData[1]
201
- };
202
- }
203
- return queryBuilder.getMany();
204
- });
205
- const executeQuery = (repositoryOrQueryBuilder, query, options) => __awaiter(this, void 0, void 0, function* () {
206
- // options = options || {};
207
- const alias = options.alias || '';
208
- let queryBuilder = null;
209
- // check that input object is query builder
210
- if (typeof repositoryOrQueryBuilder.expressionMap !== 'undefined') {
211
- queryBuilder = repositoryOrQueryBuilder;
212
- }
213
- else {
214
- queryBuilder = yield repositoryOrQueryBuilder.createQueryBuilder(alias);
215
- }
216
- const result = yield executeQueryByQueryBuilder(queryBuilder, query, options);
217
- return result;
218
- });
219
- exports.executeQuery = executeQuery;
220
- const executeCountQueryByQueryBuilder = (inputQueryBuilder, query, options) => __awaiter(this, void 0, void 0, function* () {
221
- const alias = inputQueryBuilder.expressionMap.mainAlias.name;
222
- options.alias = alias;
223
- //const filter = createFilter(query.$filter, {alias: alias});
224
- let odataQuery = {};
225
- if (query) {
226
- const odataString = queryToOdataString(query);
227
- if (odataString) {
228
- odataQuery = createQuery_1.createQuery(odataString, options);
229
- }
230
- }
231
- const queryRunner = inputQueryBuilder.obtainQueryRunner();
232
- let queryBuilder = inputQueryBuilder;
233
- queryBuilder = queryBuilder
234
- .andWhere(odataQuery.where)
235
- .setParameters(mapToObject(odataQuery.parameters));
236
- queryBuilder = processIncludes(queryBuilder, odataQuery, alias);
237
- return yield queryBuilder.getCount();
238
- });
239
- const executeCountQuery = (repositoryOrQueryBuilder, query, options) => __awaiter(this, void 0, void 0, function* () {
240
- // options = options || {};
241
- const alias = options.alias || '';
242
- let queryBuilder = null;
243
- // check that input object is query builder
244
- if (typeof repositoryOrQueryBuilder.expressionMap !== 'undefined') {
245
- queryBuilder = repositoryOrQueryBuilder;
246
- }
247
- else {
248
- queryBuilder = repositoryOrQueryBuilder.createQueryBuilder(alias);
249
- }
250
- const result = yield executeCountQueryByQueryBuilder(queryBuilder, query, options);
251
- return result;
252
- });
253
- exports.executeCountQuery = executeCountQuery;
254
- const getExecuteQuerySQL = (repositoryOrQueryBuilder, query, options) => __awaiter(this, void 0, void 0, function* () {
255
- // options = options || {};
256
- const alias = options.alias || '';
257
- let queryBuilder = null;
258
- // check that input object is query builder
259
- if (typeof repositoryOrQueryBuilder.expressionMap !== 'undefined') {
260
- queryBuilder = repositoryOrQueryBuilder;
261
- }
262
- else {
263
- queryBuilder = yield repositoryOrQueryBuilder.createQueryBuilder(alias);
264
- }
265
- const result = executeQueryByQueryBuilder(queryBuilder, query, options, true);
266
- return result;
267
- });
268
- exports.getExecuteQuerySQL = getExecuteQuerySQL;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getExecuteQuerySQL = exports.executeCountQuery = exports.executeQuery = void 0;
13
+ const createQuery_1 = require("./createQuery");
14
+ const odata_v4_sql_1 = require("odata-v4-sql");
15
+ const _ = require("underscore");
16
+ const mapToObject = (aMap) => {
17
+ const obj = {};
18
+ if (aMap) {
19
+ aMap.forEach((v, k) => {
20
+ obj[k] = v;
21
+ });
22
+ }
23
+ return obj;
24
+ };
25
+ const queryToOdataString = (query) => {
26
+ let result = '';
27
+ for (let key in query) {
28
+ if (key.startsWith('$')) {
29
+ if (result !== '') {
30
+ result += '&';
31
+ }
32
+ result += `${key}=${query[key]}`;
33
+ }
34
+ }
35
+ return result;
36
+ };
37
+ const processIncludes = (queryBuilder, odataQuery, alias) => {
38
+ if (odataQuery.includes && odataQuery.includes.length > 0) {
39
+ odataQuery.includes.forEach(item => {
40
+ queryBuilder = queryBuilder.leftJoinAndSelect((alias ? alias + '.' : '') + item.navigationProperty, item.navigationProperty, item.where.replace(/typeorm_query/g, item.navigationProperty), mapToObject(item.parameters));
41
+ if (item.orderby && item.orderby != '1') {
42
+ const orders = item.orderby.split(',').map(i => i.trim().replace(/typeorm_query/g, item.navigationProperty));
43
+ orders.forEach((itemOrd) => {
44
+ queryBuilder = queryBuilder.addOrderBy(...(itemOrd.split(' ')));
45
+ });
46
+ }
47
+ if (item.includes && item.includes.length > 0) {
48
+ processIncludes(queryBuilder, { includes: item.includes }, item.navigationProperty);
49
+ }
50
+ });
51
+ }
52
+ return queryBuilder;
53
+ };
54
+ const executeQueryByQueryBuilder = (inputQueryBuilder, query, options, returnSql = false) => __awaiter(void 0, void 0, void 0, function* () {
55
+ const alias = inputQueryBuilder.expressionMap.mainAlias.name;
56
+ options.alias = alias;
57
+ //const filter = createFilter(query.$filter, {alias: alias});
58
+ let odataQuery = {};
59
+ if (query) {
60
+ const odataString = queryToOdataString(query);
61
+ if (odataString) {
62
+ odataQuery = (0, createQuery_1.createQuery)(odataString, options);
63
+ }
64
+ }
65
+ let queryBuilder = inputQueryBuilder;
66
+ if (odataQuery.where) {
67
+ queryBuilder = queryBuilder.andWhere(odataQuery.where);
68
+ }
69
+ if (odataQuery.parameters) {
70
+ queryBuilder = queryBuilder.setParameters(mapToObject(odataQuery.parameters));
71
+ }
72
+ const queryRunner = inputQueryBuilder.obtainQueryRunner();
73
+ const isPaging = query.$skip !== undefined || query.$top !== undefined;
74
+ if (isPaging && query.$top === undefined) {
75
+ query.$top = 100;
76
+ }
77
+ if (queryRunner && isPaging && [odata_v4_sql_1.SQLLang.MsSql, odata_v4_sql_1.SQLLang.Oracle].indexOf(options.type) >= 0) {
78
+ // 老版本的SqlServer/Oracle数据库不支持OFFSET FETCH 的语法来翻页,只能单独处理
79
+ // SqlServer 2012版本号options.version为11.0.3128.0,这以下的版本,比如2008/2005都不支持OFFSET FETCH 的语法来翻页
80
+ const oldVersionMsSql = options.type === odata_v4_sql_1.SQLLang.MsSql && options.version && parseInt(options.version) < 11;
81
+ const tooOldVersionMsSql = oldVersionMsSql && parseInt(options.version) < 9;
82
+ // Oracle 12c版本号options.version为12.2...,这以下的版本,比如10.2都不支持OFFSET FETCH 的语法来翻页
83
+ const oldVersionOracle = options.type === odata_v4_sql_1.SQLLang.Oracle && options.version && parseInt(options.version) < 12;
84
+ if (oldVersionMsSql || oldVersionOracle) {
85
+ let selectFields = "*";
86
+ if (odataQuery.select && odataQuery.select !== '*') {
87
+ selectFields = odataQuery.select;
88
+ }
89
+ const RowNumberKey = "RowNumber";
90
+ if (oldVersionMsSql) {
91
+ if (tooOldVersionMsSql) {
92
+ queryBuilder = queryBuilder.select(`top ${query.$top} ${selectFields}`);
93
+ }
94
+ else {
95
+ let orderby = odataQuery.orderby;
96
+ if (oldVersionMsSql && !(orderby && orderby !== '1')) {
97
+ orderby = "(select null) ASC";
98
+ }
99
+ queryBuilder = queryBuilder.select(`${selectFields},ROW_NUMBER() OVER(ORDER BY ${orderby}) ${RowNumberKey}`);
100
+ }
101
+ }
102
+ else if (oldVersionOracle) {
103
+ queryBuilder = queryBuilder.select(`${selectFields}`);
104
+ }
105
+ if ((oldVersionOracle || tooOldVersionMsSql) && odataQuery.orderby && odataQuery.orderby !== '1') {
106
+ const orders = odataQuery.orderby.split(',').map(i => i.trim());
107
+ orders.forEach((item) => {
108
+ queryBuilder = queryBuilder.addOrderBy(...(item.split(' ')));
109
+ });
110
+ }
111
+ let qs = queryBuilder.getQueryAndParameters();
112
+ if (returnSql) {
113
+ return qs;
114
+ }
115
+ let splicedSql = "";
116
+ let start = query.$skip ? query.$skip : 0;
117
+ let end = 0;
118
+ if (query.$top) {
119
+ end = start + query.$top;
120
+ }
121
+ if (oldVersionMsSql) {
122
+ if (tooOldVersionMsSql) {
123
+ splicedSql = `SELECT * FROM (${qs[0]}) A`;
124
+ }
125
+ else {
126
+ let betweenSql = "";
127
+ if (end) {
128
+ betweenSql = `BETWEEN ${start} + 1 and ${end}`;
129
+ }
130
+ else {
131
+ betweenSql = `> ${start}`;
132
+ }
133
+ splicedSql = `SELECT * FROM (${qs[0]}) A WHERE ${RowNumberKey} ${betweenSql}`;
134
+ }
135
+ }
136
+ else if (oldVersionOracle) {
137
+ splicedSql = `SELECT * FROM (SELECT A.*, ROWNUM ${RowNumberKey} FROM (${qs[0]}) A ${end ? ('WHERE ROWNUM <= ' + end) : ''}) b WHERE B.${RowNumberKey} > ${start}`;
138
+ }
139
+ try {
140
+ let getFieldMap = function (columns) {
141
+ let map = {};
142
+ _.each(columns, function (column) {
143
+ if (column.givenDatabaseName && column.givenDatabaseName != column.propertyName) {
144
+ map[column.givenDatabaseName] = column.propertyName;
145
+ }
146
+ });
147
+ return map;
148
+ };
149
+ let columnsMap = getFieldMap(queryBuilder.expressionMap.mainAlias.metadata.columns);
150
+ const result = yield queryRunner.query(splicedSql, qs[1]);
151
+ let items = result.concat();
152
+ if (!_.isEmpty(columnsMap)) {
153
+ items.map(function (item) {
154
+ _.each(columnsMap, function (v, k) {
155
+ item[v] = item[k];
156
+ delete item[k];
157
+ });
158
+ });
159
+ }
160
+ if (query.$count && query.$count !== 'false') {
161
+ return {
162
+ items: items,
163
+ count: result.length
164
+ };
165
+ }
166
+ else {
167
+ return items;
168
+ }
169
+ }
170
+ finally {
171
+ if (queryRunner !== queryBuilder.queryRunner) {
172
+ yield queryRunner.release();
173
+ }
174
+ if (queryBuilder.connection.driver.options.type === "sqljs") {
175
+ // this.connection.driver instanceof SqljsDriver
176
+ // SqljsDriver is not export from typeorm,so we user driver.options.type to check the SqljsDriver instance
177
+ yield queryBuilder.connection.driver.autoSave();
178
+ }
179
+ }
180
+ }
181
+ }
182
+ if (odataQuery.select && odataQuery.select != '*') {
183
+ queryBuilder = queryBuilder.select(odataQuery.select.split(',').map(i => i.trim()));
184
+ }
185
+ queryBuilder = processIncludes(queryBuilder, odataQuery, alias);
186
+ if (odataQuery.orderby && odataQuery.orderby !== '1') {
187
+ const orders = odataQuery.orderby.split(',').map(i => i.trim());
188
+ orders.forEach((item) => {
189
+ queryBuilder = queryBuilder.addOrderBy(...(item.split(' ')));
190
+ });
191
+ }
192
+ queryBuilder = queryBuilder.skip(query.$skip || 0);
193
+ if (query.$top) {
194
+ queryBuilder = queryBuilder.take(query.$top);
195
+ }
196
+ if (returnSql) {
197
+ return {
198
+ sql: queryBuilder.getSql(),
199
+ query: queryBuilder.getQuery()
200
+ };
201
+ }
202
+ if (query.$count && query.$count !== 'false') {
203
+ const resultData = yield queryBuilder.getManyAndCount();
204
+ return {
205
+ items: resultData[0],
206
+ count: resultData[1]
207
+ };
208
+ }
209
+ return queryBuilder.getMany();
210
+ });
211
+ const executeQuery = (repositoryOrQueryBuilder, query, options) => __awaiter(void 0, void 0, void 0, function* () {
212
+ // options = options || {};
213
+ const alias = options.alias || '';
214
+ let queryBuilder = null;
215
+ // check that input object is query builder
216
+ if (typeof repositoryOrQueryBuilder.expressionMap !== 'undefined') {
217
+ queryBuilder = repositoryOrQueryBuilder;
218
+ }
219
+ else {
220
+ queryBuilder = yield repositoryOrQueryBuilder.createQueryBuilder(alias);
221
+ }
222
+ const result = yield executeQueryByQueryBuilder(queryBuilder, query, options);
223
+ return result;
224
+ });
225
+ exports.executeQuery = executeQuery;
226
+ const executeCountQueryByQueryBuilder = (inputQueryBuilder, query, options) => __awaiter(void 0, void 0, void 0, function* () {
227
+ const alias = inputQueryBuilder.expressionMap.mainAlias.name;
228
+ options.alias = alias;
229
+ //const filter = createFilter(query.$filter, {alias: alias});
230
+ let odataQuery = {};
231
+ if (query) {
232
+ const odataString = queryToOdataString(query);
233
+ if (odataString) {
234
+ odataQuery = (0, createQuery_1.createQuery)(odataString, options);
235
+ }
236
+ }
237
+ const queryRunner = inputQueryBuilder.obtainQueryRunner();
238
+ let queryBuilder = inputQueryBuilder;
239
+ if (odataQuery.where) {
240
+ queryBuilder = queryBuilder.andWhere(odataQuery.where);
241
+ }
242
+ if (odataQuery.parameters) {
243
+ queryBuilder = queryBuilder.setParameters(mapToObject(odataQuery.parameters));
244
+ }
245
+ queryBuilder = processIncludes(queryBuilder, odataQuery, alias);
246
+ return yield queryBuilder.getCount();
247
+ });
248
+ const executeCountQuery = (repositoryOrQueryBuilder, query, options) => __awaiter(void 0, void 0, void 0, function* () {
249
+ // options = options || {};
250
+ const alias = options.alias || '';
251
+ let queryBuilder = null;
252
+ // check that input object is query builder
253
+ if (typeof repositoryOrQueryBuilder.expressionMap !== 'undefined') {
254
+ queryBuilder = repositoryOrQueryBuilder;
255
+ }
256
+ else {
257
+ queryBuilder = repositoryOrQueryBuilder.createQueryBuilder(alias);
258
+ }
259
+ const result = yield executeCountQueryByQueryBuilder(queryBuilder, query, options);
260
+ return result;
261
+ });
262
+ exports.executeCountQuery = executeCountQuery;
263
+ const getExecuteQuerySQL = (repositoryOrQueryBuilder, query, options) => __awaiter(void 0, void 0, void 0, function* () {
264
+ // options = options || {};
265
+ const alias = options.alias || '';
266
+ let queryBuilder = null;
267
+ // check that input object is query builder
268
+ if (typeof repositoryOrQueryBuilder.expressionMap !== 'undefined') {
269
+ queryBuilder = repositoryOrQueryBuilder;
270
+ }
271
+ else {
272
+ queryBuilder = yield repositoryOrQueryBuilder.createQueryBuilder(alias);
273
+ }
274
+ const result = executeQueryByQueryBuilder(queryBuilder, query, options, true);
275
+ return result;
276
+ });
277
+ exports.getExecuteQuerySQL = getExecuteQuerySQL;
269
278
  //# sourceMappingURL=executeQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executeQuery.js","sourceRoot":"","sources":["../src/executeQuery.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { odataQuery } from './odataQueryMiddleware';
2
- import { executeQuery, executeCountQuery, getExecuteQuerySQL } from './executeQuery';
3
- import { SqlOptions } from './sqlOptions';
4
- import { createQuery } from './createQuery';
5
- import { createFilter } from './createFilter';
6
- export { odataQuery, executeQuery, executeCountQuery, getExecuteQuerySQL, SqlOptions, createQuery, createFilter };
1
+ import { odataQuery } from './odataQueryMiddleware';
2
+ import { executeQuery, executeCountQuery, getExecuteQuerySQL } from './executeQuery';
3
+ import { SqlOptions } from './sqlOptions';
4
+ import { createQuery } from './createQuery';
5
+ import { createFilter } from './createFilter';
6
+ export { odataQuery, executeQuery, executeCountQuery, getExecuteQuerySQL, SqlOptions, createQuery, createFilter };
package/lib/index.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFilter = exports.createQuery = exports.getExecuteQuerySQL = exports.executeCountQuery = exports.executeQuery = exports.odataQuery = void 0;
4
+ const odataQueryMiddleware_1 = require("./odataQueryMiddleware");
5
+ Object.defineProperty(exports, "odataQuery", { enumerable: true, get: function () { return odataQueryMiddleware_1.odataQuery; } });
6
+ const executeQuery_1 = require("./executeQuery");
7
+ Object.defineProperty(exports, "executeQuery", { enumerable: true, get: function () { return executeQuery_1.executeQuery; } });
8
+ Object.defineProperty(exports, "executeCountQuery", { enumerable: true, get: function () { return executeQuery_1.executeCountQuery; } });
9
+ Object.defineProperty(exports, "getExecuteQuerySQL", { enumerable: true, get: function () { return executeQuery_1.getExecuteQuerySQL; } });
10
+ const createQuery_1 = require("./createQuery");
11
+ Object.defineProperty(exports, "createQuery", { enumerable: true, get: function () { return createQuery_1.createQuery; } });
12
+ const createFilter_1 = require("./createFilter");
13
+ Object.defineProperty(exports, "createFilter", { enumerable: true, get: function () { return createFilter_1.createFilter; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAAkD;AAMzC,2FAND,iCAAU,OAMC;AALnB,iDAAoF;AAK/D,6FALZ,2BAAY,OAKY;AAAE,kGALZ,gCAAiB,OAKY;AAAE,mGALZ,iCAAkB,OAKY;AAHxE,+CAA0C;AAG4C,4FAH9E,yBAAW,OAG8E;AAFjG,iDAA4C;AAEuD,6FAF3F,2BAAY,OAE2F"}
@@ -1,3 +1,3 @@
1
- import { executeQuery } from './executeQuery';
2
- declare function odataQuery(repositoryOrQueryBuilder: any): (req: any, res: any, next: any) => Promise<any>;
3
- export { odataQuery, executeQuery };
1
+ import { executeQuery } from './executeQuery';
2
+ declare function odataQuery(repositoryOrQueryBuilder: any): (req: any, res: any, next: any) => Promise<any>;
3
+ export { odataQuery, executeQuery };