Built motion from commit (unavailable).|2.5.31
[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 _0xb7e2=['length','replace','.js','push','sequelize','Migration','getQueryInterface','constructor','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','join','map','last','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','lodash','version','child_process','../../mysqldb','../../config/environment','../../config/pm2','../../config/logger','update','simple-git','index','exports','query','latest','2.0.0','json','status','fetch','origin','info','git\x20fetch','git\x20fetch\x20origin\x20master','reset','--hard','error','pull','npm\x20install\x20--production','restart','motion2','then','pm2\x20restart\x20motion\x20%s','catch','readdirSync','root','migrations'];(function(_0x36ed3c,_0x44a00a){var _0x52a2e0=function(_0x3f7af9){while(--_0x3f7af9){_0x36ed3c['push'](_0x36ed3c['shift']());}};_0x52a2e0(++_0x44a00a);}(_0xb7e2,0x103));var _0x2b7e=function(_0x269a99,_0x563ef0){_0x269a99=_0x269a99-0x0;var _0x5c798a=_0xb7e2[_0x269a99];return _0x5c798a;};'use strict';var Umzug=require(_0x2b7e('0x0'));var path=require('path');var fs=require('fs');var _=require(_0x2b7e('0x1'));var pkginfo=require('pkginfo')(module,_0x2b7e('0x2'));var compareVersions=require('compare-versions');var exec=require(_0x2b7e('0x3'))['exec'];var db=require(_0x2b7e('0x4'))['db'];var config=require(_0x2b7e('0x5'));var pm2=require(_0x2b7e('0x6'));var logger=require(_0x2b7e('0x7'))(_0x2b7e('0x8'));var git=require(_0x2b7e('0x9'))(config['root']);exports[_0x2b7e('0xa')]=function(_0x45dc9f,_0x10a31d){var _0x49491c={'current':module[_0x2b7e('0xb')][_0x2b7e('0x2')],'phonebar':0x2};if(_0x45dc9f[_0x2b7e('0xc')]&&_0x45dc9f[_0x2b7e('0xc')][_0x2b7e('0xd')]){return git['fetch']()['tags'](function(_0x1f08a3,_0x2ca5dd){_0x49491c[_0x2b7e('0xd')]=(_0x1f08a3?module[_0x2b7e('0xb')][_0x2b7e('0x2')]:_0x2ca5dd[_0x2b7e('0xd')])||_0x2b7e('0xe');return _0x10a31d['status'](0xc8)[_0x2b7e('0xf')](_0x49491c);});}else{return _0x10a31d[_0x2b7e('0x10')](0xc8)[_0x2b7e('0xf')](_0x49491c);}};exports[_0x2b7e('0x11')]=function(_0x4e1528,_0x4813b4){return git['fetch']([_0x2b7e('0x12'),'master'],function(_0x1eeda0){if(_0x1eeda0){logger['error'](_0x1eeda0);return _0x4813b4[_0x2b7e('0x10')](0x1f4)['json'](_0x1eeda0);}logger[_0x2b7e('0x13')](_0x2b7e('0x14'));return _0x4813b4[_0x2b7e('0x10')](0xc8)['json']({'output':_0x2b7e('0x15')});});};exports[_0x2b7e('0x16')]=function(_0x5f3b8f,_0x16d389){return git[_0x2b7e('0x16')]([_0x2b7e('0x17'),'FETCH_HEAD'],function(_0x106863){if(_0x106863){logger[_0x2b7e('0x18')](_0x106863);return _0x16d389[_0x2b7e('0x10')](0x1f4)[_0x2b7e('0xf')](_0x106863);}logger[_0x2b7e('0x13')]('git\x20reset\x20--hard\x20FETCH_HEAD');return _0x16d389[_0x2b7e('0x10')](0xc8)['json']({'output':'git\x20reset\x20--hard'});});};exports[_0x2b7e('0x19')]=function(_0x5dae66,_0x3ebfd6){exec(_0x2b7e('0x1a'),function(_0x5773c4,_0x416aba,_0x5988eb){logger[_0x2b7e('0x13')](_0x416aba);logger[_0x2b7e('0x13')](_0x5988eb);if(_0x5773c4){logger['error'](_0x5773c4);return _0x3ebfd6['status'](0x1f4)[_0x2b7e('0xf')](_0x5773c4);}return _0x3ebfd6[_0x2b7e('0x10')](0xc8)[_0x2b7e('0xf')]({'output':_0x416aba});});};exports[_0x2b7e('0x1b')]=function(_0x16f836,_0x17b0f8){return pm2[_0x2b7e('0x1b')](_0x2b7e('0x1c'))[_0x2b7e('0x1d')](function(_0x2cb021){logger[_0x2b7e('0x13')](_0x2b7e('0x1e'),_0x2cb021);return _0x17b0f8[_0x2b7e('0x10')](0xc8)[_0x2b7e('0xf')]({'output':'Your\x20system\x20has\x20been\x20restart\x20successfully'});})[_0x2b7e('0x1f')](function(_0x18dd64){logger[_0x2b7e('0x18')](_0x18dd64);return _0x17b0f8[_0x2b7e('0x10')](0x1f4)[_0x2b7e('0xf')](_0x18dd64);});};exports['migrations']=function(_0x2e4f7f,_0x11cfd8){var _0x5871ac=fs[_0x2b7e('0x20')](path['join'](config[_0x2b7e('0x21')],'server',_0x2b7e('0x22')));var _0x23b9cf=[];for(var _0x1f6c89=0x0;_0x1f6c89<_0x5871ac[_0x2b7e('0x23')];_0x1f6c89++){var _0x54adce=_0x5871ac[_0x1f6c89][_0x2b7e('0x24')](_0x2b7e('0x25'),'');if(compareVersions(module[_0x2b7e('0xb')][_0x2b7e('0x2')],_0x54adce)===-0x1){_0x23b9cf[_0x2b7e('0x26')](_0x54adce);}}if(_0x23b9cf[_0x2b7e('0x23')]){var _0x21f9be=_0x23b9cf['sort'](compareVersions);var _0x33c0ed=new Umzug({'storage':_0x2b7e('0x27'),'storageOptions':{'model':db[_0x2b7e('0x28')],'modelName':'Migration','columnName':'version'},'migrations':{'params':[db[_0x2b7e('0x27')][_0x2b7e('0x29')](),db[_0x2b7e('0x27')][_0x2b7e('0x2a')],function(){throw new Error(_0x2b7e('0x2b'));}],'path':path[_0x2b7e('0x2c')](config[_0x2b7e('0x21')],'server',_0x2b7e('0x22')),'pattern':/\.js$/}});_0x33c0ed['up']({'migrations':_[_0x2b7e('0x2d')](_0x21f9be,function(_0x18e42c){return _0x18e42c+_0x2b7e('0x25');})})[_0x2b7e('0x1d')](function(){return _0x11cfd8['status'](0xc8)[_0x2b7e('0xf')]({'output':'Database\x20migrated\x20successfully\x20from\x20version\x20'+module['exports'][_0x2b7e('0x2')]+'\x20to\x20'+_[_0x2b7e('0x2e')](_0x21f9be),'migrations':_['join'](_0x21f9be)});})[_0x2b7e('0x1f')](function(_0x558c6e){if(_0x558c6e instanceof db[_0x2b7e('0x27')][_0x2b7e('0x2f')]){return _0x11cfd8[_0x2b7e('0x10')](0xc8)['json']({'output':_0x2b7e('0x30')});}else{return _0x11cfd8[_0x2b7e('0x10')](0x1f4)[_0x2b7e('0xf')](_0x558c6e);}});}else{return _0x11cfd8['status'](0xc8)['json']({'output':'Database\x20already\x20up-to-date'});}};