Skip to content

Commit d3b1298

Browse files
Merge pull request #611 from tchak/remove-ember-algolia
Remove unmaintained ember-algolia and ember-browserify
2 parents 679a14a + f9a4355 commit d3b1298

File tree

5 files changed

+88
-679
lines changed

5 files changed

+88
-679
lines changed

app/services/algolia.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import Service from '@ember/service';
2+
import algoliasearch from 'algoliasearch';
3+
import config from 'ember-api-docs/config/environment';
4+
import { denodeify } from 'rsvp';
5+
6+
export default Service.extend({
7+
_search(query, params, callback) {
8+
if (!callback) {
9+
callback = params;
10+
params = undefined;
11+
}
12+
if (query) {
13+
if (Array.isArray(query) && !params) { // if multiple indices
14+
this._client.search(query, callback);
15+
} else if (!params) { // if no params
16+
this.accessIndex(query.indexName).search(query.query, callback);
17+
} else { // if params and callback
18+
this.accessIndex(query.indexName).search(query.query, params, callback);
19+
}
20+
} else {
21+
callback(new Error(`Could not search algolia for query "${query}"`));
22+
}
23+
},
24+
25+
accessIndex(IndexName) {
26+
if (!this._indices[IndexName]) {
27+
this._indices[IndexName] = this._client.initIndex(IndexName);
28+
}
29+
return this._indices[IndexName];
30+
},
31+
32+
init() {
33+
this._super(...arguments);
34+
this._client = algoliasearch(config.algolia.algoliaId, config.algolia.algoliaKey);
35+
this._indices = {};
36+
this.search = denodeify(this._search.bind(this));
37+
}
38+
});

app/services/search.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@ import { get, set } from '@ember/object';
44
import { A as emberArray } from '@ember/array';
55
import { alias } from '@ember/object/computed';
66
import { inject as service } from '@ember/service';
7-
import { denodeify } from 'rsvp';
87

98
export default Service.extend({
10-
11-
_searchClient: service('algolia'),
9+
_algoliaService: service('algolia'),
1210
_projectService: service('project'),
1311
_projectVersion: alias('_projectService.version'),
1412

@@ -34,14 +32,10 @@ export default Service.extend({
3432
};
3533

3634
return set(this, 'results', (yield this.doSearch(searchObj, params)));
37-
3835
}).restartable(),
3936

4037
doSearch(searchObj, params) {
41-
const client = this._searchClient;
42-
const searchFn = denodeify(client.search.bind(client));
43-
return searchFn(searchObj, params).then((results) => {
44-
return get(results, 'hits');
45-
});
38+
return this._algoliaService.search(searchObj, params)
39+
.then(results => get(results, 'hits'));
4640
}
4741
});

config/environment.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ module.exports = function(environment) {
3737
/^[\w-]+\.emberjs\.com$/
3838
]
3939
},
40-
'ember-algolia': {
40+
algolia: {
4141
algoliaId: ALGOLIA_APP_ID,
4242
algoliaKey: ALGOLIA_API_KEY
4343
},

package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
"test": "node run-tests.js"
2222
},
2323
"dependencies": {
24-
"algoliasearch": "^3.31.0",
2524
"bourbon": "5.1.0",
2625
"ember-cli-browserstack": "^0.0.6",
2726
"ember-rfc176-data": "^0.3.5",
@@ -37,16 +36,15 @@
3736
"testem": "^2.14.0"
3837
},
3938
"devDependencies": {
39+
"algoliasearch": "^3.32.1",
4040
"@ember/jquery": "^0.5.2",
4141
"@ember/optional-features": "^0.6.3",
4242
"broccoli-asset-rev": "^3.0.0",
4343
"broccoli-funnel": "^2.0.1",
4444
"broccoli-merge-trees": "^2.0.0",
4545
"ember-a11y-testing": "^0.5.4",
46-
"ember-algolia": "0.0.10",
4746
"ember-anchor": "~0.2.0",
4847
"ember-auto-import": "^1.2.21",
49-
"ember-browserify": "^1.2.2",
5048
"ember-cli": "~3.4.4",
5149
"ember-cli-app-version": "^3.2.0",
5250
"ember-cli-autoprefixer": "^0.7.0",

0 commit comments

Comments
 (0)