Built motion from commit da24aabd.|2.6.20
[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 _0x6047=['git\x20reset\x20--hard','pull','restart','motion2','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','migrations','readdirSync','server','length','replace','.js','push','sort','sequelize','Migration','getQueryInterface','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','join','map','then','\x20to\x20','last','Database\x20already\x20up-to-date','umzug','path','lodash','version','compare-versions','child_process','exec','../../mysqldb','../../config/environment','../../config/pm2','root','index','exports','fetch','tags','2.0.0','status','json','origin','master','error','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD'];(function(_0x528ea8,_0x24cbfe){var _0x150edf=function(_0xee47ae){while(--_0xee47ae){_0x528ea8['push'](_0x528ea8['shift']());}};_0x150edf(++_0x24cbfe);}(_0x6047,0x11d));var _0x7604=function(_0x4eadb5,_0x2e1b5f){_0x4eadb5=_0x4eadb5-0x0;var _0x3b7e17=_0x6047[_0x4eadb5];return _0x3b7e17;};'use strict';var Umzug=require(_0x7604('0x0'));var path=require(_0x7604('0x1'));var fs=require('fs');var _=require(_0x7604('0x2'));var pkginfo=require('pkginfo')(module,_0x7604('0x3'));var compareVersions=require(_0x7604('0x4'));var exec=require(_0x7604('0x5'))[_0x7604('0x6')];var db=require(_0x7604('0x7'))['db'];var config=require(_0x7604('0x8'));var pm2=require(_0x7604('0x9'));var logger=require('../../config/logger')('update');var git=require('simple-git')(config[_0x7604('0xa')]);exports[_0x7604('0xb')]=function(_0x339a44,_0x8b7cb8){var _0x577d65={'current':module[_0x7604('0xc')][_0x7604('0x3')],'phonebar':0x2};if(_0x339a44['query']&&_0x339a44['query']['latest']){return git[_0x7604('0xd')]()[_0x7604('0xe')](function(_0x1dcb1e,_0x1a9db0){_0x577d65['latest']=(_0x1dcb1e?module['exports'][_0x7604('0x3')]:_0x1a9db0['latest'])||_0x7604('0xf');return _0x8b7cb8[_0x7604('0x10')](0xc8)[_0x7604('0x11')](_0x577d65);});}else{return _0x8b7cb8[_0x7604('0x10')](0xc8)['json'](_0x577d65);}};exports[_0x7604('0xd')]=function(_0x46112f,_0x9c48d4){return git[_0x7604('0xd')]([_0x7604('0x12'),_0x7604('0x13')],function(_0x3f4bf1){if(_0x3f4bf1){logger[_0x7604('0x14')](_0x3f4bf1);return _0x9c48d4['status'](0x1f4)[_0x7604('0x11')](_0x3f4bf1);}logger[_0x7604('0x15')](_0x7604('0x16'));return _0x9c48d4['status'](0xc8)[_0x7604('0x11')]({'output':_0x7604('0x17')});});};exports[_0x7604('0x18')]=function(_0x1e7bf9,_0x295a6c){return git[_0x7604('0x18')](['--hard',_0x7604('0x19')],function(_0x48be8b){if(_0x48be8b){logger[_0x7604('0x14')](_0x48be8b);return _0x295a6c['status'](0x1f4)['json'](_0x48be8b);}logger[_0x7604('0x15')](_0x7604('0x1a'));return _0x295a6c[_0x7604('0x10')](0xc8)[_0x7604('0x11')]({'output':_0x7604('0x1b')});});};exports[_0x7604('0x1c')]=function(_0x48ba0e,_0x341ec8){exec('npm\x20install\x20--production',function(_0x3c897b,_0x54e39d,_0x5bb4c9){logger[_0x7604('0x15')](_0x54e39d);logger[_0x7604('0x15')](_0x5bb4c9);if(_0x3c897b){logger[_0x7604('0x14')](_0x3c897b);return _0x341ec8[_0x7604('0x10')](0x1f4)[_0x7604('0x11')](_0x3c897b);}return _0x341ec8[_0x7604('0x10')](0xc8)[_0x7604('0x11')]({'output':_0x54e39d});});};exports[_0x7604('0x1d')]=function(_0x59b39a,_0x44b548){return pm2[_0x7604('0x1d')](_0x7604('0x1e'))['then'](function(_0x5c0a8f){logger[_0x7604('0x15')](_0x7604('0x1f'),_0x5c0a8f);return _0x44b548[_0x7604('0x10')](0xc8)[_0x7604('0x11')]({'output':_0x7604('0x20')});})[_0x7604('0x21')](function(_0x7a94e0){logger['error'](_0x7a94e0);return _0x44b548[_0x7604('0x10')](0x1f4)[_0x7604('0x11')](_0x7a94e0);});};exports[_0x7604('0x22')]=function(_0x5be0bc,_0x51876b){var _0x579651=fs[_0x7604('0x23')](path['join'](config[_0x7604('0xa')],_0x7604('0x24'),_0x7604('0x22')));var _0x4ad53d=[];for(var _0x2a5390=0x0;_0x2a5390<_0x579651[_0x7604('0x25')];_0x2a5390++){var _0x424555=_0x579651[_0x2a5390][_0x7604('0x26')](_0x7604('0x27'),'');if(compareVersions(module[_0x7604('0xc')][_0x7604('0x3')],_0x424555)===-0x1){_0x4ad53d[_0x7604('0x28')](_0x424555);}}if(_0x4ad53d[_0x7604('0x25')]){var _0x5dc26a=_0x4ad53d[_0x7604('0x29')](compareVersions);var _0x334c31=new Umzug({'storage':_0x7604('0x2a'),'storageOptions':{'model':db[_0x7604('0x2b')],'modelName':_0x7604('0x2b'),'columnName':'version'},'migrations':{'params':[db[_0x7604('0x2a')][_0x7604('0x2c')](),db[_0x7604('0x2a')]['constructor'],function(){throw new Error(_0x7604('0x2d'));}],'path':path[_0x7604('0x2e')](config[_0x7604('0xa')],_0x7604('0x24'),_0x7604('0x22')),'pattern':/\.js$/}});_0x334c31['up']({'migrations':_[_0x7604('0x2f')](_0x5dc26a,function(_0x2570c7){return _0x2570c7+_0x7604('0x27');})})[_0x7604('0x30')](function(){return _0x51876b['status'](0xc8)['json']({'output':'Database\x20migrated\x20successfully\x20from\x20version\x20'+module[_0x7604('0xc')][_0x7604('0x3')]+_0x7604('0x31')+_[_0x7604('0x32')](_0x5dc26a),'migrations':_[_0x7604('0x2e')](_0x5dc26a)});})[_0x7604('0x21')](function(_0x3b9401){if(_0x3b9401 instanceof db[_0x7604('0x2a')]['UniqueConstraintError']){return _0x51876b['status'](0xc8)[_0x7604('0x11')]({'output':_0x7604('0x33')});}else{return _0x51876b[_0x7604('0x10')](0x1f4)[_0x7604('0x11')](_0x3b9401);}});}else{return _0x51876b[_0x7604('0x10')](0xc8)[_0x7604('0x11')]({'output':_0x7604('0x33')});}};