Built motion from commit (unavailable).|2.5.7
[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 _0x2bab=['restart','motion2','then','catch','join','server','migrations','replace','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.','map','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','UniqueConstraintError','umzug','path','lodash','pkginfo','compare-versions','child_process','exec','../../config/environment','../../config/pm2','root','exports','version','query','fetch','tags','latest','2.0.0','status','json','error','git\x20fetch\x20origin\x20master','reset','--hard','FETCH_HEAD','info','git\x20reset\x20--hard\x20FETCH_HEAD','pull','npm\x20install\x20--production'];(function(_0x3d4369,_0x24c446){var _0x22f47c=function(_0x1a6935){while(--_0x1a6935){_0x3d4369['push'](_0x3d4369['shift']());}};_0x22f47c(++_0x24c446);}(_0x2bab,0x1ba));var _0xb2ba=function(_0x474382,_0x31b918){_0x474382=_0x474382-0x0;var _0x2536bb=_0x2bab[_0x474382];return _0x2536bb;};'use strict';var Umzug=require(_0xb2ba('0x0'));var path=require(_0xb2ba('0x1'));var fs=require('fs');var _=require(_0xb2ba('0x2'));var pkginfo=require(_0xb2ba('0x3'))(module,'version');var compareVersions=require(_0xb2ba('0x4'));var exec=require(_0xb2ba('0x5'))[_0xb2ba('0x6')];var db=require('../../mysqldb')['db'];var config=require(_0xb2ba('0x7'));var pm2=require(_0xb2ba('0x8'));var logger=require('../../config/logger')('update');var git=require('simple-git')(config[_0xb2ba('0x9')]);exports['index']=function(_0x2b8146,_0x4790a6){var _0x5f02b9={'current':module[_0xb2ba('0xa')][_0xb2ba('0xb')],'phonebar':0x2};if(_0x2b8146[_0xb2ba('0xc')]&&_0x2b8146[_0xb2ba('0xc')]['latest']){return git[_0xb2ba('0xd')]()[_0xb2ba('0xe')](function(_0x4a9bf4,_0x4edce7){_0x5f02b9[_0xb2ba('0xf')]=(_0x4a9bf4?module[_0xb2ba('0xa')]['version']:_0x4edce7[_0xb2ba('0xf')])||_0xb2ba('0x10');return _0x4790a6[_0xb2ba('0x11')](0xc8)['json'](_0x5f02b9);});}else{return _0x4790a6[_0xb2ba('0x11')](0xc8)[_0xb2ba('0x12')](_0x5f02b9);}};exports[_0xb2ba('0xd')]=function(_0x295132,_0x14b5bc){return git['fetch'](['origin','master'],function(_0x490e4d){if(_0x490e4d){logger[_0xb2ba('0x13')](_0x490e4d);return _0x14b5bc[_0xb2ba('0x11')](0x1f4)[_0xb2ba('0x12')](_0x490e4d);}logger['info']('git\x20fetch');return _0x14b5bc[_0xb2ba('0x11')](0xc8)[_0xb2ba('0x12')]({'output':_0xb2ba('0x14')});});};exports[_0xb2ba('0x15')]=function(_0x3d76d4,_0x3e770f){return git[_0xb2ba('0x15')]([_0xb2ba('0x16'),_0xb2ba('0x17')],function(_0x3b0415){if(_0x3b0415){logger[_0xb2ba('0x13')](_0x3b0415);return _0x3e770f['status'](0x1f4)[_0xb2ba('0x12')](_0x3b0415);}logger[_0xb2ba('0x18')](_0xb2ba('0x19'));return _0x3e770f[_0xb2ba('0x11')](0xc8)[_0xb2ba('0x12')]({'output':'git\x20reset\x20--hard'});});};exports[_0xb2ba('0x1a')]=function(_0x11a8f3,_0x17a55b){exec(_0xb2ba('0x1b'),function(_0x19c0b8,_0x4639a9,_0x588e34){logger[_0xb2ba('0x18')](_0x4639a9);logger[_0xb2ba('0x18')](_0x588e34);if(_0x19c0b8){logger[_0xb2ba('0x13')](_0x19c0b8);return _0x17a55b['status'](0x1f4)[_0xb2ba('0x12')](_0x19c0b8);}return _0x17a55b[_0xb2ba('0x11')](0xc8)[_0xb2ba('0x12')]({'output':_0x4639a9});});};exports['restart']=function(_0x3fcc7c,_0x401843){return pm2[_0xb2ba('0x1c')](_0xb2ba('0x1d'))[_0xb2ba('0x1e')](function(_0x19ab32){logger[_0xb2ba('0x18')]('pm2\x20restart\x20motion\x20%s',_0x19ab32);return _0x401843['status'](0xc8)[_0xb2ba('0x12')]({'output':'Your\x20system\x20has\x20been\x20restart\x20successfully'});})[_0xb2ba('0x1f')](function(_0x195a73){logger[_0xb2ba('0x13')](_0x195a73);return _0x401843['status'](0x1f4)[_0xb2ba('0x12')](_0x195a73);});};exports['migrations']=function(_0xba600a,_0x2e63c9){var _0x254312=fs['readdirSync'](path[_0xb2ba('0x20')](config['root'],_0xb2ba('0x21'),_0xb2ba('0x22')));var _0x4baaf5=[];for(var _0x1f53b3=0x0;_0x1f53b3<_0x254312['length'];_0x1f53b3++){var _0x4325d4=_0x254312[_0x1f53b3][_0xb2ba('0x23')]('.js','');if(compareVersions(module[_0xb2ba('0xa')][_0xb2ba('0xb')],_0x4325d4)===-0x1){_0x4baaf5[_0xb2ba('0x24')](_0x4325d4);}}if(_0x4baaf5['length']){var _0x4ebb60=_0x4baaf5[_0xb2ba('0x25')](compareVersions);var _0x1f40ab=new Umzug({'storage':_0xb2ba('0x26'),'storageOptions':{'model':db['Migration'],'modelName':_0xb2ba('0x27'),'columnName':_0xb2ba('0xb')},'migrations':{'params':[db['sequelize'][_0xb2ba('0x28')](),db[_0xb2ba('0x26')]['constructor'],function(){throw new Error(_0xb2ba('0x29'));}],'path':path[_0xb2ba('0x20')](config[_0xb2ba('0x9')],'server',_0xb2ba('0x22')),'pattern':/\.js$/}});_0x1f40ab['up']({'migrations':_[_0xb2ba('0x2a')](_0x4ebb60,function(_0x2a6ce8){return _0x2a6ce8+'.js';})})[_0xb2ba('0x1e')](function(){return _0x2e63c9[_0xb2ba('0x11')](0xc8)[_0xb2ba('0x12')]({'output':_0xb2ba('0x2b')+module[_0xb2ba('0xa')]['version']+_0xb2ba('0x2c')+_[_0xb2ba('0x2d')](_0x4ebb60),'migrations':_[_0xb2ba('0x20')](_0x4ebb60)});})[_0xb2ba('0x1f')](function(_0x2adafb){if(_0x2adafb instanceof db[_0xb2ba('0x26')][_0xb2ba('0x2e')]){return _0x2e63c9[_0xb2ba('0x11')](0xc8)[_0xb2ba('0x12')]({'output':'Database\x20already\x20up-to-date'});}else{return _0x2e63c9['status'](0x1f4)[_0xb2ba('0x12')](_0x2adafb);}});}else{return _0x2e63c9['status'](0xc8)[_0xb2ba('0x12')]({'output':'Database\x20already\x20up-to-date'});}};