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) {
|
export async function getUsers(ctx) {
|
||||||
const users = await User.find({}, '-password -salt')
|
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 {
|
try {
|
||||||
const user = await User.findById(ctx.params.id, '-password -salt')
|
const user = await User.findById(ctx.params.id, '-password -salt')
|
||||||
if (!user) {
|
if (!user) {
|
||||||
@@ -44,48 +44,29 @@ export async function getUser(ctx) {
|
|||||||
|
|
||||||
ctx.throw(500)
|
ctx.throw(500)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
next()
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updateUser(ctx) {
|
export async function updateUser(ctx) {
|
||||||
try {
|
const user = ctx.body.user
|
||||||
const user = await User.findById(ctx.params.id, '-password -salt')
|
|
||||||
if (!user) {
|
|
||||||
ctx.throw(404)
|
|
||||||
}
|
|
||||||
|
|
||||||
Object.assign(user, ctx.request.body.user)
|
Object.assign(user, ctx.request.body.user)
|
||||||
|
|
||||||
await user.save()
|
await user.save()
|
||||||
ctx.body = {
|
|
||||||
user
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
if (err === 404 || err.name === 'CastError') {
|
|
||||||
ctx.throw(404)
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.throw(500)
|
ctx.body = {
|
||||||
|
user
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function deleteUser(ctx) {
|
export async function deleteUser(ctx) {
|
||||||
try {
|
const user = ctx.body.user
|
||||||
const user = await User.findById(ctx.params.id)
|
|
||||||
if (!user) {
|
|
||||||
ctx.throw(404)
|
|
||||||
}
|
|
||||||
|
|
||||||
await user.remove()
|
await user.remove()
|
||||||
|
|
||||||
ctx.status = 200
|
ctx.status = 200
|
||||||
ctx.body = {
|
ctx.body = {
|
||||||
success: true
|
sucess: true
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
if (err === 404 || err.name === 'CastError') {
|
|
||||||
ctx.throw(404)
|
|
||||||
}
|
|
||||||
|
|
||||||
ctx.throw(500)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ export default [
|
|||||||
route: '/:id',
|
route: '/:id',
|
||||||
handlers: [
|
handlers: [
|
||||||
ensureUser,
|
ensureUser,
|
||||||
|
user.getUser,
|
||||||
user.updateUser
|
user.updateUser
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -40,6 +41,7 @@ export default [
|
|||||||
route: '/:id',
|
route: '/:id',
|
||||||
handlers: [
|
handlers: [
|
||||||
ensureUser,
|
ensureUser,
|
||||||
|
user.getUser,
|
||||||
user.deleteUser
|
user.deleteUser
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-1
@@ -56,7 +56,15 @@ describe('Users', () => {
|
|||||||
request
|
request
|
||||||
.get(`/users?token=${token}`)
|
.get(`/users?token=${token}`)
|
||||||
.set('Accept', 'application/json')
|
.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