6b64331ca98920108821ed6eee5f6d4c31413da6
[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 _0x9c84=['error','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','--hard','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD','git\x20reset\x20--hard','pull','npm\x20install\x20--production','restart','motion2','then','pm2\x20restart\x20motion\x20%s','catch','migrations','readdirSync','join','server','replace','version','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.','.js','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','path','lodash','pkginfo','compare-versions','child_process','exec','../../mysqldb','../../config/environment','../../config/pm2','../../config/logger','update','simple-git','root','exports','query','latest','fetch','tags','2.0.0','status','json','origin','master'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x9c84,0xcc));var _0x49c8=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x9c84[_0x321bb2];return _0x9c12ed;};'use strict';var Umzug=require(_0x49c8('0x0'));var path=require(_0x49c8('0x1'));var fs=require('fs');var _=require(_0x49c8('0x2'));var pkginfo=require(_0x49c8('0x3'))(module,'version');var compareVersions=require(_0x49c8('0x4'));var exec=require(_0x49c8('0x5'))[_0x49c8('0x6')];var db=require(_0x49c8('0x7'))['db'];var config=require(_0x49c8('0x8'));var pm2=require(_0x49c8('0x9'));var logger=require(_0x49c8('0xa'))(_0x49c8('0xb'));var git=require(_0x49c8('0xc'))(config[_0x49c8('0xd')]);exports['index']=function(_0xd2cd6,_0x16863b){var _0x4a840b={'current':module[_0x49c8('0xe')]['version'],'phonebar':0x2};if(_0xd2cd6['query']&&_0xd2cd6[_0x49c8('0xf')][_0x49c8('0x10')]){return git[_0x49c8('0x11')]()[_0x49c8('0x12')](function(_0x2498b7,_0x2a28cd){_0x4a840b[_0x49c8('0x10')]=(_0x2498b7?module[_0x49c8('0xe')]['version']:_0x2a28cd[_0x49c8('0x10')])||_0x49c8('0x13');return _0x16863b[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')](_0x4a840b);});}else{return _0x16863b[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')](_0x4a840b);}};exports['fetch']=function(_0x55c74e,_0x9a7550){return git[_0x49c8('0x11')]([_0x49c8('0x16'),_0x49c8('0x17')],function(_0x15f0a1){if(_0x15f0a1){logger[_0x49c8('0x18')](_0x15f0a1);return _0x9a7550[_0x49c8('0x14')](0x1f4)[_0x49c8('0x15')](_0x15f0a1);}logger[_0x49c8('0x19')](_0x49c8('0x1a'));return _0x9a7550[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')]({'output':_0x49c8('0x1b')});});};exports[_0x49c8('0x1c')]=function(_0x106988,_0x18a532){return git[_0x49c8('0x1c')]([_0x49c8('0x1d'),_0x49c8('0x1e')],function(_0x1f6a19){if(_0x1f6a19){logger[_0x49c8('0x18')](_0x1f6a19);return _0x18a532[_0x49c8('0x14')](0x1f4)[_0x49c8('0x15')](_0x1f6a19);}logger[_0x49c8('0x19')](_0x49c8('0x1f'));return _0x18a532['status'](0xc8)[_0x49c8('0x15')]({'output':_0x49c8('0x20')});});};exports[_0x49c8('0x21')]=function(_0x51d3f9,_0x2c9332){exec(_0x49c8('0x22'),function(_0x14e56b,_0x4a59c0,_0x496a6c){logger[_0x49c8('0x19')](_0x4a59c0);logger[_0x49c8('0x19')](_0x496a6c);if(_0x14e56b){logger[_0x49c8('0x18')](_0x14e56b);return _0x2c9332[_0x49c8('0x14')](0x1f4)[_0x49c8('0x15')](_0x14e56b);}return _0x2c9332[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')]({'output':_0x4a59c0});});};exports[_0x49c8('0x23')]=function(_0x400b4a,_0x4fc778){return pm2[_0x49c8('0x23')](_0x49c8('0x24'))[_0x49c8('0x25')](function(_0x3700e6){logger[_0x49c8('0x19')](_0x49c8('0x26'),_0x3700e6);return _0x4fc778[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')]({'output':'Your\x20system\x20has\x20been\x20restart\x20successfully'});})[_0x49c8('0x27')](function(_0x3bc374){logger[_0x49c8('0x18')](_0x3bc374);return _0x4fc778['status'](0x1f4)[_0x49c8('0x15')](_0x3bc374);});};exports[_0x49c8('0x28')]=function(_0x41a22b,_0x2c1f7e){var _0xeb48a7=fs[_0x49c8('0x29')](path[_0x49c8('0x2a')](config[_0x49c8('0xd')],_0x49c8('0x2b'),_0x49c8('0x28')));var _0x5a99d4=[];for(var _0x1712ba=0x0;_0x1712ba<_0xeb48a7['length'];_0x1712ba++){var _0x503f6b=_0xeb48a7[_0x1712ba][_0x49c8('0x2c')]('.js','');if(compareVersions(module[_0x49c8('0xe')][_0x49c8('0x2d')],_0x503f6b)===-0x1){_0x5a99d4['push'](_0x503f6b);}}if(_0x5a99d4['length']){var _0x2d73e5=_0x5a99d4[_0x49c8('0x2e')](compareVersions);var _0x108cb6=new Umzug({'storage':_0x49c8('0x2f'),'storageOptions':{'model':db[_0x49c8('0x30')],'modelName':_0x49c8('0x30'),'columnName':_0x49c8('0x2d')},'migrations':{'params':[db[_0x49c8('0x2f')][_0x49c8('0x31')](),db[_0x49c8('0x2f')][_0x49c8('0x32')],function(){throw new Error(_0x49c8('0x33'));}],'path':path[_0x49c8('0x2a')](config[_0x49c8('0xd')],_0x49c8('0x2b'),'migrations'),'pattern':/\.js$/}});_0x108cb6['up']({'migrations':_['map'](_0x2d73e5,function(_0x2847e9){return _0x2847e9+_0x49c8('0x34');})})[_0x49c8('0x25')](function(){return _0x2c1f7e[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')]({'output':_0x49c8('0x35')+module[_0x49c8('0xe')][_0x49c8('0x2d')]+_0x49c8('0x36')+_['last'](_0x2d73e5),'migrations':_[_0x49c8('0x2a')](_0x2d73e5)});})[_0x49c8('0x27')](function(_0x583f5d){if(_0x583f5d instanceof db[_0x49c8('0x2f')][_0x49c8('0x37')]){return _0x2c1f7e['status'](0xc8)[_0x49c8('0x15')]({'output':_0x49c8('0x38')});}else{return _0x2c1f7e[_0x49c8('0x14')](0x1f4)[_0x49c8('0x15')](_0x583f5d);}});}else{return _0x2c1f7e[_0x49c8('0x14')](0xc8)[_0x49c8('0x15')]({'output':_0x49c8('0x38')});}};