Built motion from commit d5e4af8c.|2.6.23
[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 _0x4f6b=['name','index','map','Migration','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','findAll','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','apply','reject','save','update','then','sendStatus','stack'];(function(_0x333d99,_0x87dd42){var _0x41c679=function(_0xae20f){while(--_0xae20f){_0x333d99['push'](_0x333d99['shift']());}};_0x41c679(++_0x87dd42);}(_0x4f6b,0x15a));var _0xb4f6=function(_0x55f8b4,_0x43f30d){_0x55f8b4=_0x55f8b4-0x0;var _0x2475f9=_0x4f6b[_0x55f8b4];return _0x2475f9;};'use strict';var emlformat=require(_0xb4f6('0x0'));var rimraf=require(_0xb4f6('0x1'));var zipdir=require(_0xb4f6('0x2'));var jsonpatch=require(_0xb4f6('0x3'));var rp=require('request-promise');var moment=require(_0xb4f6('0x4'));var BPromise=require(_0xb4f6('0x5'));var Mustache=require('mustache');var util=require(_0xb4f6('0x6'));var path=require(_0xb4f6('0x7'));var sox=require(_0xb4f6('0x8'));var csv=require(_0xb4f6('0x9'));var ejs=require(_0xb4f6('0xa'));var fs=require('fs');var fs_extra=require(_0xb4f6('0xb'));var _=require(_0xb4f6('0xc'));var squel=require(_0xb4f6('0xd'));var crypto=require(_0xb4f6('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xb4f6('0xf'));var toCsv=require(_0xb4f6('0x9'));var querystring=require(_0xb4f6('0x10'));var Papa=require(_0xb4f6('0x11'));var Redis=require('ioredis');var authService=require(_0xb4f6('0x12'));var qs=require(_0xb4f6('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb4f6('0x14'));var logger=require(_0xb4f6('0x15'))('api');var utils=require('../../config/utils');var config=require(_0xb4f6('0x16'));var licenseUtil=require(_0xb4f6('0x17'));var db=require(_0xb4f6('0x18'))['db'];function respondWithStatusCode(_0x575ae0,_0x5be2d1){_0x5be2d1=_0x5be2d1||0xcc;return function(_0x44b4c0){if(_0x44b4c0){return _0x575ae0['sendStatus'](_0x5be2d1);}return _0x575ae0['status'](_0x5be2d1)[_0xb4f6('0x19')]();};}function respondWithResult(_0x3c3344,_0x504deb){_0x504deb=_0x504deb||0xc8;return function(_0x3a9f35){if(_0x3a9f35){return _0x3c3344[_0xb4f6('0x1a')](_0x504deb)[_0xb4f6('0x1b')](_0x3a9f35);}};}function respondWithFilteredResult(_0x240597,_0x1c714e){return function(_0x3b9532){if(_0x3b9532){var _0x5e6b8a=typeof _0x1c714e[_0xb4f6('0x1c')]===_0xb4f6('0x1d')&&typeof _0x1c714e[_0xb4f6('0x1e')]===_0xb4f6('0x1d');var _0x462e4f=_0x3b9532['count'];var _0x46293c=_0x5e6b8a?0x0:_0x1c714e[_0xb4f6('0x1c')];var _0x227d5a=_0x5e6b8a?_0x3b9532['count']:_0x1c714e[_0xb4f6('0x1c')]+_0x1c714e['limit'];var _0x3cc659;if(_0x227d5a>=_0x462e4f){_0x227d5a=_0x462e4f;_0x3cc659=0xc8;}else{_0x3cc659=0xce;}_0x240597[_0xb4f6('0x1a')](_0x3cc659);return _0x240597['set']('Content-Range',_0x46293c+'-'+_0x227d5a+'/'+_0x462e4f)[_0xb4f6('0x1b')](_0x3b9532);}return null;};}function patchUpdates(_0x487411){return function(_0x18be56){try{jsonpatch[_0xb4f6('0x1f')](_0x18be56,_0x487411,!![]);}catch(_0x9a9975){return BPromise[_0xb4f6('0x20')](_0x9a9975);}return _0x18be56[_0xb4f6('0x21')]();};}function saveUpdates(_0xc89b81,_0x4b77f7){return function(_0x5ce040){if(_0x5ce040){return _0x5ce040[_0xb4f6('0x22')](_0xc89b81)[_0xb4f6('0x23')](function(_0x487900){return _0x487900;});}return null;};}function removeEntity(_0x3ad119,_0x3db8e7){return function(_0x2b482b){if(_0x2b482b){return _0x2b482b['destroy']()[_0xb4f6('0x23')](function(){_0x3ad119['status'](0xcc)[_0xb4f6('0x19')]();});}};}function handleEntityNotFound(_0x37a15c,_0x264734){return function(_0x55430c){if(!_0x55430c){_0x37a15c[_0xb4f6('0x24')](0x194);}return _0x55430c;};}function handleError(_0x33ffbe,_0x9a32ba){_0x9a32ba=_0x9a32ba||0x1f4;return function(_0x384797){logger['error'](_0x384797[_0xb4f6('0x25')]);if(_0x384797[_0xb4f6('0x26')]){delete _0x384797[_0xb4f6('0x26')];}_0x33ffbe[_0xb4f6('0x1a')](_0x9a32ba)['send'](_0x384797);};}exports[_0xb4f6('0x27')]=function(_0x4ec123,_0x419b27){var _0x4b0e35={},_0x2fc002={},_0x32e872={'count':0x0,'rows':[]};var _0x626db2=_[_0xb4f6('0x28')](db[_0xb4f6('0x29')][_0xb4f6('0x2a')],function(_0x269295){return{'name':_0x269295[_0xb4f6('0x2b')],'type':_0x269295[_0xb4f6('0x2c')][_0xb4f6('0x2d')]};});_0x2fc002[_0xb4f6('0x2e')]=_[_0xb4f6('0x28')](_0x626db2,_0xb4f6('0x26'));_0x2fc002['query']=_[_0xb4f6('0x2f')](_0x4ec123[_0xb4f6('0x30')]);_0x2fc002[_0xb4f6('0x31')]=_[_0xb4f6('0x32')](_0x2fc002[_0xb4f6('0x2e')],_0x2fc002[_0xb4f6('0x30')]);_0x4b0e35[_0xb4f6('0x33')]=_[_0xb4f6('0x32')](_0x2fc002[_0xb4f6('0x2e')],qs[_0xb4f6('0x34')](_0x4ec123[_0xb4f6('0x30')][_0xb4f6('0x34')]));_0x4b0e35[_0xb4f6('0x33')]=_0x4b0e35[_0xb4f6('0x33')][_0xb4f6('0x35')]?_0x4b0e35[_0xb4f6('0x33')]:_0x2fc002[_0xb4f6('0x2e')];if(!_0x4ec123[_0xb4f6('0x30')]['hasOwnProperty']('nolimit')){_0x4b0e35[_0xb4f6('0x1e')]=qs[_0xb4f6('0x1e')](_0x4ec123['query']['limit']);_0x4b0e35[_0xb4f6('0x1c')]=qs[_0xb4f6('0x1c')](_0x4ec123[_0xb4f6('0x30')][_0xb4f6('0x1c')]);}_0x4b0e35['order']=qs[_0xb4f6('0x36')](_0x4ec123[_0xb4f6('0x30')][_0xb4f6('0x36')]);_0x4b0e35[_0xb4f6('0x37')]=qs[_0xb4f6('0x31')](_[_0xb4f6('0x38')](_0x4ec123[_0xb4f6('0x30')],_0x2fc002[_0xb4f6('0x31')]),_0x626db2);if(_0x4ec123[_0xb4f6('0x30')][_0xb4f6('0x39')]){_0x4b0e35[_0xb4f6('0x37')]=_[_0xb4f6('0x3a')](_0x4b0e35['where'],{'$or':_[_0xb4f6('0x28')](_0x626db2,function(_0x1e9ddf){if(_0x1e9ddf[_0xb4f6('0x2c')]!==_0xb4f6('0x3b')){var _0x4de2c3={};_0x4de2c3[_0x1e9ddf['name']]={'$like':'%'+_0x4ec123[_0xb4f6('0x30')][_0xb4f6('0x39')]+'%'};return _0x4de2c3;}})});}_0x4b0e35=_['merge']({},_0x4b0e35,_0x4ec123[_0xb4f6('0x3c')]);var _0x1d3dd0={'where':_0x4b0e35[_0xb4f6('0x37')]};return db[_0xb4f6('0x29')][_0xb4f6('0x3d')](_0x1d3dd0)[_0xb4f6('0x23')](function(_0x3d2c31){_0x32e872[_0xb4f6('0x3d')]=_0x3d2c31;if(_0x4ec123[_0xb4f6('0x30')][_0xb4f6('0x3e')]){_0x4b0e35['include']=[{'all':!![]}];}return db[_0xb4f6('0x29')][_0xb4f6('0x3f')](_0x4b0e35);})[_0xb4f6('0x23')](function(_0x2ab02c){_0x32e872['rows']=_0x2ab02c;return _0x32e872;})['then'](respondWithFilteredResult(_0x419b27,_0x4b0e35))['catch'](handleError(_0x419b27,null));};