Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var _ = require('underscore');
- //var qs = require('qs');
- var cookie = require('cookie');
- var http = require('https');
- var wsapi = require('../lib/wsapi')('v1account');
- var crypto = require('crypto');
- var fs = require('fs');
- var log = require('../lib/ws-history')();
- var tk = require('../lib/ws-token');
- console.log('LOOOOGGGGGGGGGGTTTTKKKKKKK', tk);
- var mail = require('../lib/ws-mailer')();
- var otnDid = require('../lib/diddyn/diddyn/wsr');
- console.log('OTN', otnDid);
- module.exports = function(app) {
- // require('wsapi').debug();
- var is_auth = function(req) {
- return ('session' in req) && (req.session.accountId !== null && req.session.accountId !== undefined);
- };
- var version = function(real, cb) {
- if (real === true) {
- var a = __dirname.split('/');
- cb(a[a.length - 2]);
- } else {
- fs.readFile('../../version', function(err, res) {
- console.log(err, res);
- if (err) {
- version(true, cb);
- } else {
- cb('' + res);
- }
- });
- }
- }
- app.get('/api/v2/version', function(req, res, next) {
- if ('full' in req.query && req.query.full == 1) {
- console.log('A');
- version(true, function(v1) {
- console.log('B');
- version(false, function(v2) {
- res.send([v1, v2, app.get('env')]);
- });
- });
- } else {
- version(true, function(v) {
- res.send(v);
- });
- }
- });
- app.get('/api/v2/current', function(req, res, next) {
- version(false, function(v) {
- res.send(v);
- });
- });
- app.post('/api/user/add', function(req, res, next) {
- if (req.body.passauto == 'true') {
- var randomstring = Math.random().toString(36).slice(-8);
- console.log("password generate", randomstring);
- req.body.pass = randomstring;
- req.body.passauto = false;
- }
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- if (err) {
- res.json({});
- } else {
- console.log('BBEEEFOOORREE LLOOGGGUSSSERRR');
- var idAddUser = {
- data: data.id,
- };
- var logUser = {
- name: req.body.name,
- level: req.body.level,
- email: req.body.email,
- login: req.body.login,
- type: "user"
- };
- logUser['id'] = idAddUser;
- testid = idAddUser.data;
- var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
- var token = '';
- for (var i = 16; i > 0; --i) {
- token += chars[Math.round(Math.random() * (chars.length - 1))];
- }
- // penser a crypter le token var hash = bcrypt.hashSync(token, 8);
- var expires = new Date();
- expires.setHours(expires.getHours() + 6);
- console.log('EXPPPPIIIERRRERERE', expires);
- logUser.resetToken = {
- token: token,
- expires: expires
- };
- var mainsite = req.headers.host.split('.').slice(-2, -1);
- require('../lib/wstranslate-npm')(null, true).init('fr', function(err, wst) {
- console.log('before require');
- fs.readFile(__dirname + '/mail_wannaspeak.html', "utf-8", function(err, html) {
- if (err) {
- throw err;
- }
- if (mainsite == 'wannaspeak') {
- html = html.replace(/<!-- START/g, '');
- html = html.replace(/STOP -->/g, '');
- }
- html = html.replace(/mainsiteurl/g, wst.get('mainsite.' + mainsite + '.url', mainsite + '.com'));
- html = html.replace(/mainsitelabel/g, wst.get('mainsite.' + mainsite + '.label', mainsite));
- html = html.replace(/mainsite/g, mainsite);
- html = html.replace('{{ login }}', req.body.login);
- html = html.replace('{{ password }}', req.body.pass);
- html = html.replace('{{ name }}', req.body.name);
- host = req.get('host');
- console.log("HOOOOSSTSTTTTTTTT" + host);
- link = "http://" + req.get('host') + "/#token_" + token;
- var mailOptions = {
- from: '"Support ' + wst.get('mainsite.' + mainsite + '.label', mainsite) + '" <support@' + wst.get('mainsite.' + mainsite + '.url', mainsite + '.com') + '>', // sender address
- to: req.body.email, // list of receivers
- subject: '[' + wst.get('mainsite.' + mainsite + '.label', mainsite) + '] - Votre nouveau compte ✔', // Subject line
- text: 'Welcome to ' + wst.get('mainsite.' + mainsite + '.label', mainsite), // plaintext body
- html: "Hello,<br> Cliquez pour verifier le mail.<br><a href=" + link + ">Cliquez ici pour verifier</a>"
- };
- console.log(mailOptions, 'MAAAAAILLLLOPPPTTTIONNNAFFTEEEERRR');
- console.log('after mailoption', mailOptions);
- console.log('before send mail');
- mail.send(mailOptions);
- });
- });
- new wsapi('session-v1').v1cookie(req).cb(function(err, me) {
- if (me.no == 200) {
- var userConnected = {
- name: me.details.name,
- level: me.details.level,
- email: me.details.email,
- login: me.details.login,
- cid: me.details.cid
- }
- log.add(userConnected, 'log.user.add', logUser, "V2");
- tk.add(token, idAddUser, logUser, expires);
- }
- }).v1account.me();
- res.json(data);
- }
- }).v1account.add(req.body);
- });
- app.get('/api/account/token_/:token', (req, res) => {
- const token = req.params.token;
- tk.verifytoken(token, function(err, doc){
- console.log('e', err, );
- if(err) {
- res.status(doc).send(err);
- return;
- }else{
- res.send('200')
- }
- });
- });
- app.post('/api/account/token_/:token', (req, res) => {
- var token2 = req.params.token;
- tk.verifytoken(token, function(err, doc){
- if(err) {
- console.log(err);
- res.status(doc);
- return;
- console.log(err);
- }
- });
- //verifytoken(token, function(err, token2))
- });
- /*app.post('/api/account/changePassword//', (req, res, next) => {
- var data = {
- "datas": {
- password: req.params.password,
- id: req.params.id
- }
- };
- send.json(data)
- console.log("lllllllllllllll");
- const id = req.params.id;
- console.log(id,'IIIDDDDDDDDPASWOORDDCHANNGZE');
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- console.log(data, 'DAATATATATATTATATATAT');
- var ret = data;
- console.log(ret, 'RREEEEEEEEEEEEEETTTTTTTTTTTTTTTttttt');
- res.json(ret.no == 200);
- }).v1account.changePassword(req.body.checkPass, id)
- });*/
- app.post('/api/user/edit', function(req, res, next) {
- console.log(req.body);
- var logUser = {
- name: req.body.name,
- level: req.body.level,
- email: req.body.email,
- login: req.body.login,
- type: "user"
- };
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- //console.log('details', err, data);
- if (err) {
- res.json({});
- } else {
- new wsapi('session-v1').v1cookie(req).cb(function(err, me) {
- if (me.no == 200) {
- var userConnected = {
- name: me.details.name,
- level: me.details.level,
- email: me.details.email,
- login: me.details.login,
- cid: me.details.id
- }
- log.add(userConnected, 'log.user.edit', logUser, "V2");
- }
- }).v1account.me();
- res.json(data);
- }
- }).v1account.edit(req.body);
- });
- app.post('/api/user/toggle', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- //console.log('details', err, data);
- if (err) {
- res.json({});
- } else {
- res.json(data);
- }
- }).v1account.offline(req.body);
- });
- app.post('/api/user/delete', function(req, res, next) {
- var logUser = {
- id: req.body.user.id,
- name: req.body.user.name,
- level: req.body.user.level,
- email: req.body.user.email,
- login: req.body.user.login,
- type: "user"
- };
- console.log(logUser, );
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- if (err) {
- res.json({});
- } else {
- new wsapi('session-v1').v1cookie(req).cb(function(err, me) {
- if (me.no == 200) {
- var userConnected = {
- name: me.details.name,
- level: me.details.level,
- email: me.details.email,
- login: me.details.login,
- cid: me.details.cid
- };
- log.add(userConnected, 'log.user.delete', logUser, "V2");
- }
- }).v1account.me();
- res.json(data);
- }
- }).v1account.delete(req.body);
- });
- app.get('/api/account/details', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- //console.log('details', err, data);
- if (err) {
- res.json({});
- } else {
- res.json(data.details);
- }
- }).v1account.details();
- });
- app.get('/api/account/history/:id', function(req, res, next) {
- var id = req.params.id;
- if (id == 'self') {
- id = req.session.accountId;
- }
- log.get(id, function(err, data) {
- if (err) {
- res.json(err)
- } else {
- res.json(data);
- }
- });
- });
- app.get('/api/account/sid', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- //console.log('Sid', err, data);
- if (err) {
- res.json({});
- } else {
- res.json(data.sid);
- }
- }).v1account.sid();
- });
- app.get('/api/account/users/:account', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- //console.log('Sid', err, data);
- if (err) {
- res.json({});
- } else {
- res.json(data.users);
- }
- }).v1account.users(req.params.account !== 'me' ? req.params.account : undefined);
- });
- app.get('/api/account/users', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- //console.log('Sid', err, data);
- if (err) {
- res.json({});
- } else {
- res.json(data.users);
- }
- }).v1account.users();
- });
- app.get('/api/account', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- var ret = data;
- if (ret.no == 200) {
- req.session.vr = ret.details.aid;
- req.session.mainaccountId = ret.details.cid;
- req.session.accountId = ret.details.wid;
- ret.details.vrid = crypto.createHash('md5').update(req.session.vrid).digest("hex") + req.session.vrid;
- res.json(ret.details);
- } else {
- res.json(false);
- }
- }).v1account.me();
- });
- app.get('/api/account/me', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- var ret = data;
- if (ret.no == 200) {
- req.session.vr = ret.details.aid;
- req.session.mainaccountId = ret.details.cid;
- req.session.accountId = ret.details.wid;
- req.session.user = ret.details;
- ret.details.vrid = crypto.createHash('md5').update(req.session.vrid).digest("hex") + req.session.vrid;
- otnDid.isSource(req.session.accountId, function(err, data) {
- ret.details['diddynstatssource'] = data ? 1 : 0;
- res.json(ret.details);
- });
- } else {
- res.json(false);
- }
- }).v1account.me();
- });
- app.get('/api/account/:id', function(req, res, next) {
- var id = req.params.id;
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- var ret = data;
- if (ret.no == 200) {
- req.session.vr = ret.details.aid;
- req.session.mainaccountId = ret.details.cid;
- req.session.accountId = ret.details.wid;
- ret.details.vrid = crypto.createHash('md5').update(req.session.vrid).digest("hex") + req.session.vrid;
- res.json(ret.details);
- } else {
- res.json(false);
- }
- }).v1account.id(id);
- });
- app.get('/api/account/info', function(req, res, next) {
- //console.log('Session', req.session, ('session' in req), req.session.accountId !== null && req.session.accountId !== undefined, ('session' in req) && req.session.accountId !== null);
- if (!is_auth(req)) {
- res.json(false);
- } else {
- res.json(true);
- }
- });
- app.post('/api/account/info', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- var ret = data;
- if (ret.no == 200) {
- req.session.vr = ret.id;
- req.session.accountId = ret.cid;
- res.json(true);
- } else {
- res.json(false);
- }
- }).v1account.auth(req.body.user, req.body.password);
- });
- app.post('/api/account/forget/:email', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- var ret = data;
- res.json(ret.no == 200);
- }).v1account.forget(req.params.email);
- });
- app.delete('/api/account/info', function(req, res, next) {
- if (is_auth(req)) {
- console.log('Pre Session', req.session);
- var a = ['accountId', 'vrid']
- for (var i in a) {
- //console.log(a[i]);
- delete req.session[a[i]];
- }
- console.log('Final Session', req.session);
- }
- res.json(true);
- });
- app.post('/api/account/change/:id', function(req, res, next) {
- new wsapi('session-v1').v1cookie(req).cb(function(err, data) {
- if (err) {
- res.json(false);
- } else {
- res.json(true)
- }
- }).v1account.change(req.params.id);
- });
- app.public_allow.push('/v1import');
- app.get('/v1import', function(req, res, next) {
- require('../tools/import')();
- res.send('OK');
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement