Built motion from commit 994c64e1.|2.6.1
[motion2.git] / server / api / version / version.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xfec7=['origin','error','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','--hard','git\x20reset\x20--hard\x20FETCH_HEAD','git\x20reset\x20--hard','pull','npm\x20install\x20--production','restart','motion2','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','migrations','readdirSync','join','server','length','replace','.js','push','sort','sequelize','Migration','getQueryInterface','constructor','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','map','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','lodash','compare-versions','root','index','exports','version','query','latest','fetch','tags','2.0.0','status','json'];(function(_0x1651ae,_0x13ad2a){var _0x46cec5=function(_0x20ce22){while(--_0x20ce22){_0x1651ae['push'](_0x1651ae['shift']());}};_0x46cec5(++_0x13ad2a);}(_0xfec7,0xec));var _0x7fec=function(_0x48966a,_0x4555c3){_0x48966a=_0x48966a-0x0;var _0x2089df=_0xfec7[_0x48966a];return _0x2089df;};'use strict';var Umzug=require(_0x7fec('0x0'));var path=require('path');var fs=require('fs');var _=require(_0x7fec('0x1'));var pkginfo=require('pkginfo')(module,'version');var compareVersions=require(_0x7fec('0x2'));var exec=require('child_process')['exec'];var db=require('../../mysqldb')['db'];var config=require('../../config/environment');var pm2=require('../../config/pm2');var logger=require('../../config/logger')('update');var git=require('simple-git')(config[_0x7fec('0x3')]);exports[_0x7fec('0x4')]=function(_0x48573b,_0x1c6a1e){var _0x5800c8={'current':module[_0x7fec('0x5')][_0x7fec('0x6')],'phonebar':0x2};if(_0x48573b[_0x7fec('0x7')]&&_0x48573b[_0x7fec('0x7')][_0x7fec('0x8')]){return git[_0x7fec('0x9')]()[_0x7fec('0xa')](function(_0x3619e8,_0x5b5d6e){_0x5800c8[_0x7fec('0x8')]=(_0x3619e8?module[_0x7fec('0x5')][_0x7fec('0x6')]:_0x5b5d6e[_0x7fec('0x8')])||_0x7fec('0xb');return _0x1c6a1e[_0x7fec('0xc')](0xc8)['json'](_0x5800c8);});}else{return _0x1c6a1e[_0x7fec('0xc')](0xc8)[_0x7fec('0xd')](_0x5800c8);}};exports['fetch']=function(_0x2edf9a,_0x3dd990){return git[_0x7fec('0x9')]([_0x7fec('0xe'),'master'],function(_0x458e36){if(_0x458e36){logger[_0x7fec('0xf')](_0x458e36);return _0x3dd990[_0x7fec('0xc')](0x1f4)[_0x7fec('0xd')](_0x458e36);}logger[_0x7fec('0x10')](_0x7fec('0x11'));return _0x3dd990[_0x7fec('0xc')](0xc8)[_0x7fec('0xd')]({'output':_0x7fec('0x12')});});};exports['reset']=function(_0x5375cc,_0x4fab6d){return git[_0x7fec('0x13')]([_0x7fec('0x14'),'FETCH_HEAD'],function(_0xe5f7b1){if(_0xe5f7b1){logger['error'](_0xe5f7b1);return _0x4fab6d[_0x7fec('0xc')](0x1f4)[_0x7fec('0xd')](_0xe5f7b1);}logger['info'](_0x7fec('0x15'));return _0x4fab6d['status'](0xc8)['json']({'output':_0x7fec('0x16')});});};exports[_0x7fec('0x17')]=function(_0x1edc98,_0x552963){exec(_0x7fec('0x18'),function(_0x4ccceb,_0x9de8b1,_0xa31063){logger['info'](_0x9de8b1);logger[_0x7fec('0x10')](_0xa31063);if(_0x4ccceb){logger[_0x7fec('0xf')](_0x4ccceb);return _0x552963['status'](0x1f4)[_0x7fec('0xd')](_0x4ccceb);}return _0x552963[_0x7fec('0xc')](0xc8)[_0x7fec('0xd')]({'output':_0x9de8b1});});};exports[_0x7fec('0x19')]=function(_0x251f34,_0x53a7f8){return pm2[_0x7fec('0x19')](_0x7fec('0x1a'))['then'](function(_0x279f46){logger[_0x7fec('0x10')](_0x7fec('0x1b'),_0x279f46);return _0x53a7f8[_0x7fec('0xc')](0xc8)[_0x7fec('0xd')]({'output':_0x7fec('0x1c')});})[_0x7fec('0x1d')](function(_0x39d2d5){logger[_0x7fec('0xf')](_0x39d2d5);return _0x53a7f8['status'](0x1f4)[_0x7fec('0xd')](_0x39d2d5);});};exports[_0x7fec('0x1e')]=function(_0x4efe6e,_0x5a029d){var _0x2b67af=fs[_0x7fec('0x1f')](path[_0x7fec('0x20')](config[_0x7fec('0x3')],_0x7fec('0x21'),_0x7fec('0x1e')));var _0x54dabd=[];for(var _0x30d0a0=0x0;_0x30d0a0<_0x2b67af[_0x7fec('0x22')];_0x30d0a0++){var _0x8a6228=_0x2b67af[_0x30d0a0][_0x7fec('0x23')](_0x7fec('0x24'),'');if(compareVersions(module['exports'][_0x7fec('0x6')],_0x8a6228)===-0x1){_0x54dabd[_0x7fec('0x25')](_0x8a6228);}}if(_0x54dabd[_0x7fec('0x22')]){var _0x439a24=_0x54dabd[_0x7fec('0x26')](compareVersions);var _0x5eafd9=new Umzug({'storage':_0x7fec('0x27'),'storageOptions':{'model':db[_0x7fec('0x28')],'modelName':'Migration','columnName':_0x7fec('0x6')},'migrations':{'params':[db[_0x7fec('0x27')][_0x7fec('0x29')](),db[_0x7fec('0x27')][_0x7fec('0x2a')],function(){throw new Error(_0x7fec('0x2b'));}],'path':path[_0x7fec('0x20')](config[_0x7fec('0x3')],'server',_0x7fec('0x1e')),'pattern':/\.js$/}});_0x5eafd9['up']({'migrations':_[_0x7fec('0x2c')](_0x439a24,function(_0x4b05d5){return _0x4b05d5+_0x7fec('0x24');})})['then'](function(){return _0x5a029d[_0x7fec('0xc')](0xc8)['json']({'output':_0x7fec('0x2d')+module[_0x7fec('0x5')][_0x7fec('0x6')]+_0x7fec('0x2e')+_[_0x7fec('0x2f')](_0x439a24),'migrations':_[_0x7fec('0x20')](_0x439a24)});})['catch'](function(_0x1e1ff7){if(_0x1e1ff7 instanceof db[_0x7fec('0x27')][_0x7fec('0x30')]){return _0x5a029d['status'](0xc8)[_0x7fec('0xd')]({'output':_0x7fec('0x31')});}else{return _0x5a029d['status'](0x1f4)[_0x7fec('0xd')](_0x1e1ff7);}});}else{return _0x5a029d[_0x7fec('0xc')](0xc8)['json']({'output':_0x7fec('0x31')});}};