Built motion from commit 19a84241.|2.5.34
[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 _0xc7de=['path','lodash','pkginfo','version','compare-versions','../../config/environment','../../config/pm2','../../config/logger','update','simple-git','index','exports','latest','fetch','tags','2.0.0','status','json','master','error','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','--hard','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD','git\x20reset\x20--hard','pull','restart','motion2','then','catch','join','root','migrations','length','replace','.js','push','sequelize','constructor','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','server','map','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','UniqueConstraintError','Database\x20already\x20up-to-date','umzug'];(function(_0x2e2193,_0x469ee9){var _0x58b1e2=function(_0xc8a9ad){while(--_0xc8a9ad){_0x2e2193['push'](_0x2e2193['shift']());}};_0x58b1e2(++_0x469ee9);}(_0xc7de,0x65));var _0xec7d=function(_0x100dea,_0x2ca828){_0x100dea=_0x100dea-0x0;var _0x785cb5=_0xc7de[_0x100dea];return _0x785cb5;};'use strict';var Umzug=require(_0xec7d('0x0'));var path=require(_0xec7d('0x1'));var fs=require('fs');var _=require(_0xec7d('0x2'));var pkginfo=require(_0xec7d('0x3'))(module,_0xec7d('0x4'));var compareVersions=require(_0xec7d('0x5'));var exec=require('child_process')['exec'];var db=require('../../mysqldb')['db'];var config=require(_0xec7d('0x6'));var pm2=require(_0xec7d('0x7'));var logger=require(_0xec7d('0x8'))(_0xec7d('0x9'));var git=require(_0xec7d('0xa'))(config['root']);exports[_0xec7d('0xb')]=function(_0x2beb2b,_0x396fbb){var _0x456d5f={'current':module[_0xec7d('0xc')][_0xec7d('0x4')],'phonebar':0x2};if(_0x2beb2b['query']&&_0x2beb2b['query'][_0xec7d('0xd')]){return git[_0xec7d('0xe')]()[_0xec7d('0xf')](function(_0x8b4f70,_0x1b7c2a){_0x456d5f[_0xec7d('0xd')]=(_0x8b4f70?module[_0xec7d('0xc')]['version']:_0x1b7c2a[_0xec7d('0xd')])||_0xec7d('0x10');return _0x396fbb[_0xec7d('0x11')](0xc8)[_0xec7d('0x12')](_0x456d5f);});}else{return _0x396fbb[_0xec7d('0x11')](0xc8)[_0xec7d('0x12')](_0x456d5f);}};exports[_0xec7d('0xe')]=function(_0x5dedd7,_0x4afdac){return git[_0xec7d('0xe')](['origin',_0xec7d('0x13')],function(_0x4696ac){if(_0x4696ac){logger[_0xec7d('0x14')](_0x4696ac);return _0x4afdac[_0xec7d('0x11')](0x1f4)['json'](_0x4696ac);}logger[_0xec7d('0x15')](_0xec7d('0x16'));return _0x4afdac[_0xec7d('0x11')](0xc8)['json']({'output':_0xec7d('0x17')});});};exports[_0xec7d('0x18')]=function(_0x5d1821,_0x52b422){return git[_0xec7d('0x18')]([_0xec7d('0x19'),_0xec7d('0x1a')],function(_0x1c4239){if(_0x1c4239){logger[_0xec7d('0x14')](_0x1c4239);return _0x52b422[_0xec7d('0x11')](0x1f4)[_0xec7d('0x12')](_0x1c4239);}logger[_0xec7d('0x15')](_0xec7d('0x1b'));return _0x52b422['status'](0xc8)[_0xec7d('0x12')]({'output':_0xec7d('0x1c')});});};exports[_0xec7d('0x1d')]=function(_0xe913a7,_0x448159){exec('npm\x20install\x20--production',function(_0x140f46,_0x37cc8b,_0x11e254){logger['info'](_0x37cc8b);logger['info'](_0x11e254);if(_0x140f46){logger['error'](_0x140f46);return _0x448159['status'](0x1f4)[_0xec7d('0x12')](_0x140f46);}return _0x448159['status'](0xc8)[_0xec7d('0x12')]({'output':_0x37cc8b});});};exports[_0xec7d('0x1e')]=function(_0x1beb51,_0x552b5a){return pm2[_0xec7d('0x1e')](_0xec7d('0x1f'))[_0xec7d('0x20')](function(_0x12f5a0){logger['info']('pm2\x20restart\x20motion\x20%s',_0x12f5a0);return _0x552b5a[_0xec7d('0x11')](0xc8)['json']({'output':'Your\x20system\x20has\x20been\x20restart\x20successfully'});})[_0xec7d('0x21')](function(_0x437692){logger[_0xec7d('0x14')](_0x437692);return _0x552b5a['status'](0x1f4)[_0xec7d('0x12')](_0x437692);});};exports['migrations']=function(_0xcb1d10,_0x40130e){var _0x147f2d=fs['readdirSync'](path[_0xec7d('0x22')](config[_0xec7d('0x23')],'server',_0xec7d('0x24')));var _0x515578=[];for(var _0x18d113=0x0;_0x18d113<_0x147f2d[_0xec7d('0x25')];_0x18d113++){var _0x3f49d2=_0x147f2d[_0x18d113][_0xec7d('0x26')](_0xec7d('0x27'),'');if(compareVersions(module[_0xec7d('0xc')][_0xec7d('0x4')],_0x3f49d2)===-0x1){_0x515578[_0xec7d('0x28')](_0x3f49d2);}}if(_0x515578[_0xec7d('0x25')]){var _0x106324=_0x515578['sort'](compareVersions);var _0x496289=new Umzug({'storage':_0xec7d('0x29'),'storageOptions':{'model':db['Migration'],'modelName':'Migration','columnName':_0xec7d('0x4')},'migrations':{'params':[db['sequelize']['getQueryInterface'](),db['sequelize'][_0xec7d('0x2a')],function(){throw new Error(_0xec7d('0x2b'));}],'path':path[_0xec7d('0x22')](config[_0xec7d('0x23')],_0xec7d('0x2c'),_0xec7d('0x24')),'pattern':/\.js$/}});_0x496289['up']({'migrations':_[_0xec7d('0x2d')](_0x106324,function(_0xf41b86){return _0xf41b86+'.js';})})['then'](function(){return _0x40130e[_0xec7d('0x11')](0xc8)['json']({'output':_0xec7d('0x2e')+module[_0xec7d('0xc')][_0xec7d('0x4')]+_0xec7d('0x2f')+_[_0xec7d('0x30')](_0x106324),'migrations':_[_0xec7d('0x22')](_0x106324)});})['catch'](function(_0x40635a){if(_0x40635a instanceof db[_0xec7d('0x29')][_0xec7d('0x31')]){return _0x40130e[_0xec7d('0x11')](0xc8)[_0xec7d('0x12')]({'output':'Database\x20already\x20up-to-date'});}else{return _0x40130e[_0xec7d('0x11')](0x1f4)[_0xec7d('0x12')](_0x40635a);}});}else{return _0x40130e['status'](0xc8)['json']({'output':_0xec7d('0x32')});}};