UNPKG

code-push-server

Version:

CodePush service is hotupdate services which adapter react-native-code-push and cordova-plugin-code-push

73 lines (66 loc) 2.02 kB
var express = require('express'); var router = express.Router(); var _ = require('lodash'); var security = require('../core/utils/security'); var accountManager = require('../core/services/account-manager')(); var AppError = require('../core/app-error'); router.get('/login', (req, res) => { var config = require('../core/config'); var codePushWebUrl = _.get(config, 'common.codePushWebUrl'); var isRedirect = false; if (codePushWebUrl) { var validator = require('validator'); if (validator.isURL(codePushWebUrl)){ isRedirect = true; } } if (isRedirect) { res.redirect(`${codePushWebUrl}/login`); } else { res.render('auth/login', { title: 'CodePushServer' }); } }); router.get('/link', (req, res) => { res.redirect(`/auth/login`); }); router.get('/register', (req, res) => { var config = require('../core/config'); var codePushWebUrl = _.get(config, 'common.codePushWebUrl'); var isRedirect = false; if (codePushWebUrl) { var validator = require('validator'); if (validator.isURL(codePushWebUrl)){ isRedirect = true; } } if (isRedirect) { res.redirect(`${codePushWebUrl}/register`); } else { res.render('auth/login', { title: 'CodePushServer' }); } }); router.post('/logout', (req, res) => { res.send("ok"); }); router.post('/login', (req, res, next) => { var account = _.trim(req.body.account); var password = _.trim(req.body.password); var config = require('../core/config'); var tokenSecret = _.get(config, 'jwt.tokenSecret'); accountManager.login(account, password) .then((users) => { var jwt = require('jsonwebtoken'); return jwt.sign({ uid: users.id, hash: security.md5(users.ack_code), expiredIn: 7200 }, tokenSecret); }) .then((token) => { res.send({status:'OK', results: {tokens: token}}); }) .catch((e) => { if (e instanceof AppError.AppError) { res.send({status:'ERROR', errorMessage: e.message}); } else { next(e); } }); }); module.exports = router;