5452c98dea2dd06c845500650ad040cbd4ed142e
[motion2.git] / server / api / migration / migration.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 _0xeed7=['status','end','json','offset','count','limit','set','Content-Range','reject','save','update','then','destroy','error','stack','name','send','index','map','Migration','rawAttributes','type','key','query','filters','intersection','model','fields','length','attributes','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','includeAll','findAll','rows','catch','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb'];(function(_0x1a6c10,_0x2280bb){var _0x13be9c=function(_0x2e5d11){while(--_0x2e5d11){_0x1a6c10['push'](_0x1a6c10['shift']());}};_0x13be9c(++_0x2280bb);}(_0xeed7,0x1f2));var _0x7eed=function(_0x48b838,_0x3d6111){_0x48b838=_0x48b838-0x0;var _0x330ebd=_0xeed7[_0x48b838];return _0x330ebd;};'use strict';var emlformat=require(_0x7eed('0x0'));var rimraf=require(_0x7eed('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7eed('0x2'));var rp=require(_0x7eed('0x3'));var moment=require(_0x7eed('0x4'));var BPromise=require(_0x7eed('0x5'));var Mustache=require('mustache');var util=require(_0x7eed('0x6'));var path=require('path');var sox=require(_0x7eed('0x7'));var csv=require(_0x7eed('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x7eed('0x9'));var _=require(_0x7eed('0xa'));var squel=require(_0x7eed('0xb'));var crypto=require('crypto');var jsforce=require(_0x7eed('0xc'));var deskjs=require(_0x7eed('0xd'));var toCsv=require(_0x7eed('0x8'));var querystring=require(_0x7eed('0xe'));var Papa=require(_0x7eed('0xf'));var Redis=require(_0x7eed('0x10'));var authService=require(_0x7eed('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x7eed('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x7eed('0x13'))(_0x7eed('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x7eed('0x15'))['db'];function respondWithStatusCode(_0x40e966,_0x354eaa){_0x354eaa=_0x354eaa||0xcc;return function(_0x426fed){if(_0x426fed){return _0x40e966['sendStatus'](_0x354eaa);}return _0x40e966[_0x7eed('0x16')](_0x354eaa)[_0x7eed('0x17')]();};}function respondWithResult(_0x24bf26,_0x569de3){_0x569de3=_0x569de3||0xc8;return function(_0x500057){if(_0x500057){return _0x24bf26[_0x7eed('0x16')](_0x569de3)[_0x7eed('0x18')](_0x500057);}};}function respondWithFilteredResult(_0x31f733,_0xb8e20f){return function(_0x4bd444){if(_0x4bd444){var _0x4f2cd2=typeof _0xb8e20f[_0x7eed('0x19')]==='undefined'&&typeof _0xb8e20f['limit']==='undefined';var _0x5578e6=_0x4bd444[_0x7eed('0x1a')];var _0x5348d5=_0x4f2cd2?0x0:_0xb8e20f[_0x7eed('0x19')];var _0x3ea005=_0x4f2cd2?_0x4bd444[_0x7eed('0x1a')]:_0xb8e20f[_0x7eed('0x19')]+_0xb8e20f[_0x7eed('0x1b')];var _0x137f47;if(_0x3ea005>=_0x5578e6){_0x3ea005=_0x5578e6;_0x137f47=0xc8;}else{_0x137f47=0xce;}_0x31f733[_0x7eed('0x16')](_0x137f47);return _0x31f733[_0x7eed('0x1c')](_0x7eed('0x1d'),_0x5348d5+'-'+_0x3ea005+'/'+_0x5578e6)[_0x7eed('0x18')](_0x4bd444);}return null;};}function patchUpdates(_0x36131d){return function(_0x5afc62){try{jsonpatch['apply'](_0x5afc62,_0x36131d,!![]);}catch(_0x51cd29){return BPromise[_0x7eed('0x1e')](_0x51cd29);}return _0x5afc62[_0x7eed('0x1f')]();};}function saveUpdates(_0x541df9,_0x3b507a){return function(_0x304175){if(_0x304175){return _0x304175[_0x7eed('0x20')](_0x541df9)[_0x7eed('0x21')](function(_0x21f26c){return _0x21f26c;});}return null;};}function removeEntity(_0x5404f6,_0x5c9839){return function(_0xb72528){if(_0xb72528){return _0xb72528[_0x7eed('0x22')]()['then'](function(){_0x5404f6[_0x7eed('0x16')](0xcc)[_0x7eed('0x17')]();});}};}function handleEntityNotFound(_0x43de62,_0x63d483){return function(_0xa5aa90){if(!_0xa5aa90){_0x43de62['sendStatus'](0x194);}return _0xa5aa90;};}function handleError(_0x27f75e,_0x5db82d){_0x5db82d=_0x5db82d||0x1f4;return function(_0x1223fb){logger[_0x7eed('0x23')](_0x1223fb[_0x7eed('0x24')]);if(_0x1223fb['name']){delete _0x1223fb[_0x7eed('0x25')];}_0x27f75e[_0x7eed('0x16')](_0x5db82d)[_0x7eed('0x26')](_0x1223fb);};}exports[_0x7eed('0x27')]=function(_0x91468e,_0x4cb761){var _0x14ad65={},_0x11fb56={},_0x258018={'count':0x0,'rows':[]};var _0x2e6694=_[_0x7eed('0x28')](db[_0x7eed('0x29')][_0x7eed('0x2a')],function(_0x58d667){return{'name':_0x58d667['fieldName'],'type':_0x58d667[_0x7eed('0x2b')][_0x7eed('0x2c')]};});_0x11fb56['model']=_['map'](_0x2e6694,_0x7eed('0x25'));_0x11fb56[_0x7eed('0x2d')]=_['keys'](_0x91468e[_0x7eed('0x2d')]);_0x11fb56[_0x7eed('0x2e')]=_['intersection'](_0x11fb56['model'],_0x11fb56[_0x7eed('0x2d')]);_0x14ad65['attributes']=_[_0x7eed('0x2f')](_0x11fb56[_0x7eed('0x30')],qs['fields'](_0x91468e[_0x7eed('0x2d')][_0x7eed('0x31')]));_0x14ad65['attributes']=_0x14ad65['attributes'][_0x7eed('0x32')]?_0x14ad65[_0x7eed('0x33')]:_0x11fb56[_0x7eed('0x30')];if(!_0x91468e[_0x7eed('0x2d')][_0x7eed('0x34')](_0x7eed('0x35'))){_0x14ad65[_0x7eed('0x1b')]=qs[_0x7eed('0x1b')](_0x91468e['query'][_0x7eed('0x1b')]);_0x14ad65[_0x7eed('0x19')]=qs[_0x7eed('0x19')](_0x91468e[_0x7eed('0x2d')][_0x7eed('0x19')]);}_0x14ad65[_0x7eed('0x36')]=qs[_0x7eed('0x37')](_0x91468e[_0x7eed('0x2d')]['sort']);_0x14ad65['where']=qs[_0x7eed('0x2e')](_[_0x7eed('0x38')](_0x91468e[_0x7eed('0x2d')],_0x11fb56[_0x7eed('0x2e')]),_0x2e6694);if(_0x91468e['query'][_0x7eed('0x39')]){_0x14ad65['where']=_[_0x7eed('0x3a')](_0x14ad65[_0x7eed('0x3b')],{'$or':_[_0x7eed('0x28')](_0x2e6694,function(_0x6976ec){if(_0x6976ec[_0x7eed('0x2b')]!==_0x7eed('0x3c')){var _0x809e87={};_0x809e87[_0x6976ec[_0x7eed('0x25')]]={'$like':'%'+_0x91468e['query'][_0x7eed('0x39')]+'%'};return _0x809e87;}})});}_0x14ad65=_[_0x7eed('0x3a')]({},_0x14ad65,_0x91468e['options']);var _0x31995d={'where':_0x14ad65[_0x7eed('0x3b')]};return db[_0x7eed('0x29')][_0x7eed('0x1a')](_0x31995d)[_0x7eed('0x21')](function(_0x51a654){_0x258018['count']=_0x51a654;if(_0x91468e['query'][_0x7eed('0x3d')]){_0x14ad65['include']=[{'all':!![]}];}return db[_0x7eed('0x29')][_0x7eed('0x3e')](_0x14ad65);})[_0x7eed('0x21')](function(_0x133bbe){_0x258018[_0x7eed('0x3f')]=_0x133bbe;return _0x258018;})[_0x7eed('0x21')](respondWithFilteredResult(_0x4cb761,_0x14ad65))[_0x7eed('0x40')](handleError(_0x4cb761,null));};