69
69
] ) )
70
70
. then ( ( [ user ] ) => Promise . all ( [
71
71
user . id ,
72
- knex . first ( "id" ) . where ( { id : user . id } ) . from ( "users" ) ,
72
+ knex ( "users" ) . first ( "id" ) . where ( { id : user . id } ) ,
73
73
] ) )
74
74
. then ( ( [ id , exists ] ) => {
75
75
const token = uuid . v1 ( )
96
96
} )
97
97
. delete ( "/auth/token/:token" , async ( ctx , next ) => {
98
98
const { token} = ctx . params
99
- await knex . first ( "id" , "revoked" ) . where ( "token" , token ) . from ( "users" )
99
+ await knex ( "users" ) . first ( "id" , "revoked" ) . where ( "token" , token )
100
100
. then ( user => {
101
101
ctx . assert ( user , 404 )
102
102
ctx . assert ( ! user . revoked , 400 )
@@ -116,7 +116,7 @@ router
116
116
// Token should be "Authorization: Bearer <UUID>"
117
117
const token = auth . replace ( / ^ B e a r e r / , "" )
118
118
// Authentication (token to user)
119
- await knex . first ( "id" ) . where ( "token" , token ) . from ( "users" )
119
+ await knex ( "users" ) . first ( "id" ) . where ( "token" , token )
120
120
. then ( user => {
121
121
ctx . assert ( user , 403 )
122
122
ctx . user = user . id
@@ -125,7 +125,7 @@ router
125
125
} )
126
126
. get ( "/:username/items/:id" , async ( ctx , next ) => {
127
127
// Get disliked status and dislike count from DB
128
- await knex . select ( "by_whom" ) . where ( { id : ctx . params . id , state : true } ) . from ( "item_dislike" )
128
+ await knex ( "item_dislike" ) . select ( "by_whom" ) . where ( { id : ctx . params . id , state : true } )
129
129
. then ( users => {
130
130
ctx . body = {
131
131
disliked : users . map ( _ => _ . by_whom ) . includes ( ctx . user ) ,
@@ -136,27 +136,12 @@ router
136
136
. post ( "/:username/items/:id" , async ( ctx , next ) => {
137
137
// Set disliked status and get new dislike count
138
138
const { id, username} = ctx . params
139
- await knex . first ( "state" ) . where ( { id, by_whom : ctx . user } ) . from ( "item_dislike" )
139
+ await knex ( "item_dislike" ) . first ( "state" ) . where ( { id, by_whom : ctx . user } )
140
140
. then ( disliked => {
141
141
if ( disliked === undefined ) {
142
- return knex . transaction ( trx => knex ( "item_dislike" )
143
- . transacting ( trx )
144
- . insert ( { id, username, by_whom : ctx . user , state : true } )
145
- . then ( trx . commit )
146
- . catch ( e => {
147
- trx . rollback ( )
148
- throw e
149
- } ) )
142
+ return knex ( "item_dislike" ) . insert ( { id, username, by_whom : ctx . user , state : true } )
150
143
} else if ( ! disliked . state ) {
151
- return knex . transaction ( trx => knex ( "item_dislike" )
152
- . transacting ( trx )
153
- . where ( { id, by_whom : ctx . user } )
154
- . update ( { state : true } )
155
- . then ( trx . commit )
156
- . catch ( e => {
157
- trx . rollback ( )
158
- throw e
159
- } ) )
144
+ return knex ( "item_dislike" ) . where ( { id, by_whom : ctx . user } ) . update ( { state : true } )
160
145
} else {
161
146
ctx . throw ( 405 )
162
147
}
@@ -168,18 +153,9 @@ router
168
153
. delete ( "/:username/items/:id" , async ( ctx , next ) => {
169
154
// Unset disliked status and get new dislike count
170
155
const { id, username} = ctx . params
171
- await knex . first ( "state" ) . where ( { id, by_whom : ctx . user } ) . from ( "item_dislike" )
156
+ await knex ( "item_dislike" ) . first ( "state" ) . where ( { id, by_whom : ctx . user } )
172
157
. then ( disliked => ctx . assert ( ! ! disliked && disliked . state , 405 ) )
173
- . then ( ( ) => knex . transaction ( trx => knex ( "item_dislike" )
174
- . transacting ( trx )
175
- . where ( { id, by_whom : ctx . user } )
176
- . update ( { state : false } )
177
- . then ( trx . commit )
178
- . catch ( e => {
179
- trx . rollback ( )
180
- throw e
181
- } )
182
- ) )
158
+ . then ( ( ) => knex ( "item_dislike" ) . where ( { id, by_whom : ctx . user } ) . update ( { state : false } ) )
183
159
. then ( ( ) => {
184
160
ctx . body = { complete : true }
185
161
} )
0 commit comments