Built motion from commit (unavailable).|2.5.6
[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 _0xa9fc=['join','replace','.js','push','sort','sequelize','Migration','getQueryInterface','constructor','root','map','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','Database\x20already\x20up-to-date','umzug','path','lodash','pkginfo','version','child_process','../../mysqldb','../../config/environment','simple-git','index','exports','query','fetch','tags','2.0.0','status','json','origin','error','info','git\x20fetch','reset','--hard','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD','git\x20reset\x20--hard','npm\x20install\x20--production','restart','motion2','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','migrations','readdirSync'];(function(_0x21d36e,_0x5dc096){var _0x4cc307=function(_0x4ae995){while(--_0x4ae995){_0x21d36e['push'](_0x21d36e['shift']());}};_0x4cc307(++_0x5dc096);}(_0xa9fc,0x19f));var _0xca9f=function(_0x1f5a63,_0x511504){_0x1f5a63=_0x1f5a63-0x0;var _0x30bb7a=_0xa9fc[_0x1f5a63];return _0x30bb7a;};'use strict';var Umzug=require(_0xca9f('0x0'));var path=require(_0xca9f('0x1'));var fs=require('fs');var _=require(_0xca9f('0x2'));var pkginfo=require(_0xca9f('0x3'))(module,_0xca9f('0x4'));var compareVersions=require('compare-versions');var exec=require(_0xca9f('0x5'))['exec'];var db=require(_0xca9f('0x6'))['db'];var config=require(_0xca9f('0x7'));var pm2=require('../../config/pm2');var logger=require('../../config/logger')('update');var git=require(_0xca9f('0x8'))(config['root']);exports[_0xca9f('0x9')]=function(_0x61b1b6,_0x400980){var _0xf7ebb1={'current':module[_0xca9f('0xa')][_0xca9f('0x4')],'phonebar':0x2};if(_0x61b1b6[_0xca9f('0xb')]&&_0x61b1b6[_0xca9f('0xb')]['latest']){return git[_0xca9f('0xc')]()[_0xca9f('0xd')](function(_0x2f0af9,_0x5d7bd8){_0xf7ebb1['latest']=(_0x2f0af9?module[_0xca9f('0xa')][_0xca9f('0x4')]:_0x5d7bd8['latest'])||_0xca9f('0xe');return _0x400980[_0xca9f('0xf')](0xc8)[_0xca9f('0x10')](_0xf7ebb1);});}else{return _0x400980[_0xca9f('0xf')](0xc8)[_0xca9f('0x10')](_0xf7ebb1);}};exports[_0xca9f('0xc')]=function(_0x109ec0,_0x2cb6f4){return git[_0xca9f('0xc')]([_0xca9f('0x11'),'master'],function(_0x536d65){if(_0x536d65){logger[_0xca9f('0x12')](_0x536d65);return _0x2cb6f4['status'](0x1f4)['json'](_0x536d65);}logger[_0xca9f('0x13')](_0xca9f('0x14'));return _0x2cb6f4['status'](0xc8)[_0xca9f('0x10')]({'output':'git\x20fetch\x20origin\x20master'});});};exports[_0xca9f('0x15')]=function(_0x5f515c,_0x22c161){return git[_0xca9f('0x15')]([_0xca9f('0x16'),_0xca9f('0x17')],function(_0x25008f){if(_0x25008f){logger['error'](_0x25008f);return _0x22c161[_0xca9f('0xf')](0x1f4)['json'](_0x25008f);}logger[_0xca9f('0x13')](_0xca9f('0x18'));return _0x22c161[_0xca9f('0xf')](0xc8)[_0xca9f('0x10')]({'output':_0xca9f('0x19')});});};exports['pull']=function(_0x7246c7,_0x469ca0){exec(_0xca9f('0x1a'),function(_0x1927b7,_0x239b30,_0x4f9e9c){logger['info'](_0x239b30);logger[_0xca9f('0x13')](_0x4f9e9c);if(_0x1927b7){logger[_0xca9f('0x12')](_0x1927b7);return _0x469ca0[_0xca9f('0xf')](0x1f4)[_0xca9f('0x10')](_0x1927b7);}return _0x469ca0[_0xca9f('0xf')](0xc8)['json']({'output':_0x239b30});});};exports[_0xca9f('0x1b')]=function(_0x1f7939,_0x46a0e8){return pm2['restart'](_0xca9f('0x1c'))[_0xca9f('0x1d')](function(_0x428825){logger[_0xca9f('0x13')](_0xca9f('0x1e'),_0x428825);return _0x46a0e8['status'](0xc8)[_0xca9f('0x10')]({'output':_0xca9f('0x1f')});})[_0xca9f('0x20')](function(_0x460ed6){logger[_0xca9f('0x12')](_0x460ed6);return _0x46a0e8['status'](0x1f4)['json'](_0x460ed6);});};exports[_0xca9f('0x21')]=function(_0x5dfa6f,_0x33edd5){var _0x16b189=fs[_0xca9f('0x22')](path[_0xca9f('0x23')](config['root'],'server',_0xca9f('0x21')));var _0x4d903c=[];for(var _0x26b33d=0x0;_0x26b33d<_0x16b189['length'];_0x26b33d++){var _0x2fa5e1=_0x16b189[_0x26b33d][_0xca9f('0x24')](_0xca9f('0x25'),'');if(compareVersions(module[_0xca9f('0xa')][_0xca9f('0x4')],_0x2fa5e1)===-0x1){_0x4d903c[_0xca9f('0x26')](_0x2fa5e1);}}if(_0x4d903c['length']){var _0x5abde7=_0x4d903c[_0xca9f('0x27')](compareVersions);var _0x552da4=new Umzug({'storage':_0xca9f('0x28'),'storageOptions':{'model':db[_0xca9f('0x29')],'modelName':_0xca9f('0x29'),'columnName':'version'},'migrations':{'params':[db['sequelize'][_0xca9f('0x2a')](),db[_0xca9f('0x28')][_0xca9f('0x2b')],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[_0xca9f('0x23')](config[_0xca9f('0x2c')],'server','migrations'),'pattern':/\.js$/}});_0x552da4['up']({'migrations':_[_0xca9f('0x2d')](_0x5abde7,function(_0x7e386c){return _0x7e386c+_0xca9f('0x25');})})[_0xca9f('0x1d')](function(){return _0x33edd5[_0xca9f('0xf')](0xc8)[_0xca9f('0x10')]({'output':_0xca9f('0x2e')+module[_0xca9f('0xa')][_0xca9f('0x4')]+_0xca9f('0x2f')+_[_0xca9f('0x30')](_0x5abde7),'migrations':_[_0xca9f('0x23')](_0x5abde7)});})[_0xca9f('0x20')](function(_0x53df7e){if(_0x53df7e instanceof db[_0xca9f('0x28')]['UniqueConstraintError']){return _0x33edd5[_0xca9f('0xf')](0xc8)[_0xca9f('0x10')]({'output':'Database\x20already\x20up-to-date'});}else{return _0x33edd5[_0xca9f('0xf')](0x1f4)[_0xca9f('0x10')](_0x53df7e);}});}else{return _0x33edd5[_0xca9f('0xf')](0xc8)[_0xca9f('0x10')]({'output':_0xca9f('0x31')});}};