Skip to content

Commit bb124ea

Browse files
authored
Allow better extensibility (#496)
* expose search results * Expose search results
1 parent 766fb54 commit bb124ea

File tree

3 files changed

+43
-11
lines changed

3 files changed

+43
-11
lines changed

index.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
const
2-
Kuzzle = require('./src/Kuzzle'),
3-
{
4-
Http,
5-
WebSocket
6-
} = require('./src/protocols'),
7-
BaseController = require('./src/controllers/base'),
8-
KuzzleAbstractProtocol = require('./src/protocols/abstract/common'),
9-
KuzzleEventEmitter = require('./src/eventEmitter');
1+
const Kuzzle = require('./src/Kuzzle');
2+
const { Http, WebSocket } = require('./src/protocols');
3+
const BaseController = require('./src/controllers/base');
4+
const KuzzleAbstractProtocol = require('./src/protocols/abstract/common');
5+
const KuzzleEventEmitter = require('./src/eventEmitter');
6+
const {
7+
SearchResultBase,
8+
DocumentSearchResult,
9+
ProfileSearchResult,
10+
RoleSearchResult,
11+
SpecificationSearchResult,
12+
UserSearchResult
13+
} = require('./src/controllers/searchResult');
1014

1115
if (typeof window !== 'undefined' && typeof BUILT === 'undefined') {
1216
throw new Error('It looks like you are using the Nodejs version of Kuzzle SDK ' +
@@ -21,5 +25,11 @@ module.exports = {
2125
WebSocket,
2226
BaseController,
2327
KuzzleAbstractProtocol,
24-
KuzzleEventEmitter
28+
KuzzleEventEmitter,
29+
SearchResultBase,
30+
DocumentSearchResult,
31+
ProfileSearchResult,
32+
RoleSearchResult,
33+
SpecificationSearchResult,
34+
UserSearchResult
2535
};

src/controllers/document.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,13 @@ class DocumentController extends BaseController {
182182
}
183183

184184
search (index, collection, body = {}, options = {}) {
185+
return this._search(index, collection, body, options)
186+
.then(({ response, request }) => (
187+
new DocumentSearchResult(this.kuzzle, request, options, response.result)
188+
));
189+
}
190+
191+
_search (index, collection, body = {}, options = {}) {
185192
const request = {
186193
index,
187194
collection,
@@ -203,7 +210,7 @@ class DocumentController extends BaseController {
203210
}
204211

205212
return this.query(request, options)
206-
.then(response => new DocumentSearchResult(this.kuzzle, request, options, response.result));
213+
.then(response => ({ response, request }));
207214
}
208215

209216
update (index, collection, _id, body, options = {}) {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
const SearchResultBase = require('./base');
2+
const DocumentSearchResult = require('./document');
3+
const ProfileSearchResult = require('./profile');
4+
const RoleSearchResult = require('./role');
5+
const SpecificationSearchResult = require('./specifications');
6+
const UserSearchResult = require('./user');
7+
8+
module.exports = {
9+
SearchResultBase,
10+
DocumentSearchResult,
11+
ProfileSearchResult,
12+
RoleSearchResult,
13+
SpecificationSearchResult,
14+
UserSearchResult
15+
};

0 commit comments

Comments
 (0)