d30bf44e1a2bbc2197debdcaa09f36cd40dcdacc
[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 _0xef0c=['count','offset','set','apply','update','then','stack','name','send','index','map','Migration','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','VIRTUAL','options','includeAll','findAll','catch','rimraf','zip-dir','request-promise','bluebird','util','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','limit','undefined'];(function(_0x451dd4,_0x451e98){var _0x383b12=function(_0x103dbe){while(--_0x103dbe){_0x451dd4['push'](_0x451dd4['shift']());}};_0x383b12(++_0x451e98);}(_0xef0c,0x11a));var _0xcef0=function(_0x1ef701,_0x1bf366){_0x1ef701=_0x1ef701-0x0;var _0x448d94=_0xef0c[_0x1ef701];return _0x448d94;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xcef0('0x0'));var zipdir=require(_0xcef0('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcef0('0x2'));var moment=require('moment');var BPromise=require(_0xcef0('0x3'));var Mustache=require('mustache');var util=require(_0xcef0('0x4'));var path=require('path');var sox=require(_0xcef0('0x5'));var csv=require(_0xcef0('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xcef0('0x7'));var _=require(_0xcef0('0x8'));var squel=require(_0xcef0('0x9'));var crypto=require('crypto');var jsforce=require(_0xcef0('0xa'));var deskjs=require(_0xcef0('0xb'));var toCsv=require(_0xcef0('0x6'));var querystring=require(_0xcef0('0xc'));var Papa=require('papaparse');var Redis=require(_0xcef0('0xd'));var authService=require(_0xcef0('0xe'));var qs=require(_0xcef0('0xf'));var as=require(_0xcef0('0x10'));var hardwareService=require(_0xcef0('0x11'));var logger=require(_0xcef0('0x12'))(_0xcef0('0x13'));var utils=require(_0xcef0('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xcef0('0x15'))['db'];function respondWithStatusCode(_0x49c5b3,_0x289dbb){_0x289dbb=_0x289dbb||0xcc;return function(_0x4ed577){if(_0x4ed577){return _0x49c5b3[_0xcef0('0x16')](_0x289dbb);}return _0x49c5b3[_0xcef0('0x17')](_0x289dbb)[_0xcef0('0x18')]();};}function respondWithResult(_0x5e7187,_0x2e9de2){_0x2e9de2=_0x2e9de2||0xc8;return function(_0x5cab73){if(_0x5cab73){return _0x5e7187[_0xcef0('0x17')](_0x2e9de2)[_0xcef0('0x19')](_0x5cab73);}};}function respondWithFilteredResult(_0x4dab69,_0xb01ab9){return function(_0x2fe7d4){if(_0x2fe7d4){var _0x5e9c52=typeof _0xb01ab9['offset']==='undefined'&&typeof _0xb01ab9[_0xcef0('0x1a')]===_0xcef0('0x1b');var _0x481da2=_0x2fe7d4[_0xcef0('0x1c')];var _0x15753a=_0x5e9c52?0x0:_0xb01ab9['offset'];var _0x4817f1=_0x5e9c52?_0x2fe7d4[_0xcef0('0x1c')]:_0xb01ab9[_0xcef0('0x1d')]+_0xb01ab9[_0xcef0('0x1a')];var _0x3072b2;if(_0x4817f1>=_0x481da2){_0x4817f1=_0x481da2;_0x3072b2=0xc8;}else{_0x3072b2=0xce;}_0x4dab69[_0xcef0('0x17')](_0x3072b2);return _0x4dab69[_0xcef0('0x1e')]('Content-Range',_0x15753a+'-'+_0x4817f1+'/'+_0x481da2)[_0xcef0('0x19')](_0x2fe7d4);}return null;};}function patchUpdates(_0x35208c){return function(_0x1f5756){try{jsonpatch[_0xcef0('0x1f')](_0x1f5756,_0x35208c,!![]);}catch(_0x3f1936){return BPromise['reject'](_0x3f1936);}return _0x1f5756['save']();};}function saveUpdates(_0x2bfb37,_0x59c8a7){return function(_0x1b5aea){if(_0x1b5aea){return _0x1b5aea[_0xcef0('0x20')](_0x2bfb37)[_0xcef0('0x21')](function(_0x2a60c0){return _0x2a60c0;});}return null;};}function removeEntity(_0xe875a1,_0x1b1118){return function(_0x2384fa){if(_0x2384fa){return _0x2384fa['destroy']()['then'](function(){_0xe875a1[_0xcef0('0x17')](0xcc)[_0xcef0('0x18')]();});}};}function handleEntityNotFound(_0x1d960e,_0x2b731d){return function(_0x461e28){if(!_0x461e28){_0x1d960e[_0xcef0('0x16')](0x194);}return _0x461e28;};}function handleError(_0x2d5578,_0x1ac6ba){_0x1ac6ba=_0x1ac6ba||0x1f4;return function(_0x5aa40a){logger['error'](_0x5aa40a[_0xcef0('0x22')]);if(_0x5aa40a[_0xcef0('0x23')]){delete _0x5aa40a[_0xcef0('0x23')];}_0x2d5578[_0xcef0('0x17')](_0x1ac6ba)[_0xcef0('0x24')](_0x5aa40a);};}exports[_0xcef0('0x25')]=function(_0x4dc171,_0x22d5f7){var _0x599964={},_0x4b7399={},_0x35fb32={'count':0x0,'rows':[]};var _0x2a6a2c=_[_0xcef0('0x26')](db[_0xcef0('0x27')][_0xcef0('0x28')],function(_0x592732){return{'name':_0x592732[_0xcef0('0x29')],'type':_0x592732[_0xcef0('0x2a')]['key']};});_0x4b7399[_0xcef0('0x2b')]=_['map'](_0x2a6a2c,_0xcef0('0x23'));_0x4b7399[_0xcef0('0x2c')]=_[_0xcef0('0x2d')](_0x4dc171[_0xcef0('0x2c')]);_0x4b7399[_0xcef0('0x2e')]=_[_0xcef0('0x2f')](_0x4b7399[_0xcef0('0x2b')],_0x4b7399[_0xcef0('0x2c')]);_0x599964[_0xcef0('0x30')]=_[_0xcef0('0x2f')](_0x4b7399['model'],qs[_0xcef0('0x31')](_0x4dc171[_0xcef0('0x2c')][_0xcef0('0x31')]));_0x599964[_0xcef0('0x30')]=_0x599964['attributes'][_0xcef0('0x32')]?_0x599964[_0xcef0('0x30')]:_0x4b7399[_0xcef0('0x2b')];if(!_0x4dc171[_0xcef0('0x2c')][_0xcef0('0x33')](_0xcef0('0x34'))){_0x599964[_0xcef0('0x1a')]=qs[_0xcef0('0x1a')](_0x4dc171[_0xcef0('0x2c')]['limit']);_0x599964[_0xcef0('0x1d')]=qs[_0xcef0('0x1d')](_0x4dc171[_0xcef0('0x2c')][_0xcef0('0x1d')]);}_0x599964['order']=qs['sort'](_0x4dc171['query'][_0xcef0('0x35')]);_0x599964['where']=qs['filters'](_[_0xcef0('0x36')](_0x4dc171['query'],_0x4b7399['filters']),_0x2a6a2c);if(_0x4dc171[_0xcef0('0x2c')][_0xcef0('0x37')]){_0x599964[_0xcef0('0x38')]=_['merge'](_0x599964[_0xcef0('0x38')],{'$or':_[_0xcef0('0x26')](_0x2a6a2c,function(_0x1d0d3e){if(_0x1d0d3e[_0xcef0('0x2a')]!==_0xcef0('0x39')){var _0x17fe7f={};_0x17fe7f[_0x1d0d3e[_0xcef0('0x23')]]={'$like':'%'+_0x4dc171['query'][_0xcef0('0x37')]+'%'};return _0x17fe7f;}})});}_0x599964=_['merge']({},_0x599964,_0x4dc171[_0xcef0('0x3a')]);var _0x3a1140={'where':_0x599964[_0xcef0('0x38')]};return db[_0xcef0('0x27')][_0xcef0('0x1c')](_0x3a1140)[_0xcef0('0x21')](function(_0x445a8c){_0x35fb32[_0xcef0('0x1c')]=_0x445a8c;if(_0x4dc171[_0xcef0('0x2c')][_0xcef0('0x3b')]){_0x599964['include']=[{'all':!![]}];}return db[_0xcef0('0x27')][_0xcef0('0x3c')](_0x599964);})[_0xcef0('0x21')](function(_0x46b207){_0x35fb32['rows']=_0x46b207;return _0x35fb32;})[_0xcef0('0x21')](respondWithFilteredResult(_0x22d5f7,_0x599964))[_0xcef0('0x3d')](handleError(_0x22d5f7,null));};