Built motion from commit b5413ace.|2.6.9
[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 _0x4fdc=['git\x20reset\x20--hard','npm\x20install\x20--production','restart','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','readdirSync','join','migrations','length','replace','.js','exports','sort','Migration','sequelize','getQueryInterface','constructor','server','map','\x20to\x20','last','Database\x20already\x20up-to-date','umzug','lodash','pkginfo','version','compare-versions','child_process','exec','../../config/environment','../../config/pm2','../../config/logger','simple-git','root','index','fetch','tags','latest','status','json','origin','master','error','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD'];(function(_0x2959b5,_0x4dc2e7){var _0x8cb98a=function(_0x519bf7){while(--_0x519bf7){_0x2959b5['push'](_0x2959b5['shift']());}};_0x8cb98a(++_0x4dc2e7);}(_0x4fdc,0x17d));var _0xc4fd=function(_0x54017b,_0xa551a7){_0x54017b=_0x54017b-0x0;var _0x49d50a=_0x4fdc[_0x54017b];return _0x49d50a;};'use strict';var Umzug=require(_0xc4fd('0x0'));var path=require('path');var fs=require('fs');var _=require(_0xc4fd('0x1'));var pkginfo=require(_0xc4fd('0x2'))(module,_0xc4fd('0x3'));var compareVersions=require(_0xc4fd('0x4'));var exec=require(_0xc4fd('0x5'))[_0xc4fd('0x6')];var db=require('../../mysqldb')['db'];var config=require(_0xc4fd('0x7'));var pm2=require(_0xc4fd('0x8'));var logger=require(_0xc4fd('0x9'))('update');var git=require(_0xc4fd('0xa'))(config[_0xc4fd('0xb')]);exports[_0xc4fd('0xc')]=function(_0x500d3b,_0x525932){var _0x123212={'current':module['exports'][_0xc4fd('0x3')],'phonebar':0x2};if(_0x500d3b['query']&&_0x500d3b['query']['latest']){return git[_0xc4fd('0xd')]()[_0xc4fd('0xe')](function(_0x357818,_0xa9cc86){_0x123212[_0xc4fd('0xf')]=(_0x357818?module['exports']['version']:_0xa9cc86[_0xc4fd('0xf')])||'2.0.0';return _0x525932[_0xc4fd('0x10')](0xc8)[_0xc4fd('0x11')](_0x123212);});}else{return _0x525932[_0xc4fd('0x10')](0xc8)[_0xc4fd('0x11')](_0x123212);}};exports[_0xc4fd('0xd')]=function(_0x1b06a0,_0x2b7ef9){return git[_0xc4fd('0xd')]([_0xc4fd('0x12'),_0xc4fd('0x13')],function(_0x307b04){if(_0x307b04){logger[_0xc4fd('0x14')](_0x307b04);return _0x2b7ef9[_0xc4fd('0x10')](0x1f4)[_0xc4fd('0x11')](_0x307b04);}logger[_0xc4fd('0x15')](_0xc4fd('0x16'));return _0x2b7ef9[_0xc4fd('0x10')](0xc8)[_0xc4fd('0x11')]({'output':_0xc4fd('0x17')});});};exports[_0xc4fd('0x18')]=function(_0x5c4723,_0xe2dd7f){return git[_0xc4fd('0x18')](['--hard',_0xc4fd('0x19')],function(_0x106108){if(_0x106108){logger[_0xc4fd('0x14')](_0x106108);return _0xe2dd7f['status'](0x1f4)[_0xc4fd('0x11')](_0x106108);}logger[_0xc4fd('0x15')](_0xc4fd('0x1a'));return _0xe2dd7f['status'](0xc8)[_0xc4fd('0x11')]({'output':_0xc4fd('0x1b')});});};exports['pull']=function(_0x579f4d,_0x3b3727){exec(_0xc4fd('0x1c'),function(_0x14d9e6,_0x13b496,_0x30c6b2){logger[_0xc4fd('0x15')](_0x13b496);logger[_0xc4fd('0x15')](_0x30c6b2);if(_0x14d9e6){logger[_0xc4fd('0x14')](_0x14d9e6);return _0x3b3727[_0xc4fd('0x10')](0x1f4)[_0xc4fd('0x11')](_0x14d9e6);}return _0x3b3727['status'](0xc8)['json']({'output':_0x13b496});});};exports[_0xc4fd('0x1d')]=function(_0x3a5c63,_0x353d28){return pm2[_0xc4fd('0x1d')]('motion2')[_0xc4fd('0x1e')](function(_0x168593){logger[_0xc4fd('0x15')](_0xc4fd('0x1f'),_0x168593);return _0x353d28[_0xc4fd('0x10')](0xc8)[_0xc4fd('0x11')]({'output':_0xc4fd('0x20')});})[_0xc4fd('0x21')](function(_0x365ce8){logger[_0xc4fd('0x14')](_0x365ce8);return _0x353d28[_0xc4fd('0x10')](0x1f4)[_0xc4fd('0x11')](_0x365ce8);});};exports['migrations']=function(_0x156924,_0x2eaa49){var _0x57a476=fs[_0xc4fd('0x22')](path[_0xc4fd('0x23')](config['root'],'server',_0xc4fd('0x24')));var _0x2bd976=[];for(var _0x3559bf=0x0;_0x3559bf<_0x57a476[_0xc4fd('0x25')];_0x3559bf++){var _0x9d604b=_0x57a476[_0x3559bf][_0xc4fd('0x26')](_0xc4fd('0x27'),'');if(compareVersions(module[_0xc4fd('0x28')][_0xc4fd('0x3')],_0x9d604b)===-0x1){_0x2bd976['push'](_0x9d604b);}}if(_0x2bd976[_0xc4fd('0x25')]){var _0x2aae24=_0x2bd976[_0xc4fd('0x29')](compareVersions);var _0x264fcd=new Umzug({'storage':'sequelize','storageOptions':{'model':db[_0xc4fd('0x2a')],'modelName':_0xc4fd('0x2a'),'columnName':_0xc4fd('0x3')},'migrations':{'params':[db[_0xc4fd('0x2b')][_0xc4fd('0x2c')](),db[_0xc4fd('0x2b')][_0xc4fd('0x2d')],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[_0xc4fd('0x23')](config[_0xc4fd('0xb')],_0xc4fd('0x2e'),_0xc4fd('0x24')),'pattern':/\.js$/}});_0x264fcd['up']({'migrations':_[_0xc4fd('0x2f')](_0x2aae24,function(_0xacc7e5){return _0xacc7e5+_0xc4fd('0x27');})})[_0xc4fd('0x1e')](function(){return _0x2eaa49[_0xc4fd('0x10')](0xc8)[_0xc4fd('0x11')]({'output':'Database\x20migrated\x20successfully\x20from\x20version\x20'+module['exports'][_0xc4fd('0x3')]+_0xc4fd('0x30')+_[_0xc4fd('0x31')](_0x2aae24),'migrations':_[_0xc4fd('0x23')](_0x2aae24)});})[_0xc4fd('0x21')](function(_0x17de35){if(_0x17de35 instanceof db[_0xc4fd('0x2b')]['UniqueConstraintError']){return _0x2eaa49[_0xc4fd('0x10')](0xc8)[_0xc4fd('0x11')]({'output':'Database\x20already\x20up-to-date'});}else{return _0x2eaa49[_0xc4fd('0x10')](0x1f4)['json'](_0x17de35);}});}else{return _0x2eaa49['status'](0xc8)[_0xc4fd('0x11')]({'output':_0xc4fd('0x32')});}};