Skip to content

Commit 6a318b6

Browse files
committed
Rewriting Promises into async/await-pattern
1 parent b9fb76a commit 6a318b6

File tree

2 files changed

+49
-51
lines changed

2 files changed

+49
-51
lines changed

lib/requests/delete-account-confirm-request.js

Lines changed: 33 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,15 @@ class DeleteAccountConfirmRequest extends AuthRequest {
5454
*
5555
* @return {Promise}
5656
*/
57-
static get (req, res) {
57+
static async get (req, res) {
5858
const request = DeleteAccountConfirmRequest.fromParams(req, res)
5959

60-
return Promise.resolve()
61-
.then(() => request.validateToken())
62-
.then(() => request.renderForm())
63-
.catch(error => request.error(error))
60+
try {
61+
await request.validateToken()
62+
return request.renderForm()
63+
} catch (error) {
64+
return request.error(error)
65+
}
6466
}
6567

6668
/**
@@ -86,12 +88,14 @@ class DeleteAccountConfirmRequest extends AuthRequest {
8688
*
8789
* @return {Promise}
8890
*/
89-
static handlePost (request) {
90-
return Promise.resolve()
91-
.then(() => request.validateToken())
92-
.then(tokenContents => request.deleteAccount(tokenContents))
93-
.then(() => request.renderSuccess())
94-
.catch(error => request.error(error))
91+
static async handlePost (request) {
92+
try {
93+
const tokenContents = await request.validateToken()
94+
await request.deleteAccount(tokenContents)
95+
return request.renderSuccess()
96+
} catch (error) {
97+
return request.error(error)
98+
}
9599
}
96100

97101
/**
@@ -102,24 +106,20 @@ class DeleteAccountConfirmRequest extends AuthRequest {
102106
*
103107
* @return {Promise<Object|false>}
104108
*/
105-
validateToken () {
106-
return Promise.resolve()
107-
.then(() => {
108-
if (!this.token) { return false }
109-
110-
return this.accountManager.validateDeleteToken(this.token)
111-
})
112-
.then(validToken => {
113-
if (validToken) {
114-
this.validToken = true
115-
}
116-
117-
return validToken
118-
})
119-
.catch(error => {
120-
this.token = null
121-
throw error
122-
})
109+
async validateToken () {
110+
try {
111+
if (!this.token) {
112+
return false
113+
}
114+
const validToken = await this.accountManager.validateDeleteToken(this.token)
115+
if (validToken) {
116+
this.validToken = true
117+
}
118+
return validToken
119+
} catch (error) {
120+
this.token = null
121+
throw error
122+
}
123123
}
124124

125125
/**
@@ -129,17 +129,15 @@ class DeleteAccountConfirmRequest extends AuthRequest {
129129
*
130130
* @return {Promise}
131131
*/
132-
deleteAccount (tokenContents) {
132+
async deleteAccount (tokenContents) {
133133
let user = this.accountManager.userAccountFrom(tokenContents)
134134
let accountDir = this.accountManager.accountDirFor(user.username)
135135

136136
debug('Preparing removal of account for user:', user)
137137

138-
return Promise.resolve().then(() => {
139-
this.userStore.deleteUser(user)
140-
.then(() => fs.remove(accountDir))
141-
.then(() => debug('Removed user ' + user.username))
142-
})
138+
await this.userStore.deleteUser(user)
139+
await fs.remove(accountDir)
140+
debug('Removed user' + user.username)
143141
}
144142

145143
/**

lib/requests/delete-account-request.js

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class DeleteAccountRequest extends AuthRequest {
3030
*
3131
* @returns {Promise<UserAccount>}
3232
*/
33-
loadUser () {
33+
async loadUser () {
3434
let username = this.username
3535

3636
return this.accountManager.accountExists(username)
@@ -70,17 +70,15 @@ class DeleteAccountRequest extends AuthRequest {
7070
*
7171
* @return {Promise}
7272
*/
73-
sendDeleteLink (userAccount) {
73+
async sendDeleteLink (userAccount) {
7474
let accountManager = this.accountManager
7575

76-
return accountManager.loadAccountRecoveryEmail(userAccount)
77-
.then(recoveryEmail => {
78-
userAccount.email = recoveryEmail
76+
const recoveryEmail = await accountManager.loadAccountRecoveryEmail(userAccount)
77+
userAccount.email = recoveryEmail
7978

80-
debug('Preparing delete account email to:', recoveryEmail)
79+
debug('Preparing delete account email to:', recoveryEmail)
8180

82-
return accountManager.sendDeleteAccountEmail(userAccount)
83-
})
81+
return accountManager.sendDeleteAccountEmail(userAccount)
8482
}
8583

8684
/**
@@ -95,7 +93,7 @@ class DeleteAccountRequest extends AuthRequest {
9593
}
9694
}
9795

98-
static post (req, res) {
96+
static async post (req, res) {
9997
const request = DeleteAccountRequest.fromParams(req, res)
10098

10199
debug(`User '${request.username}' requested to be sent a delete account email`)
@@ -111,13 +109,15 @@ class DeleteAccountRequest extends AuthRequest {
111109
*
112110
* @return {Promise}
113111
*/
114-
static handlePost (request) {
115-
return Promise.resolve()
116-
.then(() => request.validate())
117-
.then(() => request.loadUser())
118-
.then(userAccount => request.sendDeleteLink(userAccount))
119-
.then(() => request.renderSuccess())
120-
.catch(error => request.error(error))
112+
static async handlePost (request) {
113+
try {
114+
request.validate()
115+
const userAccount = await request.loadUser()
116+
await request.sendDeleteLink(userAccount)
117+
return request.renderSuccess()
118+
} catch (error) {
119+
return request.error(error)
120+
}
121121
}
122122

123123
static get (req, res) {

0 commit comments

Comments
 (0)