@feathersjs/mongodb 5.0.0-pre.22 → 5.0.0-pre.25

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,34 @@
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.25](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.24...v5.0.0-pre.25) (2022-06-22)
7
+
8
+ **Note:** Version bump only for package @feathersjs/mongodb
9
+
10
+
11
+
12
+
13
+
14
+ # [5.0.0-pre.24](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.23...v5.0.0-pre.24) (2022-06-21)
15
+
16
+
17
+ ### Features
18
+
19
+ * **authentication-local:** Add passwordHash property resolver ([#2660](https://github.com/feathersjs/feathers/issues/2660)) ([b41279b](https://github.com/feathersjs/feathers/commit/b41279b55eea3771a6fa4983a37be2413287bbc6))
20
+ * **knex:** Add KnexJS SQL database adapter to core ([#2671](https://github.com/feathersjs/feathers/issues/2671)) ([9380fff](https://github.com/feathersjs/feathers/commit/9380fff58596e8bb90b8bb098d2795b7eadfec20))
21
+
22
+
23
+
24
+
25
+
26
+ # [5.0.0-pre.23](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.22...v5.0.0-pre.23) (2022-06-06)
27
+
28
+ **Note:** Version bump only for package @feathersjs/mongodb
29
+
30
+
31
+
32
+
33
+
6
34
  # [5.0.0-pre.22](https://github.com/feathersjs/feathers/compare/v5.0.0-pre.21...v5.0.0-pre.22) (2022-05-24)
7
35
 
8
36
  **Note:** Version bump only for package @feathersjs/mongodb
package/lib/adapter.js CHANGED
@@ -29,7 +29,9 @@ class MongoDbAdapter extends adapter_commons_1.AdapterBase {
29
29
  filterQuery(id, params) {
30
30
  const { $select, $sort, $limit, $skip, ...query } = (params.query || {});
31
31
  if (id !== null) {
32
- query.$and = (query.$and || []).concat({ [this.id]: this.getObjectId(id) });
32
+ query.$and = (query.$and || []).concat({
33
+ [this.id]: this.getObjectId(id)
34
+ });
33
35
  }
34
36
  if (query[this.id]) {
35
37
  query[this.id] = this.getObjectId(query[this.id]);
@@ -70,18 +72,21 @@ class MongoDbAdapter extends adapter_commons_1.AdapterBase {
70
72
  async $get(id, params = {}) {
71
73
  const { Model } = this.getOptions(params);
72
74
  const { query, filters: { $select } } = this.filterQuery(id, params);
73
- const projection = $select ? {
74
- projection: {
75
- ...this.getSelect($select),
76
- [this.id]: 1
75
+ const projection = $select
76
+ ? {
77
+ projection: {
78
+ ...this.getSelect($select),
79
+ [this.id]: 1
80
+ }
77
81
  }
78
- } : {};
82
+ : {};
79
83
  const findOptions = {
80
84
  ...params.mongodb,
81
85
  ...projection
82
86
  };
83
- return Promise.resolve(Model).then(model => model.findOne(query, findOptions))
84
- .then(data => {
87
+ return Promise.resolve(Model)
88
+ .then((model) => model.findOne(query, findOptions))
89
+ .then((data) => {
85
90
  if (data == null) {
86
91
  throw new errors_1.NotFound(`No record found for id '${id}'`);
87
92
  }
@@ -114,12 +119,12 @@ class MongoDbAdapter extends adapter_commons_1.AdapterBase {
114
119
  data: filters.$limit === 0 ? [] : (await q.toArray())
115
120
  });
116
121
  if (paginate && paginate.default) {
117
- if (useEstimatedDocumentCount && (typeof model.estimatedDocumentCount === 'function')) {
122
+ if (useEstimatedDocumentCount && typeof model.estimatedDocumentCount === 'function') {
118
123
  return model.estimatedDocumentCount().then(runQuery);
119
124
  }
120
125
  return model.countDocuments(query, findOptions).then(runQuery);
121
126
  }
122
- return runQuery(0).then(page => page.data);
127
+ return runQuery(0).then((page) => page.data);
123
128
  }
124
129
  async $create(data, params = {}) {
125
130
  const writeOptions = params.mongodb;
@@ -137,15 +142,19 @@ class MongoDbAdapter extends adapter_commons_1.AdapterBase {
137
142
  return entry;
138
143
  };
139
144
  const promise = Array.isArray(data)
140
- ? model.insertMany(data.map(setId), writeOptions).then(async (result) => Promise.all(Object.values(result.insertedIds).map(async (_id) => model.findOne({ _id }))))
141
- : model.insertOne(setId(data), writeOptions).then(async (result) => model.findOne({ _id: result.insertedId }));
145
+ ? model
146
+ .insertMany(data.map(setId), writeOptions)
147
+ .then(async (result) => Promise.all(Object.values(result.insertedIds).map(async (_id) => model.findOne({ _id }))))
148
+ : model
149
+ .insertOne(setId(data), writeOptions)
150
+ .then(async (result) => model.findOne({ _id: result.insertedId }));
142
151
  return promise.then((0, adapter_commons_1.select)(params, this.id)).catch(error_handler_1.errorHandler);
143
152
  }
144
153
  async $patch(id, _data, params = {}) {
145
154
  const data = this.normalizeId(id, _data);
146
155
  const { Model } = this.getOptions(params);
147
156
  const model = await Promise.resolve(Model);
148
- const { query, filters: { $select, $limit } } = this.filterQuery(id, params);
157
+ const { query, filters: { $select } } = this.filterQuery(id, params);
149
158
  const updateOptions = { ...params.mongodb };
150
159
  const modifier = Object.keys(data).reduce((current, key) => {
151
160
  const value = data[key];
@@ -168,13 +177,12 @@ class MongoDbAdapter extends adapter_commons_1.AdapterBase {
168
177
  },
169
178
  paginate: false
170
179
  });
171
- const items = (Array.isArray(originalIds) ? originalIds : [originalIds]);
180
+ const items = Array.isArray(originalIds) ? originalIds : [originalIds];
172
181
  const idList = items.map((item) => item[this.id]);
173
182
  const findParams = {
174
183
  ...params,
175
184
  paginate: false,
176
185
  query: {
177
- ...($limit === 0 ? { $limit: 0 } : {}),
178
186
  [this.id]: { $in: idList },
179
187
  $select
180
188
  }
@@ -193,14 +201,13 @@ class MongoDbAdapter extends adapter_commons_1.AdapterBase {
193
201
  async $remove(id, params = {}) {
194
202
  const { Model } = this.getOptions(params);
195
203
  const model = await Promise.resolve(Model);
196
- const { query, filters: { $select, $limit } } = this.filterQuery(id, params);
204
+ const { query, filters: { $select } } = this.filterQuery(id, params);
197
205
  const deleteOptions = { ...params.mongodb };
198
206
  const findParams = {
199
207
  ...params,
200
208
  paginate: false,
201
209
  query: {
202
210
  ...query,
203
- ...($limit === 0 ? { $limit: 0 } : {}),
204
211
  $select
205
212
  }
206
213
  };
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":";;;AAAA,qCAGgB;AAChB,+CAA6C;AAC7C,iDAAuC;AACvC,iEAAwI;AAExI,mDAA8C;AAY9C,sBAAsB;AACtB,MAAa,cACT,SAAQ,6BAA2C;IACrD,YAAa,OAA8B;QACzC,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;SACvD;QAED,KAAK,CAAC;YACJ,EAAE,EAAE,KAAK;YACT,GAAG,OAAO;SACX,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAE,EAAe;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACjC,OAAO,EAAE,CAAA;SACV;QAED,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YAC7C,EAAE,GAAG,IAAI,kBAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;SACjC;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED,WAAW,CAAE,EAAc,EAAE,MAAS;QACpC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAiB,CAAC;QAEzF,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;SAC5E;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;SAClD;QAED,OAAO;YACL,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;YAC1C,KAAK;SACN,CAAA;IACH,CAAC;IAED,SAAS,CAAE,MAA0C;QACnD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,MAAM,CAA4B,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChE,GAAG,KAAK;gBACR,CAAC,IAAI,CAAC,EAAE,CAAC;aACV,CAAC,EAAE,EAAE,CAAC,CAAA;SACR;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,UAAU,CAAE,EAAc,EAAE,MAAS;QACzC,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC7E,CAAC;IAED,WAAW,CAAE,EAAc,EAAE,IAAgB;QAC3C,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;YACrB,iEAAiE;YACjE,sBAAsB;YACtB,OAAO,WAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;SAC7B;aAAM,IAAI,EAAE,KAAK,IAAI,EAAE;YACtB,6DAA6D;YAC7D,oDAAoD;YACpD,OAAO;gBACL,GAAG,IAAI;gBACP,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;aACd,CAAA;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI,CAAE,EAAM,EAAE,SAAY,EAAO;QACrC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC;YAC3B,UAAU,EAAE;gBACV,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC1B,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;aACb;SACF,CAAC,CAAC,CAAC,EAAE,CAAA;QACN,MAAM,WAAW,GAAgB;YAC/B,GAAG,MAAM,CAAC,OAAO;YACjB,GAAG,UAAU;SACd,CAAA;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aAC3E,IAAI,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,IAAI,iBAAQ,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAA;aACrD;YAED,OAAO,IAAI,CAAA;QACb,CAAC,CAAC;aACD,KAAK,CAAC,4BAAY,CAAC,CAAA;IACxB,CAAC;IAKD,KAAK,CAAC,KAAK,CAAE,SAAY,EAAO;QAC9B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACzD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,yBAAyB,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC9E,MAAM,WAAW,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAExC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;YACjC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;SAC3C;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;SACtB;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;YAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;SACxB;QAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;SACtB;QAED,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC;YACzC,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;YACxB,IAAI,EAAE,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAe;SACpE,CAAC,CAAA;QAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;YAChC,IAAI,yBAAyB,IAAI,CAAC,OAAO,KAAK,CAAC,sBAAsB,KAAK,UAAU,CAAC,EAAE;gBACrF,OAAO,KAAK,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACrD;YAED,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;SAC/D;QAED,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5C,CAAC;IAKD,KAAK,CAAC,OAAO,CAAE,IAA6B,EAAE,SAAY,EAAO;QAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAA;QACnC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,CAAC,IAAS,EAAE,EAAE;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YAErC,2CAA2C;YAC3C,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,WAAW,EAAE;gBAC9D,OAAO;oBACL,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE;oBACvC,GAAG,KAAK;iBACT,CAAA;aACF;YAED,OAAO,KAAK,CAAA;QACd,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE,CACpE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CACxF;YACD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE,CAC/D,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAC1C,CAAA;QAEH,OAAO,OAAO,CAAC,IAAI,CAAC,IAAA,wBAAM,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,4BAAY,CAAC,CAAA;IAClE,CAAC;IAKD,KAAK,CAAC,MAAM,CAAE,EAAc,EAAE,KAAiB,EAAE,SAAY,EAAO;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;QACxC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5E,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;YACzD,MAAM,KAAK,GAAI,IAAY,CAAC,GAAG,CAAC,CAAA;YAEhC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACzB,OAAO,CAAC,IAAI,GAAG;oBACb,GAAG,OAAO,CAAC,IAAI;oBACf,CAAC,GAAG,CAAC,EAAE,KAAK;iBACb,CAAA;aACF;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;aACrB;YAED,OAAO,OAAO,CAAA;QAChB,CAAC,EAAE,EAAS,CAAC,CAAA;QACb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;YAC5C,GAAG,MAAM;YACT,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,OAAO,EAAE,CAAE,IAAI,CAAC,EAAE,CAAE;aACrB;YACD,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAA;QACF,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;gBAC1B,OAAO;aACR;SACF,CAAA;QAED,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;QAEtD,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,4BAAY,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,OAAO,CAAE,EAAM,EAAE,IAAO,EAAE,SAAY,EAAO;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC9C,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAE5C,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAA;QAEzE,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,4BAAY,CAAC,CAAA;IACxD,CAAC;IAKD,KAAK,CAAC,OAAO,CAAE,EAAc,EAAE,SAAY,EAAO;QAChD,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC1C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAC5E,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAA;QAC3C,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,OAAO;aACR;SACF,CAAA;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC;aACnC,IAAI,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;YAClB,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC,CAAC;aACD,KAAK,CAAC,4BAAY,CAAC,CAAA;IACxB,CAAC;CACF;AAjQD,wCAiQC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":";;;AAAA,+CAAiD;AAGjD,SAAgB,YAAY,CAAE,KAAiB;IAC7C,kEAAkE;IAClE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACzD,MAAM,IAAI,qBAAY,CAAC,KAAK,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;KACH;IAED,MAAM,KAAK,CAAA;AACb,CAAC;AAVD,oCAUC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../src/error-handler.ts"],"names":[],"mappings":";;;AAAA,+CAAiD;AAGjD,SAAgB,YAAY,CAAC,KAAiB;IAC5C,kEAAkE;IAClE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACzD,MAAM,IAAI,qBAAY,CAAC,KAAK,EAAE;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAA;KACH;IAED,MAAM,KAAK,CAAA;AACb,CAAC;AAVD,oCAUC"}
package/lib/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { Paginated, ServiceMethods, Id } from '@feathersjs/feathers';
3
3
  import { MongoDbAdapter, MongoDBAdapterParams } from './adapter';
4
4
  export * from './adapter';
5
5
  export * from './error-handler';
6
- export declare class MongoDBService<T = any, D = Partial<T>, P extends MongoDBAdapterParams = MongoDBAdapterParams> extends MongoDbAdapter<T, D, P> implements ServiceMethods<T | Paginated<T>, D, P> {
6
+ export declare class MongoDBService<T = any, D = Partial<T>, P extends MongoDBAdapterParams<any> = MongoDBAdapterParams> extends MongoDbAdapter<T, D, P> implements ServiceMethods<T | Paginated<T>, D, P> {
7
7
  find(params?: P & {
8
8
  paginate?: PaginationOptions;
9
9
  }): Promise<Paginated<T>>;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,uCAAgE;AAEhE,4CAAyB;AACzB,kDAA+B;AAE/B,MAAa,cACX,SAAQ,wBAAuB;IAI/B,KAAK,CAAC,IAAI,CAAE,MAAU;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAE,EAAM,EAAE,MAAU;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IAID,KAAK,CAAC,MAAM,CAAE,IAA6B,EAAE,MAAU;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAE,EAAM,EAAE,IAAO,EAAE,MAAU;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAID,KAAK,CAAC,KAAK,CAAE,EAAc,EAAE,IAAgB,EAAE,MAAU;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAID,KAAK,CAAC,MAAM,CAAE,EAAc,EAAE,MAAU;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;CACF;AAlCD,wCAkCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,uCAAgE;AAEhE,4CAAyB;AACzB,kDAA+B;AAE/B,MAAa,cAKX,SAAQ,wBAAuB;IAM/B,KAAK,CAAC,IAAI,CAAC,MAAU;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAM,EAAE,MAAU;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,IAA+B,EAAE,MAAU;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAM,EAAE,IAAO,EAAE,MAAU;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;IAID,KAAK,CAAC,KAAK,CAAC,EAAc,EAAE,IAAgB,EAAE,MAAU;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAID,KAAK,CAAC,MAAM,CAAC,EAAc,EAAE,MAAU;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC;CACF;AAxCD,wCAwCC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@feathersjs/mongodb",
3
3
  "description": "Feathers MongoDB service adapter",
4
- "version": "5.0.0-pre.22",
4
+ "version": "5.0.0-pre.25",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "main": "lib/",
7
7
  "keywords": [
@@ -50,22 +50,22 @@
50
50
  "access": "public"
51
51
  },
52
52
  "dependencies": {
53
- "@feathersjs/adapter-commons": "^5.0.0-pre.22",
54
- "@feathersjs/commons": "^5.0.0-pre.22",
55
- "@feathersjs/errors": "^5.0.0-pre.22",
56
- "@feathersjs/feathers": "^5.0.0-pre.22"
53
+ "@feathersjs/adapter-commons": "^5.0.0-pre.25",
54
+ "@feathersjs/commons": "^5.0.0-pre.25",
55
+ "@feathersjs/errors": "^5.0.0-pre.25",
56
+ "@feathersjs/feathers": "^5.0.0-pre.25"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "mongodb": "^4.5.0"
60
60
  },
61
61
  "devDependencies": {
62
- "@feathersjs/adapter-tests": "^5.0.0-pre.22",
62
+ "@feathersjs/adapter-tests": "^5.0.0-pre.25",
63
63
  "@types/mocha": "^9.1.1",
64
- "@types/node": "^17.0.31",
64
+ "@types/node": "^17.0.40",
65
65
  "mocha": "^10.0.0",
66
- "mongodb-memory-server": "^8.5.2",
66
+ "mongodb-memory-server": "^8.6.0",
67
67
  "shx": "^0.3.4",
68
- "typescript": "^4.6.4"
68
+ "typescript": "^4.7.3"
69
69
  },
70
- "gitHead": "e452e02063e6d8943a9cae2315ab585bc4f82fb6"
70
+ "gitHead": "c0ab3b603920dff6e9c912b2767cf168094d45c8"
71
71
  }
package/src/adapter.ts CHANGED
@@ -1,27 +1,50 @@
1
1
  import {
2
- ObjectId, Collection, FindOptions, BulkWriteOptions,
3
- InsertOneOptions, DeleteOptions, CountDocumentsOptions, ReplaceOptions
2
+ ObjectId,
3
+ Collection,
4
+ FindOptions,
5
+ BulkWriteOptions,
6
+ InsertOneOptions,
7
+ DeleteOptions,
8
+ CountDocumentsOptions,
9
+ ReplaceOptions
4
10
  } from 'mongodb'
5
11
  import { NotFound } from '@feathersjs/errors'
6
12
  import { _ } from '@feathersjs/commons'
7
- import { AdapterBase, select, AdapterParams, AdapterServiceOptions, PaginationOptions, AdapterQuery } from '@feathersjs/adapter-commons'
13
+ import {
14
+ AdapterBase,
15
+ select,
16
+ AdapterParams,
17
+ AdapterServiceOptions,
18
+ PaginationOptions,
19
+ AdapterQuery
20
+ } from '@feathersjs/adapter-commons'
8
21
  import { NullableId, Id, Paginated } from '@feathersjs/feathers'
9
22
  import { errorHandler } from './error-handler'
10
23
 
11
24
  export interface MongoDBAdapterOptions extends AdapterServiceOptions {
12
- Model: Collection|Promise<Collection>,
13
- disableObjectify?: boolean,
25
+ Model: Collection | Promise<Collection>
26
+ disableObjectify?: boolean
14
27
  useEstimatedDocumentCount?: boolean
15
28
  }
16
29
 
17
- export interface MongoDBAdapterParams<Q = AdapterQuery> extends AdapterParams<Q, Partial<MongoDBAdapterOptions>> {
18
- mongodb?: BulkWriteOptions|FindOptions|InsertOneOptions|DeleteOptions|CountDocumentsOptions|ReplaceOptions
30
+ export interface MongoDBAdapterParams<Q = AdapterQuery>
31
+ extends AdapterParams<Q, Partial<MongoDBAdapterOptions>> {
32
+ mongodb?:
33
+ | BulkWriteOptions
34
+ | FindOptions
35
+ | InsertOneOptions
36
+ | DeleteOptions
37
+ | CountDocumentsOptions
38
+ | ReplaceOptions
19
39
  }
20
40
 
21
41
  // Create the service.
22
- export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<any> = MongoDBAdapterParams>
23
- extends AdapterBase<T, D, P, MongoDBAdapterOptions> {
24
- constructor (options: MongoDBAdapterOptions) {
42
+ export class MongoDbAdapter<
43
+ T,
44
+ D = Partial<T>,
45
+ P extends MongoDBAdapterParams<any> = MongoDBAdapterParams
46
+ > extends AdapterBase<T, D, P, MongoDBAdapterOptions> {
47
+ constructor(options: MongoDBAdapterOptions) {
25
48
  if (!options) {
26
49
  throw new Error('MongoDB options have to be provided')
27
50
  }
@@ -32,7 +55,7 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
32
55
  })
33
56
  }
34
57
 
35
- getObjectId (id: Id|ObjectId) {
58
+ getObjectId(id: Id | ObjectId) {
36
59
  if (this.options.disableObjectify) {
37
60
  return id
38
61
  }
@@ -44,11 +67,13 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
44
67
  return id
45
68
  }
46
69
 
47
- filterQuery (id: NullableId, params: P) {
48
- const { $select, $sort, $limit, $skip, ...query } = (params.query || {}) as AdapterQuery;
70
+ filterQuery(id: NullableId, params: P) {
71
+ const { $select, $sort, $limit, $skip, ...query } = (params.query || {}) as AdapterQuery
49
72
 
50
73
  if (id !== null) {
51
- query.$and = (query.$and || []).concat({ [this.id]: this.getObjectId(id) })
74
+ query.$and = (query.$and || []).concat({
75
+ [this.id]: this.getObjectId(id)
76
+ })
52
77
  }
53
78
 
54
79
  if (query[this.id]) {
@@ -61,22 +86,25 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
61
86
  }
62
87
  }
63
88
 
64
- getSelect (select: string[]|{ [key: string]: number }) {
89
+ getSelect(select: string[] | { [key: string]: number }) {
65
90
  if (Array.isArray(select)) {
66
- return select.reduce<{ [key: string]: number }>((value, name) => ({
67
- ...value,
68
- [name]: 1
69
- }), {})
91
+ return select.reduce<{ [key: string]: number }>(
92
+ (value, name) => ({
93
+ ...value,
94
+ [name]: 1
95
+ }),
96
+ {}
97
+ )
70
98
  }
71
99
 
72
100
  return select
73
101
  }
74
102
 
75
- async $findOrGet (id: NullableId, params: P) {
103
+ async $findOrGet(id: NullableId, params: P) {
76
104
  return id === null ? await this.$find(params) : await this.$get(id, params)
77
105
  }
78
106
 
79
- normalizeId (id: NullableId, data: Partial<D>): Partial<D> {
107
+ normalizeId(id: NullableId, data: Partial<D>): Partial<D> {
80
108
  if (this.id === '_id') {
81
109
  // Default Mongo IDs cannot be updated. The Mongo library handles
82
110
  // this automatically.
@@ -92,22 +120,28 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
92
120
  return data
93
121
  }
94
122
 
95
- async $get (id: Id, params: P = {} as P): Promise<T> {
96
- const { Model } = this.getOptions(params);
97
- const { query, filters: { $select } } = this.filterQuery(id, params);
98
- const projection = $select ? {
99
- projection: {
100
- ...this.getSelect($select),
101
- [this.id]: 1
102
- }
103
- } : {}
123
+ async $get(id: Id, params: P = {} as P): Promise<T> {
124
+ const { Model } = this.getOptions(params)
125
+ const {
126
+ query,
127
+ filters: { $select }
128
+ } = this.filterQuery(id, params)
129
+ const projection = $select
130
+ ? {
131
+ projection: {
132
+ ...this.getSelect($select),
133
+ [this.id]: 1
134
+ }
135
+ }
136
+ : {}
104
137
  const findOptions: FindOptions = {
105
138
  ...params.mongodb,
106
139
  ...projection
107
140
  }
108
141
 
109
- return Promise.resolve(Model).then(model => model.findOne(query, findOptions))
110
- .then(data => {
142
+ return Promise.resolve(Model)
143
+ .then((model) => model.findOne(query, findOptions))
144
+ .then((data) => {
111
145
  if (data == null) {
112
146
  throw new NotFound(`No record found for id '${id}'`)
113
147
  }
@@ -117,10 +151,10 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
117
151
  .catch(errorHandler)
118
152
  }
119
153
 
120
- async $find (params?: P & { paginate?: PaginationOptions }): Promise<Paginated<T>>;
121
- async $find (params?: P & { paginate: false }): Promise<T[]>;
122
- async $find (params?: P): Promise<Paginated<T>|T[]>;
123
- async $find (params: P = {} as P): Promise<Paginated<T>|T[]> {
154
+ async $find(params?: P & { paginate?: PaginationOptions }): Promise<Paginated<T>>
155
+ async $find(params?: P & { paginate: false }): Promise<T[]>
156
+ async $find(params?: P): Promise<Paginated<T> | T[]>
157
+ async $find(params: P = {} as P): Promise<Paginated<T> | T[]> {
124
158
  const { filters, query } = this.filterQuery(null, params)
125
159
  const { paginate, Model, useEstimatedDocumentCount } = this.getOptions(params)
126
160
  const findOptions = { ...params.mongodb }
@@ -147,24 +181,24 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
147
181
  total,
148
182
  limit: filters.$limit,
149
183
  skip: filters.$skip || 0,
150
- data: filters.$limit === 0 ? [] : (await q.toArray()) as any as T[]
184
+ data: filters.$limit === 0 ? [] : ((await q.toArray()) as any as T[])
151
185
  })
152
186
 
153
187
  if (paginate && paginate.default) {
154
- if (useEstimatedDocumentCount && (typeof model.estimatedDocumentCount === 'function')) {
188
+ if (useEstimatedDocumentCount && typeof model.estimatedDocumentCount === 'function') {
155
189
  return model.estimatedDocumentCount().then(runQuery)
156
190
  }
157
191
 
158
192
  return model.countDocuments(query, findOptions).then(runQuery)
159
193
  }
160
194
 
161
- return runQuery(0).then(page => page.data)
195
+ return runQuery(0).then((page) => page.data)
162
196
  }
163
197
 
164
- async $create (data: Partial<D>, params?: P): Promise<T>;
165
- async $create (data: Partial<D>[], params?: P): Promise<T[]>;
166
- async $create (data: Partial<D>|Partial<D>[], _params?: P): Promise<T|T[]>;
167
- async $create (data: Partial<D>|Partial<D>[], params: P = {} as P): Promise<T|T[]> {
198
+ async $create(data: Partial<D>, params?: P): Promise<T>
199
+ async $create(data: Partial<D>[], params?: P): Promise<T[]>
200
+ async $create(data: Partial<D> | Partial<D>[], _params?: P): Promise<T | T[]>
201
+ async $create(data: Partial<D> | Partial<D>[], params: P = {} as P): Promise<T | T[]> {
168
202
  const writeOptions = params.mongodb
169
203
  const { Model } = this.getOptions(params)
170
204
  const model = await Promise.resolve(Model)
@@ -182,24 +216,29 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
182
216
  return entry
183
217
  }
184
218
  const promise = Array.isArray(data)
185
- ? model.insertMany(data.map(setId), writeOptions).then(async result =>
186
- Promise.all(Object.values(result.insertedIds).map(async _id => model.findOne({ _id })))
187
- )
188
- : model.insertOne(setId(data), writeOptions).then(async result =>
189
- model.findOne({ _id: result.insertedId })
190
- )
219
+ ? model
220
+ .insertMany(data.map(setId), writeOptions)
221
+ .then(async (result) =>
222
+ Promise.all(Object.values(result.insertedIds).map(async (_id) => model.findOne({ _id })))
223
+ )
224
+ : model
225
+ .insertOne(setId(data), writeOptions)
226
+ .then(async (result) => model.findOne({ _id: result.insertedId }))
191
227
 
192
228
  return promise.then(select(params, this.id)).catch(errorHandler)
193
229
  }
194
230
 
195
- async $patch (id: null, data: Partial<D>, params?: P): Promise<T[]>;
196
- async $patch (id: Id, data: Partial<D>, params?: P): Promise<T>;
197
- async $patch (id: NullableId, data: Partial<D>, _params?: P): Promise<T|T[]>;
198
- async $patch (id: NullableId, _data: Partial<D>, params: P = {} as P): Promise<T|T[]> {
231
+ async $patch(id: null, data: Partial<D>, params?: P): Promise<T[]>
232
+ async $patch(id: Id, data: Partial<D>, params?: P): Promise<T>
233
+ async $patch(id: NullableId, data: Partial<D>, _params?: P): Promise<T | T[]>
234
+ async $patch(id: NullableId, _data: Partial<D>, params: P = {} as P): Promise<T | T[]> {
199
235
  const data = this.normalizeId(id, _data)
200
236
  const { Model } = this.getOptions(params)
201
237
  const model = await Promise.resolve(Model)
202
- const { query, filters: { $select, $limit } } = this.filterQuery(id, params)
238
+ const {
239
+ query,
240
+ filters: { $select }
241
+ } = this.filterQuery(id, params)
203
242
  const updateOptions = { ...params.mongodb }
204
243
  const modifier = Object.keys(data).reduce((current, key) => {
205
244
  const value = (data as any)[key]
@@ -219,17 +258,16 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
219
258
  ...params,
220
259
  query: {
221
260
  ...query,
222
- $select: [ this.id ]
261
+ $select: [this.id]
223
262
  },
224
263
  paginate: false
225
264
  })
226
- const items = (Array.isArray(originalIds) ? originalIds : [originalIds])
265
+ const items = Array.isArray(originalIds) ? originalIds : [originalIds]
227
266
  const idList = items.map((item: any) => item[this.id])
228
267
  const findParams = {
229
268
  ...params,
230
269
  paginate: false,
231
270
  query: {
232
- ...($limit === 0 ? { $limit: 0 } : {}),
233
271
  [this.id]: { $in: idList },
234
272
  $select
235
273
  }
@@ -240,7 +278,7 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
240
278
  return this.$findOrGet(id, findParams).catch(errorHandler)
241
279
  }
242
280
 
243
- async $update (id: Id, data: D, params: P = {} as P): Promise<T> {
281
+ async $update(id: Id, data: D, params: P = {} as P): Promise<T> {
244
282
  const { Model } = this.getOptions(params)
245
283
  const model = await Promise.resolve(Model)
246
284
  const { query } = this.filterQuery(id, params)
@@ -251,26 +289,28 @@ export class MongoDbAdapter<T, D = Partial<T>, P extends MongoDBAdapterParams<an
251
289
  return this.$findOrGet(id, params).catch(errorHandler)
252
290
  }
253
291
 
254
- async $remove (id: null, params?: P): Promise<T[]>;
255
- async $remove (id: Id, params?: P): Promise<T>;
256
- async $remove (id: NullableId, _params?: P): Promise<T|T[]>;
257
- async $remove (id: NullableId, params: P = {} as P): Promise<T|T[]> {
292
+ async $remove(id: null, params?: P): Promise<T[]>
293
+ async $remove(id: Id, params?: P): Promise<T>
294
+ async $remove(id: NullableId, _params?: P): Promise<T | T[]>
295
+ async $remove(id: NullableId, params: P = {} as P): Promise<T | T[]> {
258
296
  const { Model } = this.getOptions(params)
259
297
  const model = await Promise.resolve(Model)
260
- const { query, filters: { $select, $limit } } = this.filterQuery(id, params)
298
+ const {
299
+ query,
300
+ filters: { $select }
301
+ } = this.filterQuery(id, params)
261
302
  const deleteOptions = { ...params.mongodb }
262
303
  const findParams = {
263
304
  ...params,
264
305
  paginate: false,
265
306
  query: {
266
307
  ...query,
267
- ...($limit === 0 ? { $limit: 0 } : {}),
268
308
  $select
269
309
  }
270
310
  }
271
311
 
272
312
  return this.$findOrGet(id, findParams)
273
- .then(async items => {
313
+ .then(async (items) => {
274
314
  await model.deleteMany(query, deleteOptions)
275
315
  return items
276
316
  })
@@ -1,7 +1,7 @@
1
1
  import { GeneralError } from '@feathersjs/errors'
2
2
  import { MongoError } from 'mongodb'
3
3
 
4
- export function errorHandler (error: MongoError): any {
4
+ export function errorHandler(error: MongoError): any {
5
5
  // See https://github.com/mongodb/mongo/blob/master/docs/errors.md
6
6
  if (error && error.name && error.name.startsWith('Mongo')) {
7
7
  throw new GeneralError(error, {
package/src/index.ts CHANGED
@@ -5,38 +5,44 @@ import { MongoDbAdapter, MongoDBAdapterParams } from './adapter'
5
5
  export * from './adapter'
6
6
  export * from './error-handler'
7
7
 
8
- export class MongoDBService<T = any, D = Partial<T>, P extends MongoDBAdapterParams = MongoDBAdapterParams>
9
- extends MongoDbAdapter<T, D, P> implements ServiceMethods<T|Paginated<T>, D, P> {
10
- async find (params?: P & { paginate?: PaginationOptions }): Promise<Paginated<T>>;
11
- async find (params?: P & { paginate: false }): Promise<T[]>;
12
- async find (params?: P): Promise<Paginated<T>|T[]>;
13
- async find (params?: P): Promise<Paginated<T>|T[]> {
8
+ export class MongoDBService<
9
+ T = any,
10
+ D = Partial<T>,
11
+ P extends MongoDBAdapterParams<any> = MongoDBAdapterParams
12
+ >
13
+ extends MongoDbAdapter<T, D, P>
14
+ implements ServiceMethods<T | Paginated<T>, D, P>
15
+ {
16
+ async find(params?: P & { paginate?: PaginationOptions }): Promise<Paginated<T>>
17
+ async find(params?: P & { paginate: false }): Promise<T[]>
18
+ async find(params?: P): Promise<Paginated<T> | T[]>
19
+ async find(params?: P): Promise<Paginated<T> | T[]> {
14
20
  return this._find(params) as any
15
21
  }
16
22
 
17
- async get (id: Id, params?: P): Promise<T> {
23
+ async get(id: Id, params?: P): Promise<T> {
18
24
  return this._get(id, params)
19
25
  }
20
26
 
21
- async create (data: Partial<D>, params?: P): Promise<T>;
22
- async create (data: Partial<D>[], params?: P): Promise<T[]>;
23
- async create (data: Partial<D>|Partial<D>[], params?: P): Promise<T|T[]> {
27
+ async create(data: Partial<D>, params?: P): Promise<T>
28
+ async create(data: Partial<D>[], params?: P): Promise<T[]>
29
+ async create(data: Partial<D> | Partial<D>[], params?: P): Promise<T | T[]> {
24
30
  return this._create(data, params)
25
31
  }
26
32
 
27
- async update (id: Id, data: D, params?: P): Promise<T> {
33
+ async update(id: Id, data: D, params?: P): Promise<T> {
28
34
  return this._update(id, data, params)
29
35
  }
30
36
 
31
- async patch (id: Id, data: Partial<D>, params?: P): Promise<T>;
32
- async patch (id: null, data: Partial<D>, params?: P): Promise<T[]>;
33
- async patch (id: NullableId, data: Partial<D>, params?: P): Promise<T | T[]> {
37
+ async patch(id: Id, data: Partial<D>, params?: P): Promise<T>
38
+ async patch(id: null, data: Partial<D>, params?: P): Promise<T[]>
39
+ async patch(id: NullableId, data: Partial<D>, params?: P): Promise<T | T[]> {
34
40
  return this._patch(id, data, params)
35
41
  }
36
42
 
37
- async remove (id: Id, params?: P): Promise<T>;
38
- async remove (id: null, params?: P): Promise<T[]>;
39
- async remove (id: NullableId, params?: P): Promise<T | T[]> {
43
+ async remove(id: Id, params?: P): Promise<T>
44
+ async remove(id: null, params?: P): Promise<T[]>
45
+ async remove(id: NullableId, params?: P): Promise<T | T[]> {
40
46
  return this._remove(id, params)
41
47
  }
42
48
  }