Skip to content

Commit af0be58

Browse files
authored
Merge pull request #1283 from Turbo87/session-cleanup
Cleanup `session` service code
2 parents 8283e3d + 868b746 commit af0be58

File tree

13 files changed

+32
-32
lines changed

13 files changed

+32
-32
lines changed

app/controllers/crate/version.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { alias, readOnly, gt, or } from '@ember/object/computed';
2+
import { inject as service } from '@ember/service';
23
import Controller from '@ember/controller';
34
import PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
45
import ArrayProxy from '@ember/array/proxy';
@@ -12,6 +13,8 @@ const NUM_VERSIONS = 5;
1213
const PromiseArray = ArrayProxy.extend(PromiseProxyMixin);
1314

1415
export default Controller.extend({
16+
session: service(),
17+
1518
isDownloading: false,
1619

1720
downloadsContext: computed('requestedVersion', 'model', 'crate', function() {
@@ -27,8 +30,8 @@ export default Controller.extend({
2730
keywords: alias('crate.keywords'),
2831
categories: alias('crate.categories'),
2932
badges: alias('crate.badges'),
30-
isOwner: computed('crate.owner_user', function() {
31-
return this.get('crate.owner_user').findBy('login', this.session.get('currentUser.login'));
33+
isOwner: computed('crate.owner_user', 'session.currentUser.login', function() {
34+
return this.get('crate.owner_user').findBy('login', this.get('session.currentUser.login'));
3235
}),
3336

3437
sortedVersions: readOnly('crate.versions'),

app/initializers/session.js

Lines changed: 0 additions & 9 deletions
This file was deleted.

app/mixins/authenticated-route.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import { inject as service } from '@ember/service';
33

44
export default Mixin.create({
55
flashMessages: service(),
6+
session: service(),
67

78
beforeModel(transition) {
8-
return this.session.checkCurrentUser(transition, () => {
9+
return this.get('session').checkCurrentUser(transition, () => {
910
this.get('flashMessages').queue('Please log in to proceed');
1011
});
1112
},

app/routes/application.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import { inject as service } from '@ember/service';
33

44
export default Route.extend({
55
flashMessages: service(),
6+
session: service(),
67

78
beforeModel() {
8-
this.session.loadUser();
9+
this.get('session').loadUser();
910
},
1011

1112
actions: {

app/routes/confirm.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { inject as service } from '@ember/service';
44
export default Route.extend({
55
flashMessages: service(),
66
ajax: service(),
7+
session: service(),
78

89
async model(params) {
910
try {
@@ -19,9 +20,9 @@ export default Route.extend({
1920
2021
Suggestions of a more ideomatic way to fix/test this are welcome!
2122
*/
22-
if (this.session.get('isLoggedIn')) {
23+
if (this.get('session.isLoggedIn')) {
2324
this.get('ajax').request('/api/v1/me').then((response) => {
24-
this.session.set('currentUser', this.store.push(this.store.normalize('user', response.user)));
25+
this.get('session').set('currentUser', this.store.push(this.store.normalize('user', response.user)));
2526
});
2627
}
2728

app/routes/crate/version.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import Route from '@ember/routing/route';
33
import { inject as service } from '@ember/service';
44

55
export default Route.extend({
6-
76
ajax: service(),
7+
session: service(),
88

99
flashMessages: service(),
1010

@@ -84,7 +84,7 @@ export default Route.extend({
8484
controller.set('requestedVersion', requestedVersion);
8585
controller.set('fetchingFollowing', true);
8686

87-
if (this.session.get('currentUser')) {
87+
if (this.get('session.currentUser')) {
8888
this.get('ajax').request(`/api/v1/crates/${crate.get('name')}/following`)
8989
.then((d) => controller.set('following', d.following))
9090
.finally(() => controller.set('fetchingFollowing', false));

app/routes/dashboard.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default Route.extend(AuthenticatedRoute, {
2222
},
2323

2424
model() {
25-
return this.session.get('currentUser');
25+
return this.get('session.currentUser');
2626
},
2727

2828
async afterModel(user) {

app/routes/login.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { inject as service } from '@ember/service';
1010
*/
1111
export default Route.extend({
1212
flashMessages: service(),
13+
session: service(),
1314

1415
beforeModel(transition) {
1516
try {
@@ -68,8 +69,8 @@ export default Route.extend({
6869
}
6970

7071
let user = this.store.push(this.store.normalize('user', data.user));
71-
let transition = this.session.get('savedTransition');
72-
this.session.loginUser(user);
72+
let transition = this.get('session.savedTransition');
73+
this.get('session').loginUser(user);
7374
if (transition) {
7475
transition.retry();
7576
}

app/routes/logout.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ import Route from '@ember/routing/route';
33
import { inject as service } from '@ember/service';
44

55
export default Route.extend({
6-
76
ajax: service(),
7+
session: service(),
88

99
async activate() {
1010
await this.get('ajax').delete(`/logout`);
1111
run(() => {
12-
this.session.logoutUser();
12+
this.get('session').logoutUser();
1313
this.transitionTo('index');
1414
});
1515
}

app/routes/me/crates.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export default Route.extend(AuthenticatedRoute, {
99
},
1010

1111
model(params) {
12-
params.user_id = this.session.get('currentUser.id');
12+
params.user_id = this.get('session.currentUser.id');
1313
return this.store.query('crate', params);
1414
},
1515
});

app/routes/me/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import AuthenticatedRoute from '../../mixins/authenticated-route';
55
export default Route.extend(AuthenticatedRoute, {
66
model() {
77
return {
8-
user: this.session.get('currentUser'),
8+
user: this.get('session.currentUser'),
99
api_tokens: this.get('store').findAll('api-token'),
1010
};
1111
},

mirage/config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ export default function() {
8383
};
8484
});
8585

86+
this.get('/crates/:crate_id/following', (/* schema, request */) => {
87+
// TODO
88+
});
89+
8690
this.get('/crates/:crate_id/versions', (schema, request) => {
8791
let crate = request.params.crate_id;
8892
return schema.versions.where({ crate }).sort((a, b) => compareIsoDates(b.created_at, a.created_at));

tests/acceptance/crate-test.js

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -182,14 +182,13 @@ test('navigating to the owners page when not logged in', async function(assert)
182182
test('navigating to the owners page when not an owner', async function(assert) {
183183
server.loadFixtures();
184184

185-
this.application.register('service:session-b', Service.extend({
185+
this.application.__deprecatedInstance__.register('service:session', Service.extend({
186186
currentUser: {
187187
login: 'iain8'
188-
}
188+
},
189+
loadUser() {},
189190
}));
190191

191-
this.application.inject('controller', 'session', 'service:session-b');
192-
193192
await visit('/crates/nanomsg');
194193

195194
assert.dom('#crate-owners p a').doesNotExist();
@@ -198,14 +197,13 @@ test('navigating to the owners page when not an owner', async function(assert) {
198197
test('navigating to the owners page', async function(assert) {
199198
server.loadFixtures();
200199

201-
this.application.register('service:session-b', Service.extend({
200+
this.application.__deprecatedInstance__.register('service:session', Service.extend({
202201
currentUser: {
203202
login: 'thehydroimpulse'
204-
}
203+
},
204+
loadUser() {},
205205
}));
206206

207-
this.application.inject('controller', 'session', 'service:session-b');
208-
209207
await visit('/crates/nanomsg');
210208
await click('#crate-owners p a');
211209

0 commit comments

Comments
 (0)