Skip to content

Commit 8ba7571

Browse files
committed
ApiTokenRow: Convert async action to task
1 parent 67ce4fa commit 8ba7571

File tree

2 files changed

+30
-30
lines changed

2 files changed

+30
-30
lines changed

app/components/api-token-row.hbs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@disabled={{this.api_token.isSaving}}
88
@value={{this.api_token.name}}
99
@autofocus="autofocus"
10-
@enter={{action "saveToken"}}
10+
@enter={{action (perform this.saveTokenTask)}}
1111
data-test-focused-input
1212
/>
1313
{{else}}
@@ -38,7 +38,7 @@
3838
disabled={{this.disableCreate}}
3939
title={{if this.emptyName "You must specify a name" ""}}
4040
data-test-save-token-button
41-
{{action "saveToken"}}
41+
{{action (perform this.saveTokenTask)}}
4242
>
4343
Create
4444
</button>
@@ -48,7 +48,7 @@
4848
local-class="revoke-button"
4949
disabled={{this.api_token.isSaving}}
5050
data-test-revoke-token-button
51-
{{action "revokeToken"}}
51+
{{action (perform this.revokeTokenTask)}}
5252
>
5353
Revoke
5454
</button>

app/components/api-token-row.js

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import Component from '@ember/component';
22
import { empty, or } from '@ember/object/computed';
33

4+
import { task } from 'ember-concurrency';
5+
46
export default Component.extend({
57
emptyName: empty('api_token.name'),
68
disableCreate: or('api_token.isSaving', 'emptyName'),
@@ -13,34 +15,32 @@ export default Component.extend({
1315
}
1416
},
1517

16-
actions: {
17-
async saveToken() {
18-
try {
19-
await this.api_token.save();
20-
this.set('serverError', null);
21-
} catch (err) {
22-
let msg;
23-
if (err.errors && err.errors[0] && err.errors[0].detail) {
24-
msg = `An error occurred while saving this token, ${err.errors[0].detail}`;
25-
} else {
26-
msg = 'An unknown error occurred while saving this token';
27-
}
28-
this.set('serverError', msg);
18+
saveTokenTask: task(function* () {
19+
try {
20+
yield this.api_token.save();
21+
this.set('serverError', null);
22+
} catch (err) {
23+
let msg;
24+
if (err.errors && err.errors[0] && err.errors[0].detail) {
25+
msg = `An error occurred while saving this token, ${err.errors[0].detail}`;
26+
} else {
27+
msg = 'An unknown error occurred while saving this token';
2928
}
30-
},
29+
this.set('serverError', msg);
30+
}
31+
}),
3132

32-
async revokeToken() {
33-
try {
34-
await this.api_token.destroyRecord();
35-
} catch (err) {
36-
let msg;
37-
if (err.errors && err.errors[0] && err.errors[0].detail) {
38-
msg = `An error occurred while revoking this token, ${err.errors[0].detail}`;
39-
} else {
40-
msg = 'An unknown error occurred while revoking this token';
41-
}
42-
this.set('serverError', msg);
33+
revokeTokenTask: task(function* () {
34+
try {
35+
yield this.api_token.destroyRecord();
36+
} catch (err) {
37+
let msg;
38+
if (err.errors && err.errors[0] && err.errors[0].detail) {
39+
msg = `An error occurred while revoking this token, ${err.errors[0].detail}`;
40+
} else {
41+
msg = 'An unknown error occurred while revoking this token';
4342
}
44-
},
45-
},
43+
this.set('serverError', msg);
44+
}
45+
}),
4646
});

0 commit comments

Comments
 (0)