@feathersjs/knex 5.0.0-pre.35 → 5.0.0-pre.36

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/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [5.0.0-pre.36](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.35...v5.0.0-pre.36) (2023-01-29)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **databases:** Ensure that query sanitization is not necessary when using query schemas ([#3022](https://github.com/feathersjs/feathers/issues/3022)) ([dbf514e](https://github.com/feathersjs/feathers/commit/dbf514e85d1508b95c007462a39b3cadd4ff391d))
11
+ - **databases:** Improve documentation for adapters and allow dynamic Knex adapter options ([#3019](https://github.com/feathersjs/feathers/issues/3019)) ([66c4b5e](https://github.com/feathersjs/feathers/commit/66c4b5e72000dd03acb57fca1cad4737c85c9c9e))
12
+ - Update all dependencies ([#3024](https://github.com/feathersjs/feathers/issues/3024)) ([283dc47](https://github.com/feathersjs/feathers/commit/283dc4798d85584bc031e6e54b83b4ea77d1edd0))
13
+
14
+ ### Features
15
+
16
+ - **database:** Add and to the query syntax ([#3021](https://github.com/feathersjs/feathers/issues/3021)) ([00cb0d9](https://github.com/feathersjs/feathers/commit/00cb0d9c302ae951ae007d3d6ceba33e254edd9c))
17
+
6
18
  # [5.0.0-pre.35](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.34...v5.0.0-pre.35) (2023-01-12)
7
19
 
8
20
  ### Bug Fixes
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2022 Feathers
3
+ Copyright (c) 2023 Feathers Contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -17,6 +17,6 @@ Refer to the [Feathers documentation](https://docs.feathersjs.com) for more deta
17
17
 
18
18
  ## License
19
19
 
20
- Copyright (c) 2022 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
20
+ Copyright (c) 2023 [Feathers contributors](https://github.com/feathersjs/feathers/graphs/contributors)
21
21
 
22
22
  Licensed under the [MIT license](LICENSE).
package/lib/adapter.d.ts CHANGED
@@ -3,20 +3,27 @@ import { AdapterBase, PaginationOptions } from '@feathersjs/adapter-commons';
3
3
  import { Knex } from 'knex';
4
4
  import { KnexAdapterOptions, KnexAdapterParams } from './declarations';
5
5
  export declare class KnexAdapter<Result, Data = Partial<Result>, ServiceParams extends KnexAdapterParams<any> = KnexAdapterParams, PatchData = Partial<Data>> extends AdapterBase<Result, Data, PatchData, ServiceParams, KnexAdapterOptions> {
6
- table: string;
7
6
  schema?: string;
8
7
  constructor(options: KnexAdapterOptions);
9
- get Model(): Knex<any, any[]>;
10
8
  get fullName(): string;
9
+ get Model(): Knex<any, any[]>;
10
+ getModel(params?: ServiceParams): Knex<any, any[]>;
11
11
  db(params?: ServiceParams): Knex.QueryBuilder<any, any>;
12
12
  knexify(knexQuery: Knex.QueryBuilder, query?: Query, parentKey?: string): Knex.QueryBuilder;
13
13
  createQuery(params: ServiceParams): Knex.QueryBuilder<any, any>;
14
14
  filterQuery(params: ServiceParams): {
15
+ paginate: import("@feathersjs/adapter-commons").PaginationParams;
15
16
  filters: {
17
+ $select: string[];
18
+ $sort: {
19
+ [key: string]: 1 | -1;
20
+ };
21
+ $limit: number;
22
+ $skip: number;
23
+ };
24
+ query: {
16
25
  [key: string]: any;
17
26
  };
18
- query: Query;
19
- paginate: import("@feathersjs/adapter-commons").PaginationParams;
20
27
  };
21
28
  _find(params?: ServiceParams & {
22
29
  paginate?: PaginationOptions;
package/lib/adapter.js CHANGED
@@ -37,25 +37,28 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
37
37
  ...options.filters,
38
38
  $and: (value) => value
39
39
  },
40
- operators: [...(options.operators || []), '$like', '$notlike', '$ilike', '$and', '$or']
40
+ operators: [...(options.operators || []), '$like', '$notlike', '$ilike']
41
41
  });
42
- this.table = options.name;
43
- this.schema = options.schema;
42
+ }
43
+ get fullName() {
44
+ const { name, schema } = this.getOptions({});
45
+ return schema ? `${schema}.${name}` : name;
44
46
  }
45
47
  get Model() {
46
- return this.options.Model;
48
+ return this.getModel();
47
49
  }
48
- get fullName() {
49
- return this.schema ? `${this.schema}.${this.table}` : this.table;
50
+ getModel(params) {
51
+ const { Model } = this.getOptions(params);
52
+ return Model;
50
53
  }
51
54
  db(params) {
52
- const { Model, table, schema } = this;
55
+ const { Model, name, schema } = this.getOptions(params);
53
56
  if (params && params.transaction && params.transaction.trx) {
54
57
  const { trx } = params.transaction;
55
58
  // debug('ran %s with transaction %s', fullName, id)
56
- return schema ? trx.withSchema(schema).table(table) : trx(table);
59
+ return schema ? trx.withSchema(schema).table(name) : trx(name);
57
60
  }
58
- return schema ? Model.withSchema(schema).table(table) : Model(table);
61
+ return schema ? Model.withSchema(schema).table(name) : Model(name);
59
62
  }
60
63
  knexify(knexQuery, query = {}, parentKey) {
61
64
  const knexify = this.knexify.bind(this);
@@ -87,16 +90,16 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
87
90
  }, knexQuery);
88
91
  }
89
92
  createQuery(params) {
90
- const { table, id } = this;
93
+ const { name, id } = this.getOptions(params);
91
94
  const { filters, query } = this.filterQuery(params);
92
95
  const builder = this.db(params);
93
96
  // $select uses a specific find syntax, so it has to come first.
94
97
  if (filters.$select) {
95
98
  // always select the id field, but make sure we only select it once
96
- builder.select(...new Set([...filters.$select, `${table}.${id}`]));
99
+ builder.select(...new Set([...filters.$select, `${name}.${id}`]));
97
100
  }
98
101
  else {
99
- builder.select(`${table}.*`);
102
+ builder.select(`${name}.*`);
100
103
  }
101
104
  // build up the knex query out of the query params, include $and and $or filters
102
105
  this.knexify(builder, {
@@ -111,13 +114,19 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
111
114
  }
112
115
  filterQuery(params) {
113
116
  const options = this.getOptions(params);
114
- const { filters, query } = (0, adapter_commons_1.filterQuery)((params === null || params === void 0 ? void 0 : params.query) || {}, options);
115
- return { filters, query, paginate: options.paginate };
117
+ const { $select, $sort, $limit: _limit, $skip = 0, ...query } = (params.query || {});
118
+ const $limit = (0, adapter_commons_1.getLimit)(_limit, options.paginate);
119
+ return {
120
+ paginate: options.paginate,
121
+ filters: { $select, $sort, $limit, $skip },
122
+ query
123
+ };
116
124
  }
117
125
  async _find(params = {}) {
118
126
  const { filters, paginate } = this.filterQuery(params);
127
+ const { name, id } = this.getOptions(params);
119
128
  const builder = params.knex ? params.knex.clone() : this.createQuery(params);
120
- const countBuilder = builder.clone().clearSelect().clearOrder().count(`${this.table}.${this.id} as total`);
129
+ const countBuilder = builder.clone().clearSelect().clearOrder().count(`${name}.${id} as total`);
121
130
  // Handle $limit
122
131
  if (filters.$limit) {
123
132
  builder.limit(filters.$limit);
@@ -128,7 +137,7 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
128
137
  }
129
138
  // provide default sorting if its not set
130
139
  if (!filters.$sort) {
131
- builder.orderBy(`${this.table}.${this.id}`, 'asc');
140
+ builder.orderBy(`${name}.${id}`, 'asc');
132
141
  }
133
142
  const data = filters.$limit === 0 ? [] : await builder.catch(error_handler_1.errorHandler);
134
143
  if (paginate && paginate.default) {
@@ -143,12 +152,13 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
143
152
  return data;
144
153
  }
145
154
  async _findOrGet(id, params) {
155
+ const { name, id: idField } = this.getOptions(params);
146
156
  const findParams = {
147
157
  ...params,
148
158
  paginate: false,
149
159
  query: {
150
160
  ...params === null || params === void 0 ? void 0 : params.query,
151
- ...(id !== null ? { [`${this.table}.${this.id}`]: id } : {})
161
+ ...(id !== null ? { [`${name}.${idField}`]: id } : {})
152
162
  }
153
163
  };
154
164
  return this._find(findParams);
@@ -167,31 +177,35 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
167
177
  }
168
178
  const client = this.db(params).client.config.client;
169
179
  const returning = RETURNING_CLIENTS.includes(client) ? [this.id] : [];
170
- const rows = await this.db(params).insert(data, returning).returning(this.id).catch(error_handler_1.errorHandler);
180
+ const rows = await this.db(params).insert(data, returning).catch(error_handler_1.errorHandler);
171
181
  const id = data[this.id] || rows[0][this.id] || rows[0];
172
182
  if (!id) {
173
183
  return rows;
174
184
  }
175
- return this._get(id, params);
185
+ return this._get(id, {
186
+ ...params,
187
+ query: commons_1._.pick((params === null || params === void 0 ? void 0 : params.query) || {}, '$select')
188
+ });
176
189
  }
177
190
  async _patch(id, raw, params = {}) {
178
191
  var _a, _b;
179
192
  if (id === null && !this.allowsMulti('patch', params)) {
180
193
  throw new errors_1.MethodNotAllowed('Can not patch multiple entries');
181
194
  }
195
+ const { name, id: idField } = this.getOptions(params);
182
196
  const data = commons_1._.omit(raw, this.id);
183
197
  const results = await this._findOrGet(id, {
184
198
  ...params,
185
199
  query: {
186
200
  ...params === null || params === void 0 ? void 0 : params.query,
187
- $select: [`${this.table}.${this.id}`]
201
+ $select: [`${name}.${idField}`]
188
202
  }
189
203
  });
190
- const idList = results.map((current) => current[this.id]);
204
+ const idList = results.map((current) => current[idField]);
191
205
  const updateParams = {
192
206
  ...params,
193
207
  query: {
194
- [`${this.table}.${this.id}`]: { $in: idList },
208
+ [`${name}.${idField}`]: { $in: idList },
195
209
  ...(((_a = params === null || params === void 0 ? void 0 : params.query) === null || _a === void 0 ? void 0 : _a.$select) ? { $select: (_b = params === null || params === void 0 ? void 0 : params.query) === null || _b === void 0 ? void 0 : _b.$select } : {})
196
210
  }
197
211
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/lib/hooks.js CHANGED
@@ -5,7 +5,7 @@ const commons_1 = require("@feathersjs/commons");
5
5
  const debug = (0, commons_1.createDebug)('feathers-knex-transaction');
6
6
  const ROLLBACK = { rollback: true };
7
7
  const getKnex = (context) => {
8
- const knex = context.service.Model;
8
+ const knex = typeof context.service.getModel === 'function' && context.service.getModel(context.params);
9
9
  return knex && typeof knex.transaction === 'function' ? knex : undefined;
10
10
  };
11
11
  exports.getKnex = getKnex;
package/lib/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/knex",
3
3
  "description": "Feathers SQL service adapter using KnexJS",
4
- "version": "5.0.0-pre.35",
4
+ "version": "5.0.0-pre.36",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "keywords": [
@@ -51,24 +51,25 @@
51
51
  "access": "public"
52
52
  },
53
53
  "dependencies": {
54
- "@feathersjs/adapter-commons": "^5.0.0-pre.35",
55
- "@feathersjs/commons": "^5.0.0-pre.35",
56
- "@feathersjs/errors": "^5.0.0-pre.35",
57
- "@feathersjs/feathers": "^5.0.0-pre.35"
54
+ "@feathersjs/adapter-commons": "^5.0.0-pre.36",
55
+ "@feathersjs/commons": "^5.0.0-pre.36",
56
+ "@feathersjs/errors": "^5.0.0-pre.36",
57
+ "@feathersjs/feathers": "^5.0.0-pre.36"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "knex": "^2.3.0"
61
61
  },
62
62
  "devDependencies": {
63
- "@feathersjs/adapter-tests": "^5.0.0-pre.35",
63
+ "@feathersjs/adapter-tests": "^5.0.0-pre.36",
64
+ "@feathersjs/schema": "^5.0.0-pre.36",
64
65
  "@types/mocha": "^10.0.1",
65
66
  "@types/node": "^18.11.18",
66
- "knex": "^2.3.0",
67
+ "knex": "^2.4.2",
67
68
  "mocha": "^10.2.0",
68
- "pg": "^8.8.0",
69
+ "pg": "^8.9.0",
69
70
  "shx": "^0.3.4",
70
71
  "sqlite3": "^5.1.4",
71
72
  "typescript": "^4.9.4"
72
73
  },
73
- "gitHead": "c641598d9a4de3ceda10f56cf2af288a4236b15e"
74
+ "gitHead": "9a107b463cc80d7f3c28553c908987e05b0b634a"
74
75
  }
package/src/adapter.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Id, NullableId, Paginated, Query } from '@feathersjs/feathers'
2
2
  import { _ } from '@feathersjs/commons'
3
- import { AdapterBase, PaginationOptions, filterQuery } from '@feathersjs/adapter-commons'
3
+ import { AdapterBase, PaginationOptions, AdapterQuery, getLimit } from '@feathersjs/adapter-commons'
4
4
  import { BadRequest, MethodNotAllowed, NotFound } from '@feathersjs/errors'
5
5
  import { Knex } from 'knex'
6
6
 
@@ -32,7 +32,6 @@ export class KnexAdapter<
32
32
  ServiceParams extends KnexAdapterParams<any> = KnexAdapterParams,
33
33
  PatchData = Partial<Data>
34
34
  > extends AdapterBase<Result, Data, PatchData, ServiceParams, KnexAdapterOptions> {
35
- table: string
36
35
  schema?: string
37
36
 
38
37
  constructor(options: KnexAdapterOptions) {
@@ -51,30 +50,34 @@ export class KnexAdapter<
51
50
  ...options.filters,
52
51
  $and: (value: any) => value
53
52
  },
54
- operators: [...(options.operators || []), '$like', '$notlike', '$ilike', '$and', '$or']
53
+ operators: [...(options.operators || []), '$like', '$notlike', '$ilike']
55
54
  })
55
+ }
56
56
 
57
- this.table = options.name
58
- this.schema = options.schema
57
+ get fullName() {
58
+ const { name, schema } = this.getOptions({} as ServiceParams)
59
+ return schema ? `${schema}.${name}` : name
59
60
  }
60
61
 
61
62
  get Model() {
62
- return this.options.Model
63
+ return this.getModel()
63
64
  }
64
65
 
65
- get fullName() {
66
- return this.schema ? `${this.schema}.${this.table}` : this.table
66
+ getModel(params?: ServiceParams) {
67
+ const { Model } = this.getOptions(params)
68
+ return Model
67
69
  }
68
70
 
69
71
  db(params?: ServiceParams) {
70
- const { Model, table, schema } = this
72
+ const { Model, name, schema } = this.getOptions(params)
71
73
 
72
74
  if (params && params.transaction && params.transaction.trx) {
73
75
  const { trx } = params.transaction
74
76
  // debug('ran %s with transaction %s', fullName, id)
75
- return schema ? (trx.withSchema(schema).table(table) as Knex.QueryBuilder) : trx(table)
77
+ return schema ? (trx.withSchema(schema).table(name) as Knex.QueryBuilder) : trx(name)
76
78
  }
77
- return schema ? (Model.withSchema(schema).table(table) as Knex.QueryBuilder) : Model(table)
79
+
80
+ return schema ? (Model.withSchema(schema).table(name) as Knex.QueryBuilder) : Model(name)
78
81
  }
79
82
 
80
83
  knexify(knexQuery: Knex.QueryBuilder, query: Query = {}, parentKey?: string): Knex.QueryBuilder {
@@ -116,16 +119,16 @@ export class KnexAdapter<
116
119
  }
117
120
 
118
121
  createQuery(params: ServiceParams) {
119
- const { table, id } = this
122
+ const { name, id } = this.getOptions(params)
120
123
  const { filters, query } = this.filterQuery(params)
121
124
  const builder = this.db(params)
122
125
 
123
126
  // $select uses a specific find syntax, so it has to come first.
124
127
  if (filters.$select) {
125
128
  // always select the id field, but make sure we only select it once
126
- builder.select(...new Set([...filters.$select, `${table}.${id}`]))
129
+ builder.select(...new Set([...filters.$select, `${name}.${id}`]))
127
130
  } else {
128
- builder.select(`${table}.*`)
131
+ builder.select(`${name}.*`)
129
132
  }
130
133
 
131
134
  // build up the knex query out of the query params, include $and and $or filters
@@ -147,9 +150,14 @@ export class KnexAdapter<
147
150
 
148
151
  filterQuery(params: ServiceParams) {
149
152
  const options = this.getOptions(params)
150
- const { filters, query } = filterQuery(params?.query || {}, options)
153
+ const { $select, $sort, $limit: _limit, $skip = 0, ...query } = (params.query || {}) as AdapterQuery
154
+ const $limit = getLimit(_limit, options.paginate)
151
155
 
152
- return { filters, query, paginate: options.paginate }
156
+ return {
157
+ paginate: options.paginate,
158
+ filters: { $select, $sort, $limit, $skip },
159
+ query
160
+ }
153
161
  }
154
162
 
155
163
  async _find(params?: ServiceParams & { paginate?: PaginationOptions }): Promise<Paginated<Result>>
@@ -157,8 +165,9 @@ export class KnexAdapter<
157
165
  async _find(params?: ServiceParams): Promise<Paginated<Result> | Result[]>
158
166
  async _find(params: ServiceParams = {} as ServiceParams): Promise<Paginated<Result> | Result[]> {
159
167
  const { filters, paginate } = this.filterQuery(params)
168
+ const { name, id } = this.getOptions(params)
160
169
  const builder = params.knex ? params.knex.clone() : this.createQuery(params)
161
- const countBuilder = builder.clone().clearSelect().clearOrder().count(`${this.table}.${this.id} as total`)
170
+ const countBuilder = builder.clone().clearSelect().clearOrder().count(`${name}.${id} as total`)
162
171
 
163
172
  // Handle $limit
164
173
  if (filters.$limit) {
@@ -172,7 +181,7 @@ export class KnexAdapter<
172
181
 
173
182
  // provide default sorting if its not set
174
183
  if (!filters.$sort) {
175
- builder.orderBy(`${this.table}.${this.id}`, 'asc')
184
+ builder.orderBy(`${name}.${id}`, 'asc')
176
185
  }
177
186
 
178
187
  const data = filters.$limit === 0 ? [] : await builder.catch(errorHandler)
@@ -192,12 +201,13 @@ export class KnexAdapter<
192
201
  }
193
202
 
194
203
  async _findOrGet(id: NullableId, params?: ServiceParams) {
204
+ const { name, id: idField } = this.getOptions(params)
195
205
  const findParams = {
196
206
  ...params,
197
207
  paginate: false,
198
208
  query: {
199
209
  ...params?.query,
200
- ...(id !== null ? { [`${this.table}.${this.id}`]: id } : {})
210
+ ...(id !== null ? { [`${name}.${idField}`]: id } : {})
201
211
  }
202
212
  }
203
213
 
@@ -229,14 +239,17 @@ export class KnexAdapter<
229
239
 
230
240
  const client = this.db(params).client.config.client
231
241
  const returning = RETURNING_CLIENTS.includes(client as string) ? [this.id] : []
232
- const rows: any = await this.db(params).insert(data, returning).returning(this.id).catch(errorHandler)
242
+ const rows: any = await this.db(params).insert(data, returning).catch(errorHandler)
233
243
  const id = data[this.id] || rows[0][this.id] || rows[0]
234
244
 
235
245
  if (!id) {
236
246
  return rows as Result[]
237
247
  }
238
248
 
239
- return this._get(id, params)
249
+ return this._get(id, {
250
+ ...params,
251
+ query: _.pick(params?.query || {}, '$select')
252
+ })
240
253
  }
241
254
 
242
255
  async _patch(id: null, data: PatchData, params?: ServiceParams): Promise<Result[]>
@@ -251,19 +264,20 @@ export class KnexAdapter<
251
264
  throw new MethodNotAllowed('Can not patch multiple entries')
252
265
  }
253
266
 
267
+ const { name, id: idField } = this.getOptions(params)
254
268
  const data = _.omit(raw, this.id)
255
269
  const results = await this._findOrGet(id, {
256
270
  ...params,
257
271
  query: {
258
272
  ...params?.query,
259
- $select: [`${this.table}.${this.id}`]
273
+ $select: [`${name}.${idField}`]
260
274
  }
261
275
  })
262
- const idList = results.map((current: any) => current[this.id])
276
+ const idList = results.map((current: any) => current[idField])
263
277
  const updateParams = {
264
278
  ...params,
265
279
  query: {
266
- [`${this.table}.${this.id}`]: { $in: idList },
280
+ [`${name}.${idField}`]: { $in: idList },
267
281
  ...(params?.query?.$select ? { $select: params?.query?.$select } : {})
268
282
  }
269
283
  }
package/src/hooks.ts CHANGED
@@ -8,7 +8,7 @@ const debug = createDebug('feathers-knex-transaction')
8
8
  const ROLLBACK = { rollback: true }
9
9
 
10
10
  export const getKnex = (context: HookContext): Knex => {
11
- const knex = context.service.Model
11
+ const knex = typeof context.service.getModel === 'function' && context.service.getModel(context.params)
12
12
 
13
13
  return knex && typeof knex.transaction === 'function' ? knex : undefined
14
14
  }
@@ -45,7 +45,6 @@ export const start =
45
45
  transaction.id = Date.now()
46
46
 
47
47
  context.params = { ...context.params, transaction }
48
-
49
48
  debug('started a new transaction %s', transaction.id)
50
49
 
51
50
  resolve()