cfa99447019642b7f9a4534bc959cbcf92e31280
[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 _0xd04d=['.js','push','sort','sequelize','Migration','getQueryInterface','Migration\x20tried\x20to\x20use\x20old\x20style\x20\x22done\x22\x20callback.\x20Please\x20upgrade\x20to\x20\x22umzug\x22\x20and\x20return\x20a\x20promise\x20instead.','map','\x20to\x20','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','pkginfo','compare-versions','child_process','exec','../../mysqldb','../../config/environment','../../config/pm2','../../config/logger','update','simple-git','root','exports','version','query','latest','tags','2.0.0','status','fetch','origin','master','error','json','info','git\x20fetch\x20origin\x20master','reset','--hard','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD','git\x20reset\x20--hard','restart','motion2','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','readdirSync','join','server','migrations','length'];(function(_0x5695c7,_0x5db4a8){var _0x15e927=function(_0x85bf04){while(--_0x85bf04){_0x5695c7['push'](_0x5695c7['shift']());}};_0x15e927(++_0x5db4a8);}(_0xd04d,0x75));var _0xdd04=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0xd04d[_0xfae23b];return _0x200640;};'use strict';var Umzug=require(_0xdd04('0x0'));var path=require('path');var fs=require('fs');var _=require('lodash');var pkginfo=require(_0xdd04('0x1'))(module,'version');var compareVersions=require(_0xdd04('0x2'));var exec=require(_0xdd04('0x3'))[_0xdd04('0x4')];var db=require(_0xdd04('0x5'))['db'];var config=require(_0xdd04('0x6'));var pm2=require(_0xdd04('0x7'));var logger=require(_0xdd04('0x8'))(_0xdd04('0x9'));var git=require(_0xdd04('0xa'))(config[_0xdd04('0xb')]);exports['index']=function(_0x5db079,_0x236daf){var _0xb14fca={'current':module[_0xdd04('0xc')][_0xdd04('0xd')],'phonebar':0x2};if(_0x5db079['query']&&_0x5db079[_0xdd04('0xe')][_0xdd04('0xf')]){return git['fetch']()[_0xdd04('0x10')](function(_0x445eab,_0x46531a){_0xb14fca['latest']=(_0x445eab?module[_0xdd04('0xc')][_0xdd04('0xd')]:_0x46531a[_0xdd04('0xf')])||_0xdd04('0x11');return _0x236daf[_0xdd04('0x12')](0xc8)['json'](_0xb14fca);});}else{return _0x236daf[_0xdd04('0x12')](0xc8)['json'](_0xb14fca);}};exports[_0xdd04('0x13')]=function(_0x28fc6d,_0x6f381b){return git[_0xdd04('0x13')]([_0xdd04('0x14'),_0xdd04('0x15')],function(_0x71d950){if(_0x71d950){logger[_0xdd04('0x16')](_0x71d950);return _0x6f381b['status'](0x1f4)[_0xdd04('0x17')](_0x71d950);}logger[_0xdd04('0x18')]('git\x20fetch');return _0x6f381b['status'](0xc8)[_0xdd04('0x17')]({'output':_0xdd04('0x19')});});};exports['reset']=function(_0x7dd409,_0x346643){return git[_0xdd04('0x1a')]([_0xdd04('0x1b'),_0xdd04('0x1c')],function(_0xb4fbef){if(_0xb4fbef){logger[_0xdd04('0x16')](_0xb4fbef);return _0x346643[_0xdd04('0x12')](0x1f4)[_0xdd04('0x17')](_0xb4fbef);}logger[_0xdd04('0x18')](_0xdd04('0x1d'));return _0x346643[_0xdd04('0x12')](0xc8)[_0xdd04('0x17')]({'output':_0xdd04('0x1e')});});};exports['pull']=function(_0x7f62c2,_0x4822e2){exec('npm\x20install\x20--production',function(_0x5121e1,_0x37511b,_0x5e0213){logger[_0xdd04('0x18')](_0x37511b);logger['info'](_0x5e0213);if(_0x5121e1){logger[_0xdd04('0x16')](_0x5121e1);return _0x4822e2[_0xdd04('0x12')](0x1f4)[_0xdd04('0x17')](_0x5121e1);}return _0x4822e2[_0xdd04('0x12')](0xc8)[_0xdd04('0x17')]({'output':_0x37511b});});};exports[_0xdd04('0x1f')]=function(_0x23aa68,_0x690214){return pm2[_0xdd04('0x1f')](_0xdd04('0x20'))[_0xdd04('0x21')](function(_0x102345){logger[_0xdd04('0x18')](_0xdd04('0x22'),_0x102345);return _0x690214[_0xdd04('0x12')](0xc8)[_0xdd04('0x17')]({'output':_0xdd04('0x23')});})[_0xdd04('0x24')](function(_0x570922){logger[_0xdd04('0x16')](_0x570922);return _0x690214['status'](0x1f4)[_0xdd04('0x17')](_0x570922);});};exports['migrations']=function(_0x3de381,_0xe113d1){var _0x1c0263=fs[_0xdd04('0x25')](path[_0xdd04('0x26')](config[_0xdd04('0xb')],_0xdd04('0x27'),_0xdd04('0x28')));var _0x537c9f=[];for(var _0x3497dc=0x0;_0x3497dc<_0x1c0263[_0xdd04('0x29')];_0x3497dc++){var _0x31a718=_0x1c0263[_0x3497dc]['replace'](_0xdd04('0x2a'),'');if(compareVersions(module['exports'][_0xdd04('0xd')],_0x31a718)===-0x1){_0x537c9f[_0xdd04('0x2b')](_0x31a718);}}if(_0x537c9f['length']){var _0x6aac4=_0x537c9f[_0xdd04('0x2c')](compareVersions);var _0x3a6998=new Umzug({'storage':_0xdd04('0x2d'),'storageOptions':{'model':db[_0xdd04('0x2e')],'modelName':_0xdd04('0x2e'),'columnName':_0xdd04('0xd')},'migrations':{'params':[db[_0xdd04('0x2d')][_0xdd04('0x2f')](),db[_0xdd04('0x2d')]['constructor'],function(){throw new Error(_0xdd04('0x30'));}],'path':path[_0xdd04('0x26')](config[_0xdd04('0xb')],_0xdd04('0x27'),_0xdd04('0x28')),'pattern':/\.js$/}});_0x3a6998['up']({'migrations':_[_0xdd04('0x31')](_0x6aac4,function(_0x341fb5){return _0x341fb5+_0xdd04('0x2a');})})[_0xdd04('0x21')](function(){return _0xe113d1[_0xdd04('0x12')](0xc8)['json']({'output':'Database\x20migrated\x20successfully\x20from\x20version\x20'+module[_0xdd04('0xc')]['version']+_0xdd04('0x32')+_['last'](_0x6aac4),'migrations':_['join'](_0x6aac4)});})[_0xdd04('0x24')](function(_0x23d532){if(_0x23d532 instanceof db[_0xdd04('0x2d')][_0xdd04('0x33')]){return _0xe113d1['status'](0xc8)[_0xdd04('0x17')]({'output':_0xdd04('0x34')});}else{return _0xe113d1[_0xdd04('0x12')](0x1f4)[_0xdd04('0x17')](_0x23d532);}});}else{return _0xe113d1['status'](0xc8)[_0xdd04('0x17')]({'output':_0xdd04('0x34')});}};