mirror of
https://github.com/Permissionless-Software-Foundation/bch-dex.git
synced 2026-09-21 16:52:00 -07:00
Use getUser as middleware for code reuse
This commit is contained in:
@@ -24,10 +24,10 @@ export async function createUser(ctx) {
|
||||
|
||||
export async function getUsers(ctx) {
|
||||
const users = await User.find({}, '-password -salt')
|
||||
ctx.body = users
|
||||
ctx.body = { users }
|
||||
}
|
||||
|
||||
export async function getUser(ctx) {
|
||||
export async function getUser(ctx, next) {
|
||||
try {
|
||||
const user = await User.findById(ctx.params.id, '-password -salt')
|
||||
if (!user) {
|
||||
@@ -44,48 +44,29 @@ export async function getUser(ctx) {
|
||||
|
||||
ctx.throw(500)
|
||||
}
|
||||
|
||||
next()
|
||||
}
|
||||
|
||||
export async function updateUser(ctx) {
|
||||
try {
|
||||
const user = await User.findById(ctx.params.id, '-password -salt')
|
||||
if (!user) {
|
||||
ctx.throw(404)
|
||||
}
|
||||
const user = ctx.body.user
|
||||
|
||||
Object.assign(user, ctx.request.body.user)
|
||||
Object.assign(user, ctx.request.body.user)
|
||||
|
||||
await user.save()
|
||||
ctx.body = {
|
||||
user
|
||||
}
|
||||
} catch (err) {
|
||||
if (err === 404 || err.name === 'CastError') {
|
||||
ctx.throw(404)
|
||||
}
|
||||
await user.save()
|
||||
|
||||
ctx.throw(500)
|
||||
ctx.body = {
|
||||
user
|
||||
}
|
||||
}
|
||||
|
||||
export async function deleteUser(ctx) {
|
||||
try {
|
||||
const user = await User.findById(ctx.params.id)
|
||||
if (!user) {
|
||||
ctx.throw(404)
|
||||
}
|
||||
const user = ctx.body.user
|
||||
|
||||
await user.remove()
|
||||
await user.remove()
|
||||
|
||||
ctx.status = 200
|
||||
ctx.body = {
|
||||
success: true
|
||||
}
|
||||
} catch (err) {
|
||||
if (err === 404 || err.name === 'CastError') {
|
||||
ctx.throw(404)
|
||||
}
|
||||
|
||||
ctx.throw(500)
|
||||
ctx.status = 200
|
||||
ctx.body = {
|
||||
sucess: true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ export default [
|
||||
route: '/:id',
|
||||
handlers: [
|
||||
ensureUser,
|
||||
user.getUser,
|
||||
user.updateUser
|
||||
]
|
||||
},
|
||||
@@ -40,6 +41,7 @@ export default [
|
||||
route: '/:id',
|
||||
handlers: [
|
||||
ensureUser,
|
||||
user.getUser,
|
||||
user.deleteUser
|
||||
]
|
||||
}
|
||||
|
||||
+9
-1
@@ -56,7 +56,15 @@ describe('Users', () => {
|
||||
request
|
||||
.get(`/users?token=${token}`)
|
||||
.set('Accept', 'application/json')
|
||||
.expect(200, done)
|
||||
.expect(200, (err, res) => {
|
||||
if (err) { return done(err) }
|
||||
|
||||
res.body.should.have.property('users')
|
||||
|
||||
res.body.users.should.have.length(1)
|
||||
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user