UNPKG

3.04 kBJavaScriptView Raw
1var express = require('express');
2var router = express.Router();
3var Promise = require('bluebird');
4var _ = require('lodash');
5var models = require('../models');
6var middleware = require('../core/middleware');
7var AccountManager = require('../core/services/account-manager');
8var AppError = require('../core/app-error')
9
10router.get('/', middleware.checkToken, (req, res) => {
11 res.send({ title: 'CodePushServer' });
12});
13
14router.post('/', (req, res, next) => {
15 var email = _.trim(_.get(req, 'body.email'));
16 var token = _.trim(_.get(req, 'body.token'));
17 var password = _.trim(_.get(req, 'body.password'));
18 var accountManager = new AccountManager();
19 return accountManager.checkRegisterCode(email, token)
20 .then((u) => {
21 if (_.isString(password) && password.length < 6) {
22 throw new AppError.AppError('请您输入6~20位长度的密码');
23 }
24 return accountManager.register(email, password);
25 })
26 .then(() => {
27 res.send({status: "OK"});
28 })
29 .catch((e) => {
30 if (e instanceof AppError.AppError) {
31 res.send({status: "ERROR", message: e.message});
32 } else {
33 next(e);
34 }
35 });
36});
37
38router.get('/exists', (req, res, next) => {
39 var email = _.trim(_.get(req, 'query.email'));
40 models.Users.findOne({where: {email: email}})
41 .then((u) => {
42 if (!email) {
43 throw new AppError.AppError(`请您输入邮箱地址`);
44 }
45 res.send({status: "OK", exists: u ? true : false});
46 })
47 .catch((e) => {
48 if (e instanceof AppError.AppError) {
49 res.send({status: "ERROR", message: e.message});
50 } else {
51 next(e);
52 }
53 });
54});
55
56router.post('/registerCode', (req, res, next) => {
57 var email = _.get(req, 'body.email');
58 var accountManager = new AccountManager();
59 return accountManager.sendRegisterCode(email)
60 .then(() => {
61 res.send({status: "OK"});
62 })
63 .catch((e) => {
64 if (e instanceof AppError.AppError) {
65 res.send({status: "ERROR", message: e.message});
66 } else {
67 next(e);
68 }
69 });
70});
71
72router.get('/registerCode/exists', (req, res, next) => {
73 var email = _.trim(_.get(req, 'query.email'));
74 var token = _.trim(_.get(req, 'query.token'));
75 var accountManager = new AccountManager();
76 return accountManager.checkRegisterCode(email, token)
77 .then(() => {
78 res.send({status: "OK"});
79 })
80 .catch((e) => {
81 if (e instanceof AppError.AppError) {
82 res.send({status: "ERROR", message: e.message});
83 } else {
84 next(e);
85 }
86 });
87});
88
89//修改密码
90router.patch('/password', middleware.checkToken, (req, res, next) => {
91 var oldPassword = _.trim(_.get(req, 'body.oldPassword'));
92 var newPassword = _.trim(_.get(req, 'body.newPassword'));
93 var uid = req.users.id;
94 var accountManager = new AccountManager();
95 return accountManager.changePassword(uid, oldPassword, newPassword)
96 .then(() => {
97 res.send({status: "OK"});
98 })
99 .catch((e) => {
100 if (e instanceof AppError.AppError) {
101 res.send({status: "ERROR", message: e.message});
102 } else {
103 next(e);
104 }
105 });
106});
107
108module.exports = router;