Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- router.post('/user', async (ctx, next) => {
- let body = await validate(ctx.request.body, registerUserSchema)
- .catch(e => ctx.throw(400, e.message))
- let UserModel = ctx.models['user']
- let User = new UserModel()
- let exists = await User.exists(body.email)
- .catch(e => ctx.throw(400, e.message))
- if (exists) ctx.throw(409, 'email already in use')
- let password = await hashPassword(body.password)
- .catch(e => ctx.throw(400, e.message))
- let newUser = {
- email: body.email,
- password,
- createdAt: Date.now(),
- loginType: 1
- }
- let user = await User.add(newUser)
- .catch(e => ctx.throw(400, e.message))
- let payload = only(user, '_id')
- let token = await encode(payload)
- .catch(e => e.message)
- ctx.body = {
- token
- }
- })
- }
Add Comment
Please, Sign In to add comment