82f5fb9d5eae7ed8504eb45aa7d2f6cc5aa98e03
[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 _0x183e=['json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','destroy','end','stack','name','send','Migration','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','type','options','then','includeAll','findAll','rows','catch','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0x183e,0x17e));var _0xe183=function(_0x1e1405,_0x57c192){_0x1e1405=_0x1e1405-0x0;var _0x30444d=_0x183e[_0x1e1405];return _0x30444d;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xe183('0x0'));var jsonpatch=require(_0xe183('0x1'));var rp=require(_0xe183('0x2'));var moment=require(_0xe183('0x3'));var BPromise=require(_0xe183('0x4'));var Mustache=require(_0xe183('0x5'));var util=require(_0xe183('0x6'));var path=require('path');var sox=require(_0xe183('0x7'));var csv=require(_0xe183('0x8'));var ejs=require(_0xe183('0x9'));var fs=require('fs');var fs_extra=require(_0xe183('0xa'));var _=require(_0xe183('0xb'));var squel=require(_0xe183('0xc'));var crypto=require(_0xe183('0xd'));var jsforce=require(_0xe183('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xe183('0x8'));var querystring=require(_0xe183('0xf'));var Papa=require(_0xe183('0x10'));var Redis=require('ioredis');var authService=require(_0xe183('0x11'));var qs=require(_0xe183('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xe183('0x13'))(_0xe183('0x14'));var utils=require('../../config/utils');var config=require(_0xe183('0x15'));var licenseUtil=require(_0xe183('0x16'));var db=require(_0xe183('0x17'))['db'];function respondWithStatusCode(_0x5b1234,_0x199e3d){_0x199e3d=_0x199e3d||0xcc;return function(_0x1ebcfc){if(_0x1ebcfc){return _0x5b1234[_0xe183('0x18')](_0x199e3d);}return _0x5b1234['status'](_0x199e3d)['end']();};}function respondWithResult(_0xfee42b,_0x591f5d){_0x591f5d=_0x591f5d||0xc8;return function(_0x5f0ec9){if(_0x5f0ec9){return _0xfee42b[_0xe183('0x19')](_0x591f5d)[_0xe183('0x1a')](_0x5f0ec9);}};}function respondWithFilteredResult(_0x56bc06,_0x41a2f5){return function(_0xb906d2){if(_0xb906d2){var _0x431271=typeof _0x41a2f5['offset']===_0xe183('0x1b')&&typeof _0x41a2f5[_0xe183('0x1c')]===_0xe183('0x1b');var _0x28e0b9=_0xb906d2[_0xe183('0x1d')];var _0x1e3904=_0x431271?0x0:_0x41a2f5['offset'];var _0x22f1da=_0x431271?_0xb906d2[_0xe183('0x1d')]:_0x41a2f5[_0xe183('0x1e')]+_0x41a2f5[_0xe183('0x1c')];var _0x521cbe;if(_0x22f1da>=_0x28e0b9){_0x22f1da=_0x28e0b9;_0x521cbe=0xc8;}else{_0x521cbe=0xce;}_0x56bc06[_0xe183('0x19')](_0x521cbe);return _0x56bc06['set'](_0xe183('0x1f'),_0x1e3904+'-'+_0x22f1da+'/'+_0x28e0b9)[_0xe183('0x1a')](_0xb906d2);}return null;};}function patchUpdates(_0xbedcf2){return function(_0x17658e){try{jsonpatch[_0xe183('0x20')](_0x17658e,_0xbedcf2,!![]);}catch(_0x3d35bf){return BPromise[_0xe183('0x21')](_0x3d35bf);}return _0x17658e[_0xe183('0x22')]();};}function saveUpdates(_0x102625,_0x1923c0){return function(_0x210534){if(_0x210534){return _0x210534[_0xe183('0x23')](_0x102625)['then'](function(_0x5b6c81){return _0x5b6c81;});}return null;};}function removeEntity(_0x22515c,_0x5e2fd9){return function(_0x3694a9){if(_0x3694a9){return _0x3694a9[_0xe183('0x24')]()['then'](function(){_0x22515c[_0xe183('0x19')](0xcc)[_0xe183('0x25')]();});}};}function handleEntityNotFound(_0x40daf1,_0x28f7d6){return function(_0x517c5a){if(!_0x517c5a){_0x40daf1[_0xe183('0x18')](0x194);}return _0x517c5a;};}function handleError(_0x385173,_0x42c64d){_0x42c64d=_0x42c64d||0x1f4;return function(_0x2230ab){logger['error'](_0x2230ab[_0xe183('0x26')]);if(_0x2230ab['name']){delete _0x2230ab[_0xe183('0x27')];}_0x385173[_0xe183('0x19')](_0x42c64d)[_0xe183('0x28')](_0x2230ab);};}exports['index']=function(_0x42b3ae,_0x305fba){var _0x14a819={},_0x31010b={},_0x5a0f1e={'count':0x0,'rows':[]};var _0x3d7c99=_['map'](db[_0xe183('0x29')][_0xe183('0x2a')],function(_0x10b1c7){return{'name':_0x10b1c7[_0xe183('0x2b')],'type':_0x10b1c7['type'][_0xe183('0x2c')]};});_0x31010b[_0xe183('0x2d')]=_['map'](_0x3d7c99,_0xe183('0x27'));_0x31010b[_0xe183('0x2e')]=_[_0xe183('0x2f')](_0x42b3ae[_0xe183('0x2e')]);_0x31010b[_0xe183('0x30')]=_['intersection'](_0x31010b[_0xe183('0x2d')],_0x31010b[_0xe183('0x2e')]);_0x14a819[_0xe183('0x31')]=_[_0xe183('0x32')](_0x31010b[_0xe183('0x2d')],qs[_0xe183('0x33')](_0x42b3ae[_0xe183('0x2e')][_0xe183('0x33')]));_0x14a819[_0xe183('0x31')]=_0x14a819[_0xe183('0x31')][_0xe183('0x34')]?_0x14a819[_0xe183('0x31')]:_0x31010b[_0xe183('0x2d')];if(!_0x42b3ae[_0xe183('0x2e')][_0xe183('0x35')](_0xe183('0x36'))){_0x14a819['limit']=qs[_0xe183('0x1c')](_0x42b3ae[_0xe183('0x2e')][_0xe183('0x1c')]);_0x14a819[_0xe183('0x1e')]=qs[_0xe183('0x1e')](_0x42b3ae[_0xe183('0x2e')]['offset']);}_0x14a819[_0xe183('0x37')]=qs[_0xe183('0x38')](_0x42b3ae[_0xe183('0x2e')][_0xe183('0x38')]);_0x14a819['where']=qs[_0xe183('0x30')](_[_0xe183('0x39')](_0x42b3ae[_0xe183('0x2e')],_0x31010b[_0xe183('0x30')]),_0x3d7c99);if(_0x42b3ae[_0xe183('0x2e')][_0xe183('0x3a')]){_0x14a819['where']=_[_0xe183('0x3b')](_0x14a819[_0xe183('0x3c')],{'$or':_['map'](_0x3d7c99,function(_0x5663cd){if(_0x5663cd[_0xe183('0x3d')]!=='VIRTUAL'){var _0x115de8={};_0x115de8[_0x5663cd[_0xe183('0x27')]]={'$like':'%'+_0x42b3ae[_0xe183('0x2e')][_0xe183('0x3a')]+'%'};return _0x115de8;}})});}_0x14a819=_[_0xe183('0x3b')]({},_0x14a819,_0x42b3ae[_0xe183('0x3e')]);var _0x538bc9={'where':_0x14a819['where']};return db[_0xe183('0x29')][_0xe183('0x1d')](_0x538bc9)[_0xe183('0x3f')](function(_0xaf012c){_0x5a0f1e[_0xe183('0x1d')]=_0xaf012c;if(_0x42b3ae[_0xe183('0x2e')][_0xe183('0x40')]){_0x14a819['include']=[{'all':!![]}];}return db[_0xe183('0x29')][_0xe183('0x41')](_0x14a819);})['then'](function(_0x378c1a){_0x5a0f1e[_0xe183('0x42')]=_0x378c1a;return _0x5a0f1e;})[_0xe183('0x3f')](respondWithFilteredResult(_0x305fba,_0x14a819))[_0xe183('0x43')](handleError(_0x305fba,null));};