@feathersjs/knex 5.0.0-pre.34 → 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,29 @@
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
+
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)
19
+
20
+ ### Bug Fixes
21
+
22
+ - **databases:** Make sure adapter method signatures are exported properly ([#2943](https://github.com/feathersjs/feathers/issues/2943)) ([458d668](https://github.com/feathersjs/feathers/commit/458d66859e256c5854e7590f0b4a11b233fe0374))
23
+ - **knex:** Ensure custom ids are returned on create ([#2934](https://github.com/feathersjs/feathers/issues/2934)) ([c4fa3cf](https://github.com/feathersjs/feathers/commit/c4fa3cf812d59e6e8e3831ab098bb8768c92e8f4))
24
+
25
+ ### Features
26
+
27
+ - **generators:** Move core code generators to shared generators package ([#2982](https://github.com/feathersjs/feathers/issues/2982)) ([0328d22](https://github.com/feathersjs/feathers/commit/0328d2292153870bc43958f73d2c6f288a8cec17))
28
+
6
29
  # [5.0.0-pre.34](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.33...v5.0.0-pre.34) (2022-12-14)
7
30
 
8
31
  ### Features
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);
@@ -172,26 +182,30 @@ class KnexAdapter extends adapter_commons_1.AdapterBase {
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":";;;AACA,iDAAuC;AACvC,iEAAyF;AACzF,+CAA2E;AAG3E,mDAA8C;AAE9C,MAAM,OAAO,GAAG;IACd,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,UAAU;CACjB,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,OAAO;CAChB,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;AAEnE,MAAa,WAKX,SAAQ,6BAAuE;IAI/E,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;SAC1E;QAED,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;SAC5C;QAED,KAAK,CAAC;YACJ,EAAE,EAAE,IAAI;YACR,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,OAAO,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK;aAC5B;YACD,SAAS,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;SACxF,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;IAClE,CAAC;IAED,EAAE,CAAC,MAAsB;QACvB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAErC,IAAI,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;YAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,WAAW,CAAA;YAClC,oDAAoD;YACpD,OAAO,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAuB,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;SACxF;QACD,OAAO,MAAM,CAAC,CAAC,CAAE,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7F,CAAC;IAED,OAAO,CAAC,SAA4B,EAAE,QAAe,EAAE,EAAE,SAAkB;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEvC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE;YAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;YAExB,IAAI,WAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACrB,OAAO,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;aACzC;YAED,MAAM,MAAM,GAAG,SAAS,IAAI,GAAG,CAAA;YAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAA2B,CAAC,CAAA;YAEnD,IAAI,MAAM,EAAE;gBACV,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;oBACnC,kCAAkC;oBAClC,YAAY,CAAC,KAAK,CAAC;wBACjB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;4BAC7B,IAAI,CAAC,MAAM,CAAC,CAAC;gCACX,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;4BAC1B,CAAC,CAAC,CAAA;yBACH;oBACH,CAAC,CAAC,CAAA;oBAEF,OAAO,YAAY,CAAA;iBACpB;gBAED,OAAQ,YAAoB,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;aACpD;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,GAA6B,CAAC,IAAI,GAAG,CAAA;YAEhE,OAAO,QAAQ,KAAK,GAAG;gBACrB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;gBACnC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QACjD,CAAC,EAAE,SAAS,CAAC,CAAA;IACf,CAAC;IAED,WAAW,CAAC,MAAqB;QAC/B,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAA;QAC1B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QAE/B,gEAAgE;QAChE,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,mEAAmE;YACnE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;SACnE;aAAM;YACL,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,CAAA;SAC7B;QAED,gFAAgF;QAChF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpB,GAAG,KAAK;YACR,GAAG,WAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;SAClC,CAAC,CAAA;QAEF,eAAe;QACf,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CACtC,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAC3F,OAAO,CACR,CAAA;SACF;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,WAAW,CAAC,MAAqB;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,6BAAW,EAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,EAAE,EAAE,OAAO,CAAC,CAAA;QAEpE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;IACvD,CAAC;IAKD,KAAK,CAAC,KAAK,CAAC,SAAwB,EAAmB;QACrD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACtD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,WAAW,CAAC,CAAA;QAE1G,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SAC9B;QAED,eAAe;QACf,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;SAC9B;QAED,yCAAyC;QACzC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;SACnD;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,4BAAY,CAAC,CAAA;QAE1E,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;YAChC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAEzF,OAAO;gBACL,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBACxB,IAAI;aACL,CAAA;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAc,EAAE,MAAsB;QACrD,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK;gBAChB,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7D;SACF,CAAA;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,UAAiB,CAA6B,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAM,EAAE,SAAwB,EAAmB;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAE9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;SACrD;QAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAKD,KAAK,CAAC,OAAO,CACX,KAAoB,EACpB,SAAwB,EAAmB;QAE3C,MAAM,IAAI,GAAG,KAAY,CAAA;QAEzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;SACzE;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAA;QACnD,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/E,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,4BAAY,CAAC,CAAA;QACnF,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;QAEvD,IAAI,CAAC,EAAE,EAAE;YACP,OAAO,IAAgB,CAAA;SACxB;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IAKD,KAAK,CAAC,MAAM,CACV,EAAc,EACd,GAAc,EACd,SAAwB,EAAmB;;QAE3C,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YACrD,MAAM,IAAI,yBAAgB,CAAC,gCAAgC,CAAC,CAAA;SAC7D;QAED,MAAM,IAAI,GAAG,WAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;YACxC,GAAG,MAAM;YACT,KAAK,EAAE;gBACL,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK;gBAChB,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;aACtC;SACF,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC9D,MAAM,YAAY,GAAG;YACnB,GAAG,MAAM;YACT,KAAK,EAAE;gBACL,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;gBAC7C,GAAG,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,OAAO,EAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvE;SACF,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;QAE9C,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAEvD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;aAChB;iBAAM;gBACL,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;aACrD;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAM,EAAE,KAAW,EAAE,SAAwB,EAAmB;QAC5E,IAAI,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvC,MAAM,IAAI,mBAAU,CAAC,+DAA+D,CAAC,CAAA;SACtF;QAED,MAAM,IAAI,GAAG,WAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAW,EAAE,GAAG,EAAE,EAAE;YACjE,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE;gBACnB,2CAA2C;gBAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aACzD;YAED,OAAO,MAAM,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAE/D,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,EAAc,EAAE,SAAwB,EAAmB;QACvE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACtD,MAAM,IAAI,yBAAgB,CAAC,iCAAiC,CAAC,CAAA;SAC9D;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAE5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;QAEhC,kDAAkD;QAClD,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAEtB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,4BAAY,CAAC,CAAA;QAEjC,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;aAChB;YAED,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;SACrD;QAED,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AArTD,kCAqTC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ function errorHandler(error) {
66
66
  // NOTE: Error codes taken from
67
67
  // https://www.postgresql.org/docs/9.6/static/errcodes-appendix.html
68
68
  // Omit query information
69
- const messages = error.message.split('-');
69
+ const messages = (error.message || '').split('-');
70
70
  error.message = messages[messages.length - 1];
71
71
  switch (error.code.slice(0, 2)) {
72
72
  case '22':
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../src/error-handler.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/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PaginationOptions } from '@feathersjs/adapter-commons';
2
- import { Paginated, ServiceMethods, Id, Params } from '@feathersjs/feathers';
2
+ import { Paginated, ServiceMethods, Id, NullableId, Params } from '@feathersjs/feathers';
3
3
  import { KnexAdapter } from './adapter';
4
4
  import { KnexAdapterParams } from './declarations';
5
5
  export * from './declarations';
@@ -17,9 +17,12 @@ export declare class KnexService<Result = any, Data = Partial<Result>, ServicePa
17
17
  get(id: Id, params?: ServiceParams): Promise<Result>;
18
18
  create(data: Data, params?: ServiceParams): Promise<Result>;
19
19
  create(data: Data[], params?: ServiceParams): Promise<Result[]>;
20
+ create(data: Data | Data[], params?: ServiceParams): Promise<Result | Result[]>;
20
21
  update(id: Id, data: Data, params?: ServiceParams): Promise<Result>;
21
22
  patch(id: Id, data: PatchData, params?: ServiceParams): Promise<Result>;
22
23
  patch(id: null, data: PatchData, params?: ServiceParams): Promise<Result[]>;
24
+ patch(id: NullableId, data: PatchData, params?: ServiceParams): Promise<Result | Result[]>;
23
25
  remove(id: Id, params?: ServiceParams): Promise<Result>;
24
26
  remove(id: null, params?: ServiceParams): Promise<Result[]>;
27
+ remove(id: NullableId, params?: ServiceParams): Promise<Result | Result[]>;
25
28
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAAyD;AAEzD,uCAAuC;AAGvC,iDAA8B;AAC9B,4CAAyB;AACzB,kDAA+B;AAC/B,uDAAsC;AAEtC,MAAa,WAMX,SAAQ,qBAAmD;IAM3D,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAM,EAAE,MAAsB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACnB,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,IAAmB,EAAE,MAAsB;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC9D,MAAM,IAAI,sBAAgB,CAAC,iCAAiC,CAAC,CAAA;SAC9D;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM,EAAE,IAAU,EAAE,MAAsB;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE;YAC5B,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,KAAK,CAAC,EAAc,EAAE,IAAe,EAAE,MAAsB;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE7D,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;YAC3B,GAAG,MAAM;YACT,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,EAAc,EAAE,MAAsB;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE7D,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACtB,GAAG,MAAM;YACT,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;CACF;AAhED,kCAgEC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gDAAyD;AAEzD,uCAAuC;AAGvC,iDAA8B;AAC9B,4CAAyB;AACzB,kDAA+B;AAC/B,uDAAsC;AAEtC,MAAa,WAMX,SAAQ,qBAAmD;IAM3D,KAAK,CAAC,IAAI,CAAC,MAAsB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC;YAChB,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAM,EAAE,MAAsB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;YACnB,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,IAAmB,EAAE,MAAsB;QACtD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YAC9D,MAAM,IAAI,sBAAgB,CAAC,iCAAiC,CAAC,CAAA;SAC9D;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM,EAAE,IAAU,EAAE,MAAsB;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE;YAC5B,GAAG,MAAM;YACT,KAAK,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAKD,KAAK,CAAC,KAAK,CAAC,EAAc,EAAE,IAAe,EAAE,MAAsB;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE7D,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;YAC3B,GAAG,MAAM;YACT,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,EAAc,EAAE,MAAsB;QACjD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAE7D,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YACtB,GAAG,MAAM;YACT,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;CACF;AAnED,kCAmEC"}
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.34",
4
+ "version": "5.0.0-pre.36",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "keywords": [
@@ -40,7 +40,7 @@
40
40
  ],
41
41
  "scripts": {
42
42
  "prepublish": "npm run compile",
43
- "pack": "npm pack --pack-destination ../cli/test/build",
43
+ "pack": "npm pack --pack-destination ../generators/test/build",
44
44
  "compile": "shx rm -rf lib/ && tsc && npm run pack",
45
45
  "test": "mocha --config ../../.mocharc.json --recursive test/**.test.ts test/**/*.test.ts"
46
46
  },
@@ -51,24 +51,25 @@
51
51
  "access": "public"
52
52
  },
53
53
  "dependencies": {
54
- "@feathersjs/adapter-commons": "^5.0.0-pre.34",
55
- "@feathersjs/commons": "^5.0.0-pre.34",
56
- "@feathersjs/errors": "^5.0.0-pre.34",
57
- "@feathersjs/feathers": "^5.0.0-pre.34"
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.34",
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
- "@types/node": "^18.11.10",
66
- "knex": "^2.3.0",
67
- "mocha": "^10.1.0",
68
- "pg": "^8.8.0",
66
+ "@types/node": "^18.11.18",
67
+ "knex": "^2.4.2",
68
+ "mocha": "^10.2.0",
69
+ "pg": "^8.9.0",
69
70
  "shx": "^0.3.4",
70
- "sqlite3": "^5.1.2",
71
- "typescript": "^4.9.3"
71
+ "sqlite3": "^5.1.4",
72
+ "typescript": "^4.9.4"
72
73
  },
73
- "gitHead": "42cca600d00f0b3b9d89fa79be30fcd46bc50132"
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
 
@@ -236,7 +246,10 @@ export class KnexAdapter<
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
  }
@@ -65,7 +65,8 @@ export function errorHandler(error: any) {
65
65
  // NOTE: Error codes taken from
66
66
  // https://www.postgresql.org/docs/9.6/static/errcodes-appendix.html
67
67
  // Omit query information
68
- const messages = error.message.split('-')
68
+ const messages = (error.message || '').split('-')
69
+
69
70
  error.message = messages[messages.length - 1]
70
71
 
71
72
  switch (error.code.slice(0, 2)) {
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()
package/src/index.ts CHANGED
@@ -37,6 +37,7 @@ export class KnexService<
37
37
 
38
38
  async create(data: Data, params?: ServiceParams): Promise<Result>
39
39
  async create(data: Data[], params?: ServiceParams): Promise<Result[]>
40
+ async create(data: Data | Data[], params?: ServiceParams): Promise<Result | Result[]>
40
41
  async create(data: Data | Data[], params?: ServiceParams): Promise<Result | Result[]> {
41
42
  if (Array.isArray(data) && !this.allowsMulti('create', params)) {
42
43
  throw new MethodNotAllowed('Can not create multiple entries')
@@ -54,6 +55,7 @@ export class KnexService<
54
55
 
55
56
  async patch(id: Id, data: PatchData, params?: ServiceParams): Promise<Result>
56
57
  async patch(id: null, data: PatchData, params?: ServiceParams): Promise<Result[]>
58
+ async patch(id: NullableId, data: PatchData, params?: ServiceParams): Promise<Result | Result[]>
57
59
  async patch(id: NullableId, data: PatchData, params?: ServiceParams): Promise<Result | Result[]> {
58
60
  const { $limit, ...query } = await this.sanitizeQuery(params)
59
61
 
@@ -65,6 +67,7 @@ export class KnexService<
65
67
 
66
68
  async remove(id: Id, params?: ServiceParams): Promise<Result>
67
69
  async remove(id: null, params?: ServiceParams): Promise<Result[]>
70
+ async remove(id: NullableId, params?: ServiceParams): Promise<Result | Result[]>
68
71
  async remove(id: NullableId, params?: ServiceParams): Promise<Result | Result[]> {
69
72
  const { $limit, ...query } = await this.sanitizeQuery(params)
70
73