Built motion from commit da617fac.|2.6.6
[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 _0x9b8b=['readdirSync','join','root','length','replace','.js','sort','Migration','sequelize','getQueryInterface','constructor','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','migrations','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','catch','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','path','lodash','pkginfo','compare-versions','child_process','exec','../../mysqldb','../../config/environment','../../config/logger','update','simple-git','exports','version','query','latest','tags','status','json','fetch','master','error','info','git\x20fetch','reset','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD','pull','restart','motion2','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully'];(function(_0x1181d7,_0x258715){var _0x420c2b=function(_0x5ae97f){while(--_0x5ae97f){_0x1181d7['push'](_0x1181d7['shift']());}};_0x420c2b(++_0x258715);}(_0x9b8b,0x117));var _0xb9b8=function(_0x4823ae,_0x130dc3){_0x4823ae=_0x4823ae-0x0;var _0x50fe9e=_0x9b8b[_0x4823ae];return _0x50fe9e;};'use strict';var Umzug=require(_0xb9b8('0x0'));var path=require(_0xb9b8('0x1'));var fs=require('fs');var _=require(_0xb9b8('0x2'));var pkginfo=require(_0xb9b8('0x3'))(module,'version');var compareVersions=require(_0xb9b8('0x4'));var exec=require(_0xb9b8('0x5'))[_0xb9b8('0x6')];var db=require(_0xb9b8('0x7'))['db'];var config=require(_0xb9b8('0x8'));var pm2=require('../../config/pm2');var logger=require(_0xb9b8('0x9'))(_0xb9b8('0xa'));var git=require(_0xb9b8('0xb'))(config['root']);exports['index']=function(_0xcdd33e,_0x46bec1){var _0x4f41bf={'current':module[_0xb9b8('0xc')][_0xb9b8('0xd')],'phonebar':0x2};if(_0xcdd33e[_0xb9b8('0xe')]&&_0xcdd33e['query'][_0xb9b8('0xf')]){return git['fetch']()[_0xb9b8('0x10')](function(_0x4ee024,_0x2354c9){_0x4f41bf['latest']=(_0x4ee024?module[_0xb9b8('0xc')][_0xb9b8('0xd')]:_0x2354c9[_0xb9b8('0xf')])||'2.0.0';return _0x46bec1[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')](_0x4f41bf);});}else{return _0x46bec1[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')](_0x4f41bf);}};exports[_0xb9b8('0x13')]=function(_0xfc8b47,_0x122116){return git[_0xb9b8('0x13')](['origin',_0xb9b8('0x14')],function(_0x3dd620){if(_0x3dd620){logger[_0xb9b8('0x15')](_0x3dd620);return _0x122116['status'](0x1f4)[_0xb9b8('0x12')](_0x3dd620);}logger[_0xb9b8('0x16')](_0xb9b8('0x17'));return _0x122116[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')]({'output':'git\x20fetch\x20origin\x20master'});});};exports[_0xb9b8('0x18')]=function(_0x12c430,_0x3644a5){return git['reset'](['--hard',_0xb9b8('0x19')],function(_0x5250db){if(_0x5250db){logger[_0xb9b8('0x15')](_0x5250db);return _0x3644a5[_0xb9b8('0x11')](0x1f4)[_0xb9b8('0x12')](_0x5250db);}logger['info'](_0xb9b8('0x1a'));return _0x3644a5[_0xb9b8('0x11')](0xc8)['json']({'output':'git\x20reset\x20--hard'});});};exports[_0xb9b8('0x1b')]=function(_0x2fe38d,_0x5ece9e){exec('npm\x20install\x20--production',function(_0x47e07b,_0x53bdec,_0x43a32d){logger['info'](_0x53bdec);logger[_0xb9b8('0x16')](_0x43a32d);if(_0x47e07b){logger['error'](_0x47e07b);return _0x5ece9e[_0xb9b8('0x11')](0x1f4)['json'](_0x47e07b);}return _0x5ece9e[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')]({'output':_0x53bdec});});};exports[_0xb9b8('0x1c')]=function(_0x93d4c7,_0x3fa408){return pm2[_0xb9b8('0x1c')](_0xb9b8('0x1d'))[_0xb9b8('0x1e')](function(_0x522a58){logger[_0xb9b8('0x16')](_0xb9b8('0x1f'),_0x522a58);return _0x3fa408['status'](0xc8)[_0xb9b8('0x12')]({'output':_0xb9b8('0x20')});})['catch'](function(_0x8affb8){logger[_0xb9b8('0x15')](_0x8affb8);return _0x3fa408[_0xb9b8('0x11')](0x1f4)['json'](_0x8affb8);});};exports['migrations']=function(_0x325134,_0x4f213c){var _0x575595=fs[_0xb9b8('0x21')](path[_0xb9b8('0x22')](config[_0xb9b8('0x23')],'server','migrations'));var _0x351779=[];for(var _0x416d6c=0x0;_0x416d6c<_0x575595[_0xb9b8('0x24')];_0x416d6c++){var _0x16f4c5=_0x575595[_0x416d6c][_0xb9b8('0x25')](_0xb9b8('0x26'),'');if(compareVersions(module['exports']['version'],_0x16f4c5)===-0x1){_0x351779['push'](_0x16f4c5);}}if(_0x351779[_0xb9b8('0x24')]){var _0x2f0c80=_0x351779[_0xb9b8('0x27')](compareVersions);var _0x8600df=new Umzug({'storage':'sequelize','storageOptions':{'model':db[_0xb9b8('0x28')],'modelName':_0xb9b8('0x28'),'columnName':'version'},'migrations':{'params':[db[_0xb9b8('0x29')][_0xb9b8('0x2a')](),db['sequelize'][_0xb9b8('0x2b')],function(){throw new Error(_0xb9b8('0x2c'));}],'path':path['join'](config[_0xb9b8('0x23')],'server',_0xb9b8('0x2d')),'pattern':/\.js$/}});_0x8600df['up']({'migrations':_['map'](_0x2f0c80,function(_0x18bb0f){return _0x18bb0f+_0xb9b8('0x26');})})[_0xb9b8('0x1e')](function(){return _0x4f213c[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')]({'output':_0xb9b8('0x2e')+module[_0xb9b8('0xc')]['version']+_0xb9b8('0x2f')+_[_0xb9b8('0x30')](_0x2f0c80),'migrations':_[_0xb9b8('0x22')](_0x2f0c80)});})[_0xb9b8('0x31')](function(_0x471772){if(_0x471772 instanceof db[_0xb9b8('0x29')][_0xb9b8('0x32')]){return _0x4f213c[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')]({'output':_0xb9b8('0x33')});}else{return _0x4f213c[_0xb9b8('0x11')](0x1f4)[_0xb9b8('0x12')](_0x471772);}});}else{return _0x4f213c[_0xb9b8('0x11')](0xc8)[_0xb9b8('0x12')]({'output':_0xb9b8('0x33')});}};