Skip to content

Commit 1fc2c95

Browse files
committed
Use fetch instead of ember-ajax
1 parent 8de6a0e commit 1fc2c95

File tree

12 files changed

+25
-53
lines changed

12 files changed

+25
-53
lines changed

app/adapters/application.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import DS from 'ember-data';
2+
import AdapterFetch from 'ember-fetch/mixins/adapter-fetch';
23

3-
export default DS.RESTAdapter.extend({
4+
export default DS.RESTAdapter.extend(AdapterFetch, {
45
namespace: 'api/v1',
56
});

app/components/email-input.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import Component from '@ember/component';
22
import { empty } from '@ember/object/computed';
33
import { computed } from '@ember/object';
44
import { inject as service } from '@ember/service';
5+
import ajax from 'ember-fetch/ajax';
56

67
export default Component.extend({
7-
ajax: service(),
88
flashMessages: service(),
99

1010
type: '',
@@ -96,7 +96,7 @@ export default Component.extend({
9696
let user = this.get('user');
9797

9898
try {
99-
await this.get('ajax').raw(`/api/v1/users/${user.id}/resend`, { method: 'PUT' });
99+
await ajax(`/api/v1/users/${user.id}/resend`, { method: 'PUT' });
100100
this.set('disableResend', true);
101101
} catch(error) {
102102
if (error.payload) {

app/controllers/dashboard.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
import Controller from '@ember/controller';
22
import { A } from '@ember/array';
33
import { computed } from '@ember/object';
4-
import { inject as service } from '@ember/service';
4+
import ajax from 'ember-fetch/ajax';
55

66
const TO_SHOW = 5;
77

88
export default Controller.extend({
9-
10-
ajax: service(),
11-
129
init() {
1310
this._super(...arguments);
1411

@@ -47,8 +44,7 @@ export default Controller.extend({
4744
let page = (this.get('myFeed').length / 10) + 1;
4845

4946
try {
50-
let data = await this.get('ajax').request(`/api/v1/me/updates?page=${page}`);
51-
47+
let data = await ajax(`/api/v1/me/updates?page=${page}`);
5248
let versions = data.versions.map(version => this.store.push(this.store.normalize('version', version)));
5349

5450
this.get('myFeed').pushObjects(versions);

app/controllers/index.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
import Controller from '@ember/controller';
22
import { computed } from '@ember/object';
33
import { readOnly } from '@ember/object/computed';
4-
import { inject as service } from '@ember/service';
5-
4+
import ajax from 'ember-fetch/ajax';
65
import { task } from 'ember-concurrency';
76

87
export default Controller.extend({
9-
ajax: service(),
10-
118
model: readOnly('dataTask.lastSuccessful.value'),
129

1310
hasData: computed('dataTask.lastSuccessful', 'dataTask.isRunning', function() {
1411
return this.get('dataTask.lastSuccessful') || !this.get('dataTask.isRunning');
1512
}),
1613

1714
dataTask: task(function* () {
18-
let data = yield this.get('ajax').request('/api/v1/summary');
15+
let data = yield ajax('/api/v1/summary');
1916

2017
addCrates(this.store, data.new_crates);
2118
addCrates(this.store, data.most_downloaded);

app/controllers/me/index.js

-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ export default Controller.extend({
77

88
sortedTokens: sort('model.api_tokens', 'tokenSort'),
99

10-
ajax: service(),
11-
1210
flashMessages: service(),
1311

1412
isResetting: false,

app/routes/confirm.js

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import Route from '@ember/routing/route';
22
import { inject as service } from '@ember/service';
3+
import ajax from 'ember-fetch/ajax';
34

45
export default Route.extend({
56
flashMessages: service(),
6-
ajax: service(),
77

88
async model(params) {
99
try {
10-
await this.get('ajax').raw(`/api/v1/confirm/${params.email_token}`, { method: 'PUT', data: {} });
10+
await ajax(`/api/v1/confirm/${params.email_token}`, { method: 'PUT', body: '{}' });
1111

1212
/* We need this block to reload the user model from the database,
1313
without which if we haven't submitted another GET /me after
@@ -20,9 +20,8 @@ export default Route.extend({
2020
Suggestions of a more ideomatic way to fix/test this are welcome!
2121
*/
2222
if (this.session.get('isLoggedIn')) {
23-
this.get('ajax').request('/api/v1/me').then((response) => {
24-
this.session.set('currentUser', this.store.push(this.store.normalize('user', response.user)));
25-
});
23+
let data = await ajax('/api/v1/me');
24+
this.session.set('currentUser', this.store.push(this.store.normalize('user', data.user)));
2625
}
2726

2827
} catch(error) {

app/routes/crate/version.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import { observer } from '@ember/object';
22
import Route from '@ember/routing/route';
33
import { inject as service } from '@ember/service';
4+
import ajax from 'ember-fetch/ajax';
45

56
export default Route.extend({
6-
7-
ajax: service(),
8-
97
flashMessages: service(),
108

119
refreshAfterLogin: observer('session.isLoggedIn', function() {
@@ -45,7 +43,7 @@ export default Route.extend({
4543
crate.get('documentation').substr(0, 16) === 'https://docs.rs/') {
4644
let crateName = crate.get('name');
4745
let crateVersion = params.version_num;
48-
this.get('ajax').request(`https://docs.rs/crate/${crateName}/${crateVersion}/builds.json`)
46+
ajax(`https://docs.rs/crate/${crateName}/${crateVersion}/builds.json`, { mode: 'cors' })
4947
.then((r) => {
5048
if (r.length > 0 && r[0].build_status === true) {
5149
crate.set('documentation', `https://docs.rs/${crateName}/${crateVersion}/`);

app/routes/github-authorize.js

+7-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import Route from '@ember/routing/route';
2-
import { inject as service } from '@ember/service';
2+
import ajax from 'ember-fetch/ajax';
3+
import { serializeQueryParams } from 'ember-fetch/mixins/adapter-fetch';
34

45
/**
56
* This route will be called from the GitHub OAuth flow once the user has
@@ -15,23 +16,21 @@ import { inject as service } from '@ember/service';
1516
* @see `/login` route
1617
*/
1718
export default Route.extend({
18-
19-
ajax: service(),
20-
2119
async beforeModel(transition) {
2220
try {
23-
let d = await this.get('ajax').request(`/authorize`, { data: transition.queryParams });
24-
let item = JSON.stringify({ ok: true, data: d });
21+
let queryParams = serializeQueryParams(transition.queryParams);
22+
let data = await ajax(`/authorize?${queryParams}`);
23+
let item = JSON.stringify({ ok: true, data });
2524
if (window.opener) {
2625
window.opener.github_response = item;
2726
}
2827
} catch(d) {
29-
let item = JSON.stringify({ ok: false, data: d });
28+
let item = JSON.stringify({ ok: false, data });
3029
if (window.opener) {
3130
window.opener.github_response = item;
3231
}
3332
} finally {
3433
window.close();
3534
}
36-
},
35+
}
3736
});

app/routes/github-login.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Route from '@ember/routing/route';
2-
import { inject as service } from '@ember/service';
2+
import ajax from 'ember-fetch/ajax';
33

44
/**
55
* Calling this route will query the `/authorize_url` API endpoint
@@ -15,11 +15,8 @@ import { inject as service } from '@ember/service';
1515
* @see `/github_authorize` route
1616
*/
1717
export default Route.extend({
18-
19-
ajax: service(),
20-
2118
async beforeModel() {
22-
let url = await this.get('ajax').request(`/authorize_url`);
19+
let url = await ajax(`/authorize_url`);
2320
window.location = url.url;
2421
},
2522
});

app/routes/logout.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
import { run } from '@ember/runloop';
22
import Route from '@ember/routing/route';
3-
import { inject as service } from '@ember/service';
3+
import ajax from 'ember-fetch/ajax';
44

55
export default Route.extend({
6-
7-
ajax: service(),
8-
96
async activate() {
10-
await this.get('ajax').delete(`/logout`);
7+
await ajax(`/logout`, { method: 'DELETE' });
118
run(() => {
129
this.session.logoutUser();
1310
this.transitionTo('index');

package-lock.json

-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
"devDependencies": {
2828
"babel-plugin-transform-object-rest-spread": "^6.23.0",
2929
"broccoli-asset-rev": "2.5.0",
30-
"ember-ajax": "^3.0.0",
3130
"ember-cli": "~2.17.0",
3231
"ember-cli-app-version": "^3.0.0",
3332
"ember-cli-babel": "^6.8.2",

0 commit comments

Comments
 (0)