Built motion from commit 639a1a7f.|2.6.19
[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 _0x7c77=['../../config/environment','update','index','version','query','latest','exports','2.0.0','status','json','fetch','origin','master','error','info','git\x20fetch\x20origin\x20master','reset','--hard','FETCH_HEAD','git\x20reset\x20--hard\x20FETCH_HEAD','npm\x20install\x20--production','restart','then','pm2\x20restart\x20motion\x20%s','Your\x20system\x20has\x20been\x20restart\x20successfully','catch','migrations','readdirSync','join','root','server','length','replace','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.','.js','Database\x20migrated\x20successfully\x20from\x20version\x20','\x20to\x20','UniqueConstraintError','Database\x20already\x20up-to-date','umzug','lodash','pkginfo','child_process','../../mysqldb'];(function(_0x278ddf,_0x390e18){var _0x4692c8=function(_0x11fda0){while(--_0x11fda0){_0x278ddf['push'](_0x278ddf['shift']());}};_0x4692c8(++_0x390e18);}(_0x7c77,0x183));var _0x77c7=function(_0x25239d,_0x4a72ec){_0x25239d=_0x25239d-0x0;var _0x456d9e=_0x7c77[_0x25239d];return _0x456d9e;};'use strict';var Umzug=require(_0x77c7('0x0'));var path=require('path');var fs=require('fs');var _=require(_0x77c7('0x1'));var pkginfo=require(_0x77c7('0x2'))(module,'version');var compareVersions=require('compare-versions');var exec=require(_0x77c7('0x3'))['exec'];var db=require(_0x77c7('0x4'))['db'];var config=require(_0x77c7('0x5'));var pm2=require('../../config/pm2');var logger=require('../../config/logger')(_0x77c7('0x6'));var git=require('simple-git')(config['root']);exports[_0x77c7('0x7')]=function(_0x19ce7c,_0x160d8f){var _0x50b0ca={'current':module['exports'][_0x77c7('0x8')],'phonebar':0x2};if(_0x19ce7c[_0x77c7('0x9')]&&_0x19ce7c['query'][_0x77c7('0xa')]){return git['fetch']()['tags'](function(_0x38ca37,_0x2f830f){_0x50b0ca[_0x77c7('0xa')]=(_0x38ca37?module[_0x77c7('0xb')][_0x77c7('0x8')]:_0x2f830f[_0x77c7('0xa')])||_0x77c7('0xc');return _0x160d8f[_0x77c7('0xd')](0xc8)[_0x77c7('0xe')](_0x50b0ca);});}else{return _0x160d8f['status'](0xc8)['json'](_0x50b0ca);}};exports[_0x77c7('0xf')]=function(_0x33c5a2,_0x48137f){return git[_0x77c7('0xf')]([_0x77c7('0x10'),_0x77c7('0x11')],function(_0x44bb0f){if(_0x44bb0f){logger[_0x77c7('0x12')](_0x44bb0f);return _0x48137f['status'](0x1f4)[_0x77c7('0xe')](_0x44bb0f);}logger[_0x77c7('0x13')]('git\x20fetch');return _0x48137f[_0x77c7('0xd')](0xc8)['json']({'output':_0x77c7('0x14')});});};exports[_0x77c7('0x15')]=function(_0x42cb6f,_0x5ca615){return git['reset']([_0x77c7('0x16'),_0x77c7('0x17')],function(_0x35cf20){if(_0x35cf20){logger['error'](_0x35cf20);return _0x5ca615[_0x77c7('0xd')](0x1f4)['json'](_0x35cf20);}logger[_0x77c7('0x13')](_0x77c7('0x18'));return _0x5ca615[_0x77c7('0xd')](0xc8)[_0x77c7('0xe')]({'output':'git\x20reset\x20--hard'});});};exports['pull']=function(_0xc6409e,_0x52b17c){exec(_0x77c7('0x19'),function(_0x529e84,_0x10c899,_0x5ebe0a){logger[_0x77c7('0x13')](_0x10c899);logger['info'](_0x5ebe0a);if(_0x529e84){logger['error'](_0x529e84);return _0x52b17c[_0x77c7('0xd')](0x1f4)[_0x77c7('0xe')](_0x529e84);}return _0x52b17c[_0x77c7('0xd')](0xc8)[_0x77c7('0xe')]({'output':_0x10c899});});};exports[_0x77c7('0x1a')]=function(_0x564236,_0x434427){return pm2[_0x77c7('0x1a')]('motion2')[_0x77c7('0x1b')](function(_0xb4e7a9){logger[_0x77c7('0x13')](_0x77c7('0x1c'),_0xb4e7a9);return _0x434427[_0x77c7('0xd')](0xc8)['json']({'output':_0x77c7('0x1d')});})[_0x77c7('0x1e')](function(_0x1946bf){logger[_0x77c7('0x12')](_0x1946bf);return _0x434427[_0x77c7('0xd')](0x1f4)[_0x77c7('0xe')](_0x1946bf);});};exports[_0x77c7('0x1f')]=function(_0x5172c6,_0x3aacd9){var _0x3934bb=fs[_0x77c7('0x20')](path[_0x77c7('0x21')](config[_0x77c7('0x22')],_0x77c7('0x23'),_0x77c7('0x1f')));var _0x1f5d93=[];for(var _0x321b65=0x0;_0x321b65<_0x3934bb[_0x77c7('0x24')];_0x321b65++){var _0x2e81e0=_0x3934bb[_0x321b65][_0x77c7('0x25')]('.js','');if(compareVersions(module[_0x77c7('0xb')][_0x77c7('0x8')],_0x2e81e0)===-0x1){_0x1f5d93[_0x77c7('0x26')](_0x2e81e0);}}if(_0x1f5d93['length']){var _0x3ed95d=_0x1f5d93['sort'](compareVersions);var _0x2d4ac2=new Umzug({'storage':_0x77c7('0x27'),'storageOptions':{'model':db['Migration'],'modelName':_0x77c7('0x28'),'columnName':_0x77c7('0x8')},'migrations':{'params':[db[_0x77c7('0x27')][_0x77c7('0x29')](),db['sequelize'][_0x77c7('0x2a')],function(){throw new Error(_0x77c7('0x2b'));}],'path':path['join'](config[_0x77c7('0x22')],_0x77c7('0x23'),_0x77c7('0x1f')),'pattern':/\.js$/}});_0x2d4ac2['up']({'migrations':_['map'](_0x3ed95d,function(_0x47211a){return _0x47211a+_0x77c7('0x2c');})})[_0x77c7('0x1b')](function(){return _0x3aacd9[_0x77c7('0xd')](0xc8)[_0x77c7('0xe')]({'output':_0x77c7('0x2d')+module[_0x77c7('0xb')][_0x77c7('0x8')]+_0x77c7('0x2e')+_['last'](_0x3ed95d),'migrations':_[_0x77c7('0x21')](_0x3ed95d)});})[_0x77c7('0x1e')](function(_0xda4463){if(_0xda4463 instanceof db[_0x77c7('0x27')][_0x77c7('0x2f')]){return _0x3aacd9['status'](0xc8)[_0x77c7('0xe')]({'output':_0x77c7('0x30')});}else{return _0x3aacd9[_0x77c7('0xd')](0x1f4)['json'](_0xda4463);}});}else{return _0x3aacd9['status'](0xc8)[_0x77c7('0xe')]({'output':'Database\x20already\x20up-to-date'});}};