UNPKG

isite

Version:

Create High Level Multi-Language Web Site [Fast and Easy]

296 lines (261 loc) 6.62 kB
module.exports = function init(site) { site.post('/api/security/permissions', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } response.done = !0; response.permissions = site.security.permissions; res.json(response); }); site.post('/api/security/roles', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } response.done = !0; response.roles = site.security.roles; res.json(response); }); site.get({ name: ['security', 'security/users'], path: __dirname + '/site_files/html/index.html', parser: 'html css js', compress: !1, }); site.get({ name: '/images', path: __dirname + '/site_files/images', }); site.post('/api/users/all', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } site.security.getUsers( { limit: 1000, }, (err, docs, count) => { if (!err) { response.done = !0; for (let i = 0; i < docs.length; i++) { let u = docs[i]; u.profile = u.profile || {}; u.profile.image_url = u.profile.image_url || '/images/user.png'; } response.users = docs; response.count = count; } res.json(response); } ); }); site.post('/api/user/add', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } let user = req.body; user.$req = req; user.$res = res; site.security.addUser(user, (err, _id) => { if (!err) { response.done = !0; } else { response.error = err.message; } res.json(response); }); }); site.post('/api/user/update', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } let user = req.body; user.$req = req; user.$res = res; delete user.$$hashKey; site.security.updateUser(user, (err) => { if (!err) { response.done = !0; } else { response.error = err.message; } res.json(response); }); }); site.post('/api/user/delete', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } let id = req.body.id; if (id) { site.security.deleteUser( { id: id, $req: req, $res: res, }, (err, result) => { if (!err) { response.done = !0; } else { response.error = err.message; } res.json(response); } ); } else { response.error = 'No ID Requested'; res.json(response); } }); site.post('/api/user/view', (req, res) => { let response = { done: !1, }; if (!req.session.user) { response.error = 'You Are Not Login'; res.json(response); return; } site.security.getUser( { id: req.body.id, }, (err, doc) => { if (!err) { response.done = !0; response.doc = doc; } else { response.error = err.message; } res.json(response); } ); }); site.post('/api/user/register', (req, res) => { let response = {}; if (req.body.$encript) { if (req.body.$encript === '64') { req.body.email = site.fromBase64(req.body.email); req.body.password = site.fromBase64(req.body.password); } else if (req.body.$encript === '123') { req.body.email = site.from123(req.body.email); req.body.password = site.from123(req.body.password); } } site.security.register( { email: req.body.email, password: req.body.password, ip: req.ip, permissions: ['user'], profile: { files: [], name: req.body.email, }, $req: req, $res: res, }, function (err, doc) { if (!err) { response.user = doc; response.done = !0; } else { response.error = err.message; } res.json(response); } ); }); site.post('/api/user/login', function (req, res) { let response = { accessToken: req.session.accessToken, }; if (req.body.$encript) { if (req.body.$encript === '64') { req.body.email = site.fromBase64(req.body.email); req.body.mobile = site.fromBase64(req.body.mobile); req.body.username = site.fromBase64(req.body.username); req.body.password = site.fromBase64(req.body.password); req.body.key = site.fromBase64(req.body.key); } else if (req.body.$encript === '123') { req.body.email = site.from123(req.body.email); req.body.mobile = site.from123(req.body.mobile); req.body.username = site.from123(req.body.username); req.body.password = site.from123(req.body.password); req.body.key = site.from123(req.body.key); } } if (site.security.isUserLogin(req, res)) { response.error = 'Login Error , You Are Loged '; response.done = !0; res.json(response); return; } site.security.login( { email: req.body.email, username: req.body.username, mobile: req.body.mobile, password: req.body.password, key: req.body.key, $req: req, $res: res, }, function (err, user) { if (!err) { response.user = user; response.done = !0; } else { response.error = err.message; } res.json(response); } ); }); site.post('/api/user/logout', function (req, res) { let response = { done: !0, }; site.security.logout(req, res, (err, ok) => { response.accessToken = req.session.accessToken; if (ok) { response.done = !0; res.json(response); } else { response.error = 'You Are Not Loged'; response.done = !0; res.json(response); } }); }); };