Built motion from commit 838c2833.|2.6.24
[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 _0xc241=['constructor','map','Database\x20migrated\x20successfully\x20from\x20version\x20','last','catch','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','path','lodash','version','compare-versions','exec','../../config/environment','../../config/pm2','../../config/logger','update','simple-git','root','index','exports','query','latest','fetch','tags','2.0.0','status','json','master','info','git\x20fetch\x20origin\x20master','--hard','error','git\x20reset\x20--hard\x20FETCH_HEAD','pull','restart','motion2','then','readdirSync','join','server','migrations','replace','.js','push','length','sort','Migration','sequelize'];(function(_0x4fb47a,_0x42dcd9){var _0xaeb5c3=function(_0x5dc11c){while(--_0x5dc11c){_0x4fb47a['push'](_0x4fb47a['shift']());}};_0xaeb5c3(++_0x42dcd9);}(_0xc241,0x9a));var _0x1c24=function(_0x2d7e5b,_0x329fda){_0x2d7e5b=_0x2d7e5b-0x0;var _0x2aae0e=_0xc241[_0x2d7e5b];return _0x2aae0e;};'use strict';var Umzug=require(_0x1c24('0x0'));var path=require(_0x1c24('0x1'));var fs=require('fs');var _=require(_0x1c24('0x2'));var pkginfo=require('pkginfo')(module,_0x1c24('0x3'));var compareVersions=require(_0x1c24('0x4'));var exec=require('child_process')[_0x1c24('0x5')];var db=require('../../mysqldb')['db'];var config=require(_0x1c24('0x6'));var pm2=require(_0x1c24('0x7'));var logger=require(_0x1c24('0x8'))(_0x1c24('0x9'));var git=require(_0x1c24('0xa'))(config[_0x1c24('0xb')]);exports[_0x1c24('0xc')]=function(_0xf0ac53,_0x2cfa9d){var _0x257f5b={'current':module[_0x1c24('0xd')]['version'],'phonebar':0x2};if(_0xf0ac53[_0x1c24('0xe')]&&_0xf0ac53[_0x1c24('0xe')][_0x1c24('0xf')]){return git[_0x1c24('0x10')]()[_0x1c24('0x11')](function(_0x22b9ac,_0x4d892d){_0x257f5b[_0x1c24('0xf')]=(_0x22b9ac?module['exports'][_0x1c24('0x3')]:_0x4d892d[_0x1c24('0xf')])||_0x1c24('0x12');return _0x2cfa9d[_0x1c24('0x13')](0xc8)[_0x1c24('0x14')](_0x257f5b);});}else{return _0x2cfa9d[_0x1c24('0x13')](0xc8)[_0x1c24('0x14')](_0x257f5b);}};exports['fetch']=function(_0x4ac305,_0xf844e1){return git[_0x1c24('0x10')](['origin',_0x1c24('0x15')],function(_0x3badda){if(_0x3badda){logger['error'](_0x3badda);return _0xf844e1[_0x1c24('0x13')](0x1f4)['json'](_0x3badda);}logger[_0x1c24('0x16')]('git\x20fetch');return _0xf844e1[_0x1c24('0x13')](0xc8)['json']({'output':_0x1c24('0x17')});});};exports['reset']=function(_0x37edcc,_0x1a43f6){return git['reset']([_0x1c24('0x18'),'FETCH_HEAD'],function(_0x435aab){if(_0x435aab){logger[_0x1c24('0x19')](_0x435aab);return _0x1a43f6[_0x1c24('0x13')](0x1f4)[_0x1c24('0x14')](_0x435aab);}logger[_0x1c24('0x16')](_0x1c24('0x1a'));return _0x1a43f6['status'](0xc8)[_0x1c24('0x14')]({'output':'git\x20reset\x20--hard'});});};exports[_0x1c24('0x1b')]=function(_0x191e3d,_0x270424){exec('npm\x20install\x20--production',function(_0x1edc79,_0x43857,_0x645fc7){logger['info'](_0x43857);logger[_0x1c24('0x16')](_0x645fc7);if(_0x1edc79){logger[_0x1c24('0x19')](_0x1edc79);return _0x270424[_0x1c24('0x13')](0x1f4)[_0x1c24('0x14')](_0x1edc79);}return _0x270424[_0x1c24('0x13')](0xc8)[_0x1c24('0x14')]({'output':_0x43857});});};exports['restart']=function(_0x1d79a3,_0x365572){return pm2[_0x1c24('0x1c')](_0x1c24('0x1d'))[_0x1c24('0x1e')](function(_0x47cef9){logger[_0x1c24('0x16')]('pm2\x20restart\x20motion\x20%s',_0x47cef9);return _0x365572['status'](0xc8)[_0x1c24('0x14')]({'output':'Your\x20system\x20has\x20been\x20restart\x20successfully'});})['catch'](function(_0x2b0d51){logger[_0x1c24('0x19')](_0x2b0d51);return _0x365572[_0x1c24('0x13')](0x1f4)[_0x1c24('0x14')](_0x2b0d51);});};exports['migrations']=function(_0x425a36,_0x505fb3){var _0x26f221=fs[_0x1c24('0x1f')](path[_0x1c24('0x20')](config['root'],_0x1c24('0x21'),_0x1c24('0x22')));var _0x2cb498=[];for(var _0x8feae6=0x0;_0x8feae6<_0x26f221['length'];_0x8feae6++){var _0x3b96d8=_0x26f221[_0x8feae6][_0x1c24('0x23')](_0x1c24('0x24'),'');if(compareVersions(module['exports'][_0x1c24('0x3')],_0x3b96d8)===-0x1){_0x2cb498[_0x1c24('0x25')](_0x3b96d8);}}if(_0x2cb498[_0x1c24('0x26')]){var _0x355eb9=_0x2cb498[_0x1c24('0x27')](compareVersions);var _0xce0638=new Umzug({'storage':'sequelize','storageOptions':{'model':db['Migration'],'modelName':_0x1c24('0x28'),'columnName':_0x1c24('0x3')},'migrations':{'params':[db['sequelize']['getQueryInterface'](),db[_0x1c24('0x29')][_0x1c24('0x2a')],function(){throw new Error('Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.');}],'path':path[_0x1c24('0x20')](config['root'],_0x1c24('0x21'),_0x1c24('0x22')),'pattern':/\.js$/}});_0xce0638['up']({'migrations':_[_0x1c24('0x2b')](_0x355eb9,function(_0x332e53){return _0x332e53+_0x1c24('0x24');})})['then'](function(){return _0x505fb3[_0x1c24('0x13')](0xc8)['json']({'output':_0x1c24('0x2c')+module[_0x1c24('0xd')]['version']+'\x20to\x20'+_[_0x1c24('0x2d')](_0x355eb9),'migrations':_[_0x1c24('0x20')](_0x355eb9)});})[_0x1c24('0x2e')](function(_0x2b3441){if(_0x2b3441 instanceof db[_0x1c24('0x29')][_0x1c24('0x2f')]){return _0x505fb3['status'](0xc8)[_0x1c24('0x14')]({'output':_0x1c24('0x30')});}else{return _0x505fb3['status'](0x1f4)[_0x1c24('0x14')](_0x2b3441);}});}else{return _0x505fb3[_0x1c24('0x13')](0xc8)[_0x1c24('0x14')]({'output':_0x1c24('0x30')});}};