Built motion from commit (unavailable).|2.5.2
[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 _0x5430=['Migration','constructor','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','join','map','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','Database\x20already\x20up-to-date','umzug','path','lodash','pkginfo','version','compare-versions','../../mysqldb','../../config/logger','update','simple-git','root','index','exports','query','fetch','tags','latest','2.0.0','status','json','origin','error','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','--hard','git\x20reset\x20--hard\x20FETCH_HEAD','pull','npm\x20install\x20--production','restart','motion2','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','migrations','readdirSync','server','length','replace','.js','sort','sequelize'];(function(_0x75509e,_0x274f13){var _0x2bb980=function(_0x18456d){while(--_0x18456d){_0x75509e['push'](_0x75509e['shift']());}};_0x2bb980(++_0x274f13);}(_0x5430,0x10c));var _0x0543=function(_0x5b7b2b,_0x1f7f90){_0x5b7b2b=_0x5b7b2b-0x0;var _0x1b30a9=_0x5430[_0x5b7b2b];return _0x1b30a9;};'use strict';var Umzug=require(_0x0543('0x0'));var path=require(_0x0543('0x1'));var fs=require('fs');var _=require(_0x0543('0x2'));var pkginfo=require(_0x0543('0x3'))(module,_0x0543('0x4'));var compareVersions=require(_0x0543('0x5'));var exec=require('child_process')['exec'];var db=require(_0x0543('0x6'))['db'];var config=require('../../config/environment');var pm2=require('../../config/pm2');var logger=require(_0x0543('0x7'))(_0x0543('0x8'));var git=require(_0x0543('0x9'))(config[_0x0543('0xa')]);exports[_0x0543('0xb')]=function(_0x5ac352,_0x372974){var _0x7b8280={'current':module[_0x0543('0xc')][_0x0543('0x4')],'phonebar':0x2};if(_0x5ac352[_0x0543('0xd')]&&_0x5ac352[_0x0543('0xd')]['latest']){return git[_0x0543('0xe')]()[_0x0543('0xf')](function(_0x52c9b7,_0x46bbc1){_0x7b8280[_0x0543('0x10')]=(_0x52c9b7?module[_0x0543('0xc')][_0x0543('0x4')]:_0x46bbc1[_0x0543('0x10')])||_0x0543('0x11');return _0x372974[_0x0543('0x12')](0xc8)[_0x0543('0x13')](_0x7b8280);});}else{return _0x372974[_0x0543('0x12')](0xc8)[_0x0543('0x13')](_0x7b8280);}};exports[_0x0543('0xe')]=function(_0x509afa,_0x552980){return git[_0x0543('0xe')]([_0x0543('0x14'),'master'],function(_0x4c4763){if(_0x4c4763){logger[_0x0543('0x15')](_0x4c4763);return _0x552980[_0x0543('0x12')](0x1f4)[_0x0543('0x13')](_0x4c4763);}logger[_0x0543('0x16')](_0x0543('0x17'));return _0x552980['status'](0xc8)[_0x0543('0x13')]({'output':_0x0543('0x18')});});};exports[_0x0543('0x19')]=function(_0x25254e,_0x20b396){return git[_0x0543('0x19')]([_0x0543('0x1a'),'FETCH_HEAD'],function(_0x37b084){if(_0x37b084){logger['error'](_0x37b084);return _0x20b396['status'](0x1f4)[_0x0543('0x13')](_0x37b084);}logger[_0x0543('0x16')](_0x0543('0x1b'));return _0x20b396['status'](0xc8)[_0x0543('0x13')]({'output':'git\x20reset\x20--hard'});});};exports[_0x0543('0x1c')]=function(_0x411ec2,_0x543677){exec(_0x0543('0x1d'),function(_0x333c72,_0x427919,_0x110060){logger[_0x0543('0x16')](_0x427919);logger[_0x0543('0x16')](_0x110060);if(_0x333c72){logger['error'](_0x333c72);return _0x543677['status'](0x1f4)['json'](_0x333c72);}return _0x543677[_0x0543('0x12')](0xc8)[_0x0543('0x13')]({'output':_0x427919});});};exports[_0x0543('0x1e')]=function(_0xaf1c0e,_0x2b1425){return pm2[_0x0543('0x1e')](_0x0543('0x1f'))[_0x0543('0x20')](function(_0x1fca8a){logger[_0x0543('0x16')](_0x0543('0x21'),_0x1fca8a);return _0x2b1425[_0x0543('0x12')](0xc8)['json']({'output':_0x0543('0x22')});})[_0x0543('0x23')](function(_0x30ad9e){logger['error'](_0x30ad9e);return _0x2b1425[_0x0543('0x12')](0x1f4)[_0x0543('0x13')](_0x30ad9e);});};exports[_0x0543('0x24')]=function(_0x10b881,_0x5dd789){var _0x1732be=fs[_0x0543('0x25')](path['join'](config['root'],_0x0543('0x26'),_0x0543('0x24')));var _0x51d49d=[];for(var _0x3b879b=0x0;_0x3b879b<_0x1732be[_0x0543('0x27')];_0x3b879b++){var _0x931ccc=_0x1732be[_0x3b879b][_0x0543('0x28')](_0x0543('0x29'),'');if(compareVersions(module[_0x0543('0xc')][_0x0543('0x4')],_0x931ccc)===-0x1){_0x51d49d['push'](_0x931ccc);}}if(_0x51d49d[_0x0543('0x27')]){var _0x4f6ded=_0x51d49d[_0x0543('0x2a')](compareVersions);var _0x282787=new Umzug({'storage':_0x0543('0x2b'),'storageOptions':{'model':db[_0x0543('0x2c')],'modelName':_0x0543('0x2c'),'columnName':'version'},'migrations':{'params':[db[_0x0543('0x2b')]['getQueryInterface'](),db[_0x0543('0x2b')][_0x0543('0x2d')],function(){throw new Error(_0x0543('0x2e'));}],'path':path[_0x0543('0x2f')](config['root'],_0x0543('0x26'),'migrations'),'pattern':/\.js$/}});_0x282787['up']({'migrations':_[_0x0543('0x30')](_0x4f6ded,function(_0x44d4ca){return _0x44d4ca+_0x0543('0x29');})})[_0x0543('0x20')](function(){return _0x5dd789[_0x0543('0x12')](0xc8)[_0x0543('0x13')]({'output':_0x0543('0x31')+module[_0x0543('0xc')][_0x0543('0x4')]+_0x0543('0x32')+_['last'](_0x4f6ded),'migrations':_[_0x0543('0x2f')](_0x4f6ded)});})[_0x0543('0x23')](function(_0x591ce0){if(_0x591ce0 instanceof db[_0x0543('0x2b')]['UniqueConstraintError']){return _0x5dd789[_0x0543('0x12')](0xc8)[_0x0543('0x13')]({'output':'Database\x20already\x20up-to-date'});}else{return _0x5dd789['status'](0x1f4)[_0x0543('0x13')](_0x591ce0);}});}else{return _0x5dd789[_0x0543('0x12')](0xc8)['json']({'output':_0x0543('0x33')});}};