From 057da5894038eb1e8e2c70e18a643c2928bd9d19 Mon Sep 17 00:00:00 2001 From: Aschen Date: Mon, 23 Mar 2020 10:07:36 +0100 Subject: [PATCH 1/2] expose search results --- index.js | 30 ++++++++++++++++++--------- src/controllers/searchResult/index.js | 15 ++++++++++++++ 2 files changed, 35 insertions(+), 10 deletions(-) create mode 100644 src/controllers/searchResult/index.js diff --git a/index.js b/index.js index 7261dcf80..24a5056df 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,16 @@ -const - Kuzzle = require('./src/Kuzzle'), - { - Http, - WebSocket - } = require('./src/protocols'), - BaseController = require('./src/controllers/base'), - KuzzleAbstractProtocol = require('./src/protocols/abstract/common'), - KuzzleEventEmitter = require('./src/eventEmitter'); +const Kuzzle = require('./src/Kuzzle'); +const { Http, WebSocket } = require('./src/protocols'); +const BaseController = require('./src/controllers/base'); +const KuzzleAbstractProtocol = require('./src/protocols/abstract/common'); +const KuzzleEventEmitter = require('./src/core/KuzzleEventEmitter'); +const { + SearchResultBase, + DocumentSearchResult, + ProfileSearchResult, + RoleSearchResult, + SpecificationSearchResult, + UserSearchResult +} = require('./src/controllers/searchResult'); if (typeof window !== 'undefined' && typeof BUILT === 'undefined') { throw new Error('It looks like you are using the Nodejs version of Kuzzle SDK ' + @@ -21,5 +25,11 @@ module.exports = { WebSocket, BaseController, KuzzleAbstractProtocol, - KuzzleEventEmitter + KuzzleEventEmitter, + SearchResultBase, + DocumentSearchResult, + ProfileSearchResult, + RoleSearchResult, + SpecificationSearchResult, + UserSearchResult }; diff --git a/src/controllers/searchResult/index.js b/src/controllers/searchResult/index.js new file mode 100644 index 000000000..bab342fae --- /dev/null +++ b/src/controllers/searchResult/index.js @@ -0,0 +1,15 @@ +const SearchResultBase = require('./base'); +const DocumentSearchResult = require('./document'); +const ProfileSearchResult = require('./profile'); +const RoleSearchResult = require('./role'); +const SpecificationSearchResult = require('./specification'); +const UserSearchResult = require('./user'); + +module.exports = { + SearchResultBase, + DocumentSearchResult, + ProfileSearchResult, + RoleSearchResult, + SpecificationSearchResult, + UserSearchResult +}; \ No newline at end of file From 340a883c30892e22c8fa83d2579d58811fca9133 Mon Sep 17 00:00:00 2001 From: Aschen Date: Mon, 23 Mar 2020 11:33:16 +0100 Subject: [PATCH 2/2] Expose search results --- index.js | 2 +- src/controllers/document.js | 9 ++++++++- src/controllers/searchResult/index.js | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 24a5056df..fef5f889a 100644 --- a/index.js +++ b/index.js @@ -2,7 +2,7 @@ const Kuzzle = require('./src/Kuzzle'); const { Http, WebSocket } = require('./src/protocols'); const BaseController = require('./src/controllers/base'); const KuzzleAbstractProtocol = require('./src/protocols/abstract/common'); -const KuzzleEventEmitter = require('./src/core/KuzzleEventEmitter'); +const KuzzleEventEmitter = require('./src/eventEmitter'); const { SearchResultBase, DocumentSearchResult, diff --git a/src/controllers/document.js b/src/controllers/document.js index 1ac3f9623..0f72aa74e 100644 --- a/src/controllers/document.js +++ b/src/controllers/document.js @@ -187,6 +187,13 @@ class DocumentController extends BaseController { } search (index, collection, body = {}, options = {}) { + return this._search(index, collection, body, options) + .then(({ response, request }) => ( + new DocumentSearchResult(this.kuzzle, request, options, response.result) + )); + } + + _search (index, collection, body = {}, options = {}) { const request = { index, collection, @@ -208,7 +215,7 @@ class DocumentController extends BaseController { } return this.query(request, options) - .then(response => new DocumentSearchResult(this.kuzzle, request, options, response.result)); + .then(response => ({ response, request })); } update (index, collection, _id, body, options = {}) { diff --git a/src/controllers/searchResult/index.js b/src/controllers/searchResult/index.js index bab342fae..545b84d60 100644 --- a/src/controllers/searchResult/index.js +++ b/src/controllers/searchResult/index.js @@ -2,7 +2,7 @@ const SearchResultBase = require('./base'); const DocumentSearchResult = require('./document'); const ProfileSearchResult = require('./profile'); const RoleSearchResult = require('./role'); -const SpecificationSearchResult = require('./specification'); +const SpecificationSearchResult = require('./specifications'); const UserSearchResult = require('./user'); module.exports = {