Built motion from commit bab6f49e.|2.6.17
[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 _0x869d=['sort','sequelize','Migration','constructor','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','map','.js','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','UniqueConstraintError','Database\x20already\x20up-to-date','path','pkginfo','version','compare-versions','../../mysqldb','../../config/environment','../../config/pm2','../../config/logger','update','root','index','query','latest','fetch','tags','exports','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','restart','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','migrations','readdirSync','join','server','length','push'];(function(_0x9cd4c3,_0x1c9b2c){var _0x4c9025=function(_0x25b3c6){while(--_0x25b3c6){_0x9cd4c3['push'](_0x9cd4c3['shift']());}};_0x4c9025(++_0x1c9b2c);}(_0x869d,0x72));var _0xd869=function(_0x45bde5,_0x53a679){_0x45bde5=_0x45bde5-0x0;var _0x59a384=_0x869d[_0x45bde5];return _0x59a384;};'use strict';var Umzug=require('umzug');var path=require(_0xd869('0x0'));var fs=require('fs');var _=require('lodash');var pkginfo=require(_0xd869('0x1'))(module,_0xd869('0x2'));var compareVersions=require(_0xd869('0x3'));var exec=require('child_process')['exec'];var db=require(_0xd869('0x4'))['db'];var config=require(_0xd869('0x5'));var pm2=require(_0xd869('0x6'));var logger=require(_0xd869('0x7'))(_0xd869('0x8'));var git=require('simple-git')(config[_0xd869('0x9')]);exports[_0xd869('0xa')]=function(_0x59b463,_0xa8f80c){var _0xa26ba8={'current':module['exports']['version'],'phonebar':0x2};if(_0x59b463[_0xd869('0xb')]&&_0x59b463[_0xd869('0xb')][_0xd869('0xc')]){return git[_0xd869('0xd')]()[_0xd869('0xe')](function(_0x27900e,_0x9cf5a9){_0xa26ba8['latest']=(_0x27900e?module[_0xd869('0xf')][_0xd869('0x2')]:_0x9cf5a9['latest'])||'2.0.0';return _0xa8f80c[_0xd869('0x10')](0xc8)[_0xd869('0x11')](_0xa26ba8);});}else{return _0xa8f80c[_0xd869('0x10')](0xc8)['json'](_0xa26ba8);}};exports[_0xd869('0xd')]=function(_0x896ce5,_0x63f12b){return git[_0xd869('0xd')](['origin',_0xd869('0x12')],function(_0x4cc968){if(_0x4cc968){logger[_0xd869('0x13')](_0x4cc968);return _0x63f12b['status'](0x1f4)[_0xd869('0x11')](_0x4cc968);}logger[_0xd869('0x14')](_0xd869('0x15'));return _0x63f12b[_0xd869('0x10')](0xc8)[_0xd869('0x11')]({'output':_0xd869('0x16')});});};exports[_0xd869('0x17')]=function(_0x2c6d97,_0x106973){return git['reset']([_0xd869('0x18'),_0xd869('0x19')],function(_0x10c76b){if(_0x10c76b){logger['error'](_0x10c76b);return _0x106973['status'](0x1f4)[_0xd869('0x11')](_0x10c76b);}logger[_0xd869('0x14')](_0xd869('0x1a'));return _0x106973[_0xd869('0x10')](0xc8)[_0xd869('0x11')]({'output':_0xd869('0x1b')});});};exports['pull']=function(_0x561689,_0x2798f0){exec('npm\x20install\x20--production',function(_0xf82760,_0x4b8990,_0xe2322d){logger[_0xd869('0x14')](_0x4b8990);logger[_0xd869('0x14')](_0xe2322d);if(_0xf82760){logger[_0xd869('0x13')](_0xf82760);return _0x2798f0['status'](0x1f4)['json'](_0xf82760);}return _0x2798f0[_0xd869('0x10')](0xc8)[_0xd869('0x11')]({'output':_0x4b8990});});};exports[_0xd869('0x1c')]=function(_0x117b3c,_0x56774e){return pm2[_0xd869('0x1c')]('motion2')[_0xd869('0x1d')](function(_0x505ff0){logger[_0xd869('0x14')](_0xd869('0x1e'),_0x505ff0);return _0x56774e[_0xd869('0x10')](0xc8)['json']({'output':_0xd869('0x1f')});})[_0xd869('0x20')](function(_0x5928a1){logger[_0xd869('0x13')](_0x5928a1);return _0x56774e[_0xd869('0x10')](0x1f4)['json'](_0x5928a1);});};exports[_0xd869('0x21')]=function(_0x3e5683,_0x3b3a7b){var _0x1a19a7=fs[_0xd869('0x22')](path[_0xd869('0x23')](config[_0xd869('0x9')],_0xd869('0x24'),_0xd869('0x21')));var _0x12350f=[];for(var _0x4cfb70=0x0;_0x4cfb70<_0x1a19a7[_0xd869('0x25')];_0x4cfb70++){var _0x13074a=_0x1a19a7[_0x4cfb70]['replace']('.js','');if(compareVersions(module[_0xd869('0xf')]['version'],_0x13074a)===-0x1){_0x12350f[_0xd869('0x26')](_0x13074a);}}if(_0x12350f[_0xd869('0x25')]){var _0x4d6f99=_0x12350f[_0xd869('0x27')](compareVersions);var _0x3f6468=new Umzug({'storage':_0xd869('0x28'),'storageOptions':{'model':db['Migration'],'modelName':_0xd869('0x29'),'columnName':'version'},'migrations':{'params':[db[_0xd869('0x28')]['getQueryInterface'](),db[_0xd869('0x28')][_0xd869('0x2a')],function(){throw new Error(_0xd869('0x2b'));}],'path':path[_0xd869('0x23')](config[_0xd869('0x9')],_0xd869('0x24'),'migrations'),'pattern':/\.js$/}});_0x3f6468['up']({'migrations':_[_0xd869('0x2c')](_0x4d6f99,function(_0x2c47a5){return _0x2c47a5+_0xd869('0x2d');})})[_0xd869('0x1d')](function(){return _0x3b3a7b[_0xd869('0x10')](0xc8)[_0xd869('0x11')]({'output':_0xd869('0x2e')+module['exports']['version']+_0xd869('0x2f')+_[_0xd869('0x30')](_0x4d6f99),'migrations':_[_0xd869('0x23')](_0x4d6f99)});})['catch'](function(_0x517e59){if(_0x517e59 instanceof db[_0xd869('0x28')][_0xd869('0x31')]){return _0x3b3a7b[_0xd869('0x10')](0xc8)[_0xd869('0x11')]({'output':_0xd869('0x32')});}else{return _0x3b3a7b[_0xd869('0x10')](0x1f4)[_0xd869('0x11')](_0x517e59);}});}else{return _0x3b3a7b[_0xd869('0x10')](0xc8)[_0xd869('0x11')]({'output':'Database\x20already\x20up-to-date'});}};