Built motion from commit 85328c08.|2.5.50
[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 _0xb2c5=['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','Database\x20already\x20up-to-date','umzug','path','pkginfo','version','child_process','exec','../../mysqldb','../../config/pm2','update','root','index','exports','query','latest','tags','2.0.0','status','json','fetch','origin','error','info','git\x20fetch\x20origin\x20master','reset','--hard','git\x20reset\x20--hard\x20FETCH_HEAD','restart','motion2','catch','migrations','join','server','replace','push','length','sequelize','Migration','getQueryInterface','constructor'];(function(_0x3504a0,_0x3f770f){var _0x3dfca3=function(_0x5adf34){while(--_0x5adf34){_0x3504a0['push'](_0x3504a0['shift']());}};_0x3dfca3(++_0x3f770f);}(_0xb2c5,0x91));var _0x5b2c=function(_0x12f570,_0x2bdad1){_0x12f570=_0x12f570-0x0;var _0x820efc=_0xb2c5[_0x12f570];return _0x820efc;};'use strict';var Umzug=require(_0x5b2c('0x0'));var path=require(_0x5b2c('0x1'));var fs=require('fs');var _=require('lodash');var pkginfo=require(_0x5b2c('0x2'))(module,_0x5b2c('0x3'));var compareVersions=require('compare-versions');var exec=require(_0x5b2c('0x4'))[_0x5b2c('0x5')];var db=require(_0x5b2c('0x6'))['db'];var config=require('../../config/environment');var pm2=require(_0x5b2c('0x7'));var logger=require('../../config/logger')(_0x5b2c('0x8'));var git=require('simple-git')(config[_0x5b2c('0x9')]);exports[_0x5b2c('0xa')]=function(_0x59fd1d,_0x524b5c){var _0x29a946={'current':module[_0x5b2c('0xb')][_0x5b2c('0x3')],'phonebar':0x2};if(_0x59fd1d[_0x5b2c('0xc')]&&_0x59fd1d[_0x5b2c('0xc')][_0x5b2c('0xd')]){return git['fetch']()[_0x5b2c('0xe')](function(_0x591603,_0x236d69){_0x29a946[_0x5b2c('0xd')]=(_0x591603?module[_0x5b2c('0xb')][_0x5b2c('0x3')]:_0x236d69[_0x5b2c('0xd')])||_0x5b2c('0xf');return _0x524b5c[_0x5b2c('0x10')](0xc8)[_0x5b2c('0x11')](_0x29a946);});}else{return _0x524b5c['status'](0xc8)[_0x5b2c('0x11')](_0x29a946);}};exports[_0x5b2c('0x12')]=function(_0x41bfa2,_0x518575){return git['fetch']([_0x5b2c('0x13'),'master'],function(_0x5d0acf){if(_0x5d0acf){logger[_0x5b2c('0x14')](_0x5d0acf);return _0x518575[_0x5b2c('0x10')](0x1f4)[_0x5b2c('0x11')](_0x5d0acf);}logger[_0x5b2c('0x15')]('git\x20fetch');return _0x518575['status'](0xc8)['json']({'output':_0x5b2c('0x16')});});};exports['reset']=function(_0x2719d0,_0x42f8b7){return git[_0x5b2c('0x17')]([_0x5b2c('0x18'),'FETCH_HEAD'],function(_0x1080f4){if(_0x1080f4){logger['error'](_0x1080f4);return _0x42f8b7[_0x5b2c('0x10')](0x1f4)[_0x5b2c('0x11')](_0x1080f4);}logger[_0x5b2c('0x15')](_0x5b2c('0x19'));return _0x42f8b7[_0x5b2c('0x10')](0xc8)[_0x5b2c('0x11')]({'output':'git\x20reset\x20--hard'});});};exports['pull']=function(_0x1d706e,_0x24c9f4){exec('npm\x20install\x20--production',function(_0x1d31a9,_0x5e437b,_0x5219da){logger[_0x5b2c('0x15')](_0x5e437b);logger['info'](_0x5219da);if(_0x1d31a9){logger[_0x5b2c('0x14')](_0x1d31a9);return _0x24c9f4[_0x5b2c('0x10')](0x1f4)[_0x5b2c('0x11')](_0x1d31a9);}return _0x24c9f4['status'](0xc8)['json']({'output':_0x5e437b});});};exports['restart']=function(_0x294a04,_0x128b9c){return pm2[_0x5b2c('0x1a')](_0x5b2c('0x1b'))['then'](function(_0x3f0967){logger['info']('pm2\x20restart\x20motion\x20%s',_0x3f0967);return _0x128b9c[_0x5b2c('0x10')](0xc8)[_0x5b2c('0x11')]({'output':'Your\x20system\x20has\x20been\x20restart\x20successfully'});})[_0x5b2c('0x1c')](function(_0x5ede79){logger[_0x5b2c('0x14')](_0x5ede79);return _0x128b9c['status'](0x1f4)['json'](_0x5ede79);});};exports[_0x5b2c('0x1d')]=function(_0x4c889a,_0x12ddcd){var _0x50561e=fs['readdirSync'](path[_0x5b2c('0x1e')](config['root'],_0x5b2c('0x1f'),'migrations'));var _0xb5095e=[];for(var _0x5c579c=0x0;_0x5c579c<_0x50561e['length'];_0x5c579c++){var _0x52d39e=_0x50561e[_0x5c579c][_0x5b2c('0x20')]('.js','');if(compareVersions(module[_0x5b2c('0xb')][_0x5b2c('0x3')],_0x52d39e)===-0x1){_0xb5095e[_0x5b2c('0x21')](_0x52d39e);}}if(_0xb5095e[_0x5b2c('0x22')]){var _0x46d67e=_0xb5095e['sort'](compareVersions);var _0x6aaee5=new Umzug({'storage':_0x5b2c('0x23'),'storageOptions':{'model':db[_0x5b2c('0x24')],'modelName':'Migration','columnName':_0x5b2c('0x3')},'migrations':{'params':[db['sequelize'][_0x5b2c('0x25')](),db[_0x5b2c('0x23')][_0x5b2c('0x26')],function(){throw new Error(_0x5b2c('0x27'));}],'path':path[_0x5b2c('0x1e')](config[_0x5b2c('0x9')],_0x5b2c('0x1f'),'migrations'),'pattern':/\.js$/}});_0x6aaee5['up']({'migrations':_[_0x5b2c('0x28')](_0x46d67e,function(_0x45fb49){return _0x45fb49+'.js';})})['then'](function(){return _0x12ddcd[_0x5b2c('0x10')](0xc8)[_0x5b2c('0x11')]({'output':_0x5b2c('0x29')+module['exports'][_0x5b2c('0x3')]+_0x5b2c('0x2a')+_[_0x5b2c('0x2b')](_0x46d67e),'migrations':_[_0x5b2c('0x1e')](_0x46d67e)});})[_0x5b2c('0x1c')](function(_0x4660ea){if(_0x4660ea instanceof db[_0x5b2c('0x23')][_0x5b2c('0x2c')]){return _0x12ddcd[_0x5b2c('0x10')](0xc8)['json']({'output':_0x5b2c('0x2d')});}else{return _0x12ddcd[_0x5b2c('0x10')](0x1f4)[_0x5b2c('0x11')](_0x4660ea);}});}else{return _0x12ddcd[_0x5b2c('0x10')](0xc8)[_0x5b2c('0x11')]({'output':_0x5b2c('0x2d')});}};