Built motion from commit (unavailable).|2.5.22
[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 _0x75dd=['git\x20reset\x20--hard','pull','npm\x20install\x20--production','restart','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','readdirSync','join','migrations','length','replace','.js','push','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','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','last','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','path','lodash','pkginfo','version','compare-versions','exec','../../mysqldb','../../config/environment','../../config/pm2','../../config/logger','update','simple-git','root','exports','query','latest','fetch','tags','status','json','origin','master','error','git\x20fetch','reset','--hard','info','git\x20reset\x20--hard\x20FETCH_HEAD'];(function(_0x3f55de,_0x3ae98f){var _0x2698de=function(_0x48f021){while(--_0x48f021){_0x3f55de['push'](_0x3f55de['shift']());}};_0x2698de(++_0x3ae98f);}(_0x75dd,0x1c9));var _0xd75d=function(_0x8986fa,_0x48e0b6){_0x8986fa=_0x8986fa-0x0;var _0x44ce7e=_0x75dd[_0x8986fa];return _0x44ce7e;};'use strict';var Umzug=require(_0xd75d('0x0'));var path=require(_0xd75d('0x1'));var fs=require('fs');var _=require(_0xd75d('0x2'));var pkginfo=require(_0xd75d('0x3'))(module,_0xd75d('0x4'));var compareVersions=require(_0xd75d('0x5'));var exec=require('child_process')[_0xd75d('0x6')];var db=require(_0xd75d('0x7'))['db'];var config=require(_0xd75d('0x8'));var pm2=require(_0xd75d('0x9'));var logger=require(_0xd75d('0xa'))(_0xd75d('0xb'));var git=require(_0xd75d('0xc'))(config[_0xd75d('0xd')]);exports['index']=function(_0x7ad4a3,_0x216ea5){var _0x22b9f1={'current':module[_0xd75d('0xe')]['version'],'phonebar':0x2};if(_0x7ad4a3[_0xd75d('0xf')]&&_0x7ad4a3[_0xd75d('0xf')][_0xd75d('0x10')]){return git[_0xd75d('0x11')]()[_0xd75d('0x12')](function(_0x34db4e,_0x1afd2c){_0x22b9f1[_0xd75d('0x10')]=(_0x34db4e?module['exports'][_0xd75d('0x4')]:_0x1afd2c[_0xd75d('0x10')])||'2.0.0';return _0x216ea5[_0xd75d('0x13')](0xc8)[_0xd75d('0x14')](_0x22b9f1);});}else{return _0x216ea5['status'](0xc8)[_0xd75d('0x14')](_0x22b9f1);}};exports[_0xd75d('0x11')]=function(_0x4aa031,_0x5d9e8c){return git[_0xd75d('0x11')]([_0xd75d('0x15'),_0xd75d('0x16')],function(_0x49bcf8){if(_0x49bcf8){logger[_0xd75d('0x17')](_0x49bcf8);return _0x5d9e8c['status'](0x1f4)['json'](_0x49bcf8);}logger['info'](_0xd75d('0x18'));return _0x5d9e8c[_0xd75d('0x13')](0xc8)[_0xd75d('0x14')]({'output':'git\x20fetch\x20origin\x20master'});});};exports[_0xd75d('0x19')]=function(_0x3d4d89,_0xb86bbf){return git['reset']([_0xd75d('0x1a'),'FETCH_HEAD'],function(_0x82823b){if(_0x82823b){logger[_0xd75d('0x17')](_0x82823b);return _0xb86bbf[_0xd75d('0x13')](0x1f4)[_0xd75d('0x14')](_0x82823b);}logger[_0xd75d('0x1b')](_0xd75d('0x1c'));return _0xb86bbf['status'](0xc8)[_0xd75d('0x14')]({'output':_0xd75d('0x1d')});});};exports[_0xd75d('0x1e')]=function(_0x42a68e,_0x2cc214){exec(_0xd75d('0x1f'),function(_0x3d2c10,_0x5e1e36,_0x67f1b5){logger[_0xd75d('0x1b')](_0x5e1e36);logger['info'](_0x67f1b5);if(_0x3d2c10){logger[_0xd75d('0x17')](_0x3d2c10);return _0x2cc214[_0xd75d('0x13')](0x1f4)[_0xd75d('0x14')](_0x3d2c10);}return _0x2cc214[_0xd75d('0x13')](0xc8)['json']({'output':_0x5e1e36});});};exports['restart']=function(_0x475ae4,_0xbc4bd4){return pm2[_0xd75d('0x20')]('motion2')[_0xd75d('0x21')](function(_0x4619a){logger[_0xd75d('0x1b')](_0xd75d('0x22'),_0x4619a);return _0xbc4bd4[_0xd75d('0x13')](0xc8)[_0xd75d('0x14')]({'output':_0xd75d('0x23')});})['catch'](function(_0xd1c0ae){logger['error'](_0xd1c0ae);return _0xbc4bd4[_0xd75d('0x13')](0x1f4)['json'](_0xd1c0ae);});};exports['migrations']=function(_0x151cb1,_0x4baa60){var _0x565c9b=fs[_0xd75d('0x24')](path[_0xd75d('0x25')](config[_0xd75d('0xd')],'server',_0xd75d('0x26')));var _0x11eac3=[];for(var _0x39d434=0x0;_0x39d434<_0x565c9b[_0xd75d('0x27')];_0x39d434++){var _0x57654b=_0x565c9b[_0x39d434][_0xd75d('0x28')](_0xd75d('0x29'),'');if(compareVersions(module[_0xd75d('0xe')]['version'],_0x57654b)===-0x1){_0x11eac3[_0xd75d('0x2a')](_0x57654b);}}if(_0x11eac3['length']){var _0x2456dc=_0x11eac3[_0xd75d('0x2b')](compareVersions);var _0x259495=new Umzug({'storage':_0xd75d('0x2c'),'storageOptions':{'model':db[_0xd75d('0x2d')],'modelName':_0xd75d('0x2d'),'columnName':_0xd75d('0x4')},'migrations':{'params':[db[_0xd75d('0x2c')]['getQueryInterface'](),db[_0xd75d('0x2c')][_0xd75d('0x2e')],function(){throw new Error(_0xd75d('0x2f'));}],'path':path[_0xd75d('0x25')](config[_0xd75d('0xd')],'server',_0xd75d('0x26')),'pattern':/\.js$/}});_0x259495['up']({'migrations':_[_0xd75d('0x30')](_0x2456dc,function(_0xb0564){return _0xb0564+_0xd75d('0x29');})})['then'](function(){return _0x4baa60[_0xd75d('0x13')](0xc8)[_0xd75d('0x14')]({'output':_0xd75d('0x31')+module[_0xd75d('0xe')]['version']+_0xd75d('0x32')+_[_0xd75d('0x33')](_0x2456dc),'migrations':_['join'](_0x2456dc)});})['catch'](function(_0x12b9c7){if(_0x12b9c7 instanceof db['sequelize'][_0xd75d('0x34')]){return _0x4baa60[_0xd75d('0x13')](0xc8)[_0xd75d('0x14')]({'output':_0xd75d('0x35')});}else{return _0x4baa60[_0xd75d('0x13')](0x1f4)[_0xd75d('0x14')](_0x12b9c7);}});}else{return _0x4baa60[_0xd75d('0x13')](0xc8)[_0xd75d('0x14')]({'output':'Database\x20already\x20up-to-date'});}};