Skip to content

Commit d220132

Browse files
authored
fix(AssetController): pass options to search query (#224)
* fix(AssetController): pass options to search query fix #223 Up the version in 2.0.0-rc23
1 parent 91a1005 commit d220132

File tree

4 files changed

+332
-743
lines changed

4 files changed

+332
-743
lines changed

features/AssetController.feature

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,15 @@ Feature: DeviceManager asset controller
2626
| model | "PERFO" |
2727
| metadata.foobar | 42 |
2828
| metadata.index | "engine-kuzzle" |
29+
Then I refresh the collection "engine-kuzzle":"assets"
30+
When I successfully execute the action "device-manager/asset":"search" with args:
31+
| engineId | "engine-kuzzle" |
32+
| body | {"query":{"equals": { "_id": "outils-PERFO-asset_01" }}} |
33+
| size | 1 |
34+
| lang | "koncorde" |
35+
Then I should receive a "hits" array of objects matching:
36+
| _id | _source.model |
37+
| "outils-PERFO-asset_01" | "PERFO" |
2938
When I successfully execute the action "device-manager/asset":"delete" with args:
3039
| engineId | "engine-kuzzle" |
3140
| _id | "outils-PERFO-asset_01" |
@@ -140,7 +149,7 @@ Feature: DeviceManager asset controller
140149
| measures[0].values.battery | 90 |
141150
| measures[1].assetMeasureName | "leftOuterTemp" |
142151
| measures[1].values.temperature | 30 |
143-
| measures[2].assetMeasureName | "leftInnerTemp" |
152+
| measures[2].assetMeasureName | "leftInnerTemp" |
144153
| measures[2].values.temperature | -10 |
145154
| measures[3].assetMeasureName | "rightOuterTemp" |
146155
| measures[3].values.temperature | 40 |
@@ -163,7 +172,7 @@ Feature: DeviceManager asset controller
163172
| measures[0].values.battery | 90 |
164173
| measures[1].assetMeasureName | "leftOuterTemp" |
165174
| measures[1].values.temperature | 31 |
166-
| measures[2].assetMeasureName | "leftInnerTemp" |
175+
| measures[2].assetMeasureName | "leftInnerTemp" |
167176
| measures[2].values.temperature | -10 |
168177
| measures[3].assetMeasureName | "rightOuterTemp" |
169178
| measures[3].values.temperature | 40 |

lib/controllers/AssetController.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ export class AssetController extends RelationalController {
212212
const updatedMetadata = this.assetCategoryService.formatMetadataForES(assetMetadata);
213213
request.input.body.metadata = [...updatedMetadata, ...previousMetadata];
214214
}
215-
215+
216216
const response = await global.app.trigger(
217217
'device-manager:asset:update:before', {
218218
asset,
@@ -300,10 +300,20 @@ export class AssetController extends RelationalController {
300300
*/
301301
async search (request: KuzzleRequest) {
302302
const engineId = request.getString('engineId');
303-
const { searchBody } = request.getSearchParams();
303+
const { searchBody, from, size, scrollTTL: scroll } = request.getSearchParams();
304304
const category = this.getFieldPath(request, 'category', null, 'asset-category');
305305

306-
const res = await this.sdk.document.search<BaseAssetContent>(engineId, this.collection, searchBody);
306+
const res = await this.sdk.document.search<BaseAssetContent>(
307+
engineId,
308+
this.collection,
309+
searchBody,
310+
{
311+
from,
312+
lang: request.getLangParam(),
313+
scroll,
314+
size,
315+
}
316+
);
307317
for (const hit of res.hits) {
308318
const document = await this.esDocumentToFormatted<BaseAssetContent>(engineId, this.collection, hit, [category]);
309319
this.assetCategoryService.formatDocumentMetadata(document);

0 commit comments

Comments
 (0)