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 _0xe680=['name','index','map','Migration','fieldName','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','filter','where','merge','type','options','include','catch','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','destroy','error'];(function(_0x990b1,_0x3142e9){var _0x1245c8=function(_0x5051ee){while(--_0x5051ee){_0x990b1['push'](_0x990b1['shift']());}};_0x1245c8(++_0x3142e9);}(_0xe680,0xcf));var _0x0e68=function(_0x593941,_0x54b080){_0x593941=_0x593941-0x0;var _0x292692=_0xe680[_0x593941];return _0x292692;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0e68('0x0'));var zipdir=require(_0x0e68('0x1'));var jsonpatch=require(_0x0e68('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x0e68('0x3'));var Mustache=require(_0x0e68('0x4'));var util=require(_0x0e68('0x5'));var path=require(_0x0e68('0x6'));var sox=require(_0x0e68('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0e68('0x8'));var _=require(_0x0e68('0x9'));var squel=require(_0x0e68('0xa'));var crypto=require(_0x0e68('0xb'));var jsforce=require(_0x0e68('0xc'));var deskjs=require(_0x0e68('0xd'));var toCsv=require(_0x0e68('0xe'));var querystring=require(_0x0e68('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x0e68('0x10'));var qs=require(_0x0e68('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0e68('0x12'));var logger=require(_0x0e68('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x0e68('0x14'));var licenseUtil=require(_0x0e68('0x15'));var db=require(_0x0e68('0x16'))['db'];function respondWithStatusCode(_0x44eca6,_0x29a8e6){_0x29a8e6=_0x29a8e6||0xcc;return function(_0xe787ef){if(_0xe787ef){return _0x44eca6['sendStatus'](_0x29a8e6);}return _0x44eca6[_0x0e68('0x17')](_0x29a8e6)[_0x0e68('0x18')]();};}function respondWithResult(_0x59f3c0,_0xe2b7fb){_0xe2b7fb=_0xe2b7fb||0xc8;return function(_0x36044b){if(_0x36044b){return _0x59f3c0['status'](_0xe2b7fb)[_0x0e68('0x19')](_0x36044b);}};}function respondWithFilteredResult(_0x8328ac,_0x19a348){return function(_0x38bc61){if(_0x38bc61){var _0x76c67c=typeof _0x19a348[_0x0e68('0x1a')]===_0x0e68('0x1b')&&typeof _0x19a348[_0x0e68('0x1c')]===_0x0e68('0x1b');var _0x2d8c20=_0x38bc61[_0x0e68('0x1d')];var _0xd9c9ff=_0x76c67c?0x0:_0x19a348[_0x0e68('0x1a')];var _0x2bf614=_0x76c67c?_0x38bc61[_0x0e68('0x1d')]:_0x19a348[_0x0e68('0x1a')]+_0x19a348[_0x0e68('0x1c')];var _0x2425d6;if(_0x2bf614>=_0x2d8c20){_0x2bf614=_0x2d8c20;_0x2425d6=0xc8;}else{_0x2425d6=0xce;}_0x8328ac['status'](_0x2425d6);return _0x8328ac['set'](_0x0e68('0x1e'),_0xd9c9ff+'-'+_0x2bf614+'/'+_0x2d8c20)[_0x0e68('0x19')](_0x38bc61);}return null;};}function patchUpdates(_0x2a8ab1){return function(_0x45e15d){try{jsonpatch[_0x0e68('0x1f')](_0x45e15d,_0x2a8ab1,!![]);}catch(_0x230b8f){return BPromise[_0x0e68('0x20')](_0x230b8f);}return _0x45e15d[_0x0e68('0x21')]();};}function saveUpdates(_0x5156c5,_0x6dc3c){return function(_0xc85e0c){if(_0xc85e0c){return _0xc85e0c['update'](_0x5156c5)[_0x0e68('0x22')](function(_0x212570){return _0x212570;});}return null;};}function removeEntity(_0x526a91,_0x51fcb5){return function(_0x260abf){if(_0x260abf){return _0x260abf[_0x0e68('0x23')]()[_0x0e68('0x22')](function(){_0x526a91[_0x0e68('0x17')](0xcc)[_0x0e68('0x18')]();});}};}function handleEntityNotFound(_0x40ba2a,_0x41553c){return function(_0x3ab319){if(!_0x3ab319){_0x40ba2a['sendStatus'](0x194);}return _0x3ab319;};}function handleError(_0x1209fc,_0x22a7c3){_0x22a7c3=_0x22a7c3||0x1f4;return function(_0x1fd000){logger[_0x0e68('0x24')](_0x1fd000['stack']);if(_0x1fd000[_0x0e68('0x25')]){delete _0x1fd000['name'];}_0x1209fc[_0x0e68('0x17')](_0x22a7c3)['send'](_0x1fd000);};}exports[_0x0e68('0x26')]=function(_0x457e25,_0x359f3a){var _0x5d945c={},_0xff1288={},_0x437fae={'count':0x0,'rows':[]};var _0x5179e1=_[_0x0e68('0x27')](db[_0x0e68('0x28')]['rawAttributes'],function(_0x1d22d4){return{'name':_0x1d22d4[_0x0e68('0x29')],'type':_0x1d22d4['type']['key']};});_0xff1288['model']=_['map'](_0x5179e1,_0x0e68('0x25'));_0xff1288[_0x0e68('0x2a')]=_[_0x0e68('0x2b')](_0x457e25[_0x0e68('0x2a')]);_0xff1288['filters']=_[_0x0e68('0x2c')](_0xff1288[_0x0e68('0x2d')],_0xff1288[_0x0e68('0x2a')]);_0x5d945c[_0x0e68('0x2e')]=_[_0x0e68('0x2c')](_0xff1288[_0x0e68('0x2d')],qs[_0x0e68('0x2f')](_0x457e25['query'][_0x0e68('0x2f')]));_0x5d945c[_0x0e68('0x2e')]=_0x5d945c['attributes'][_0x0e68('0x30')]?_0x5d945c[_0x0e68('0x2e')]:_0xff1288[_0x0e68('0x2d')];if(!_0x457e25[_0x0e68('0x2a')][_0x0e68('0x31')]('nolimit')){_0x5d945c[_0x0e68('0x1c')]=qs[_0x0e68('0x1c')](_0x457e25['query'][_0x0e68('0x1c')]);_0x5d945c[_0x0e68('0x1a')]=qs[_0x0e68('0x1a')](_0x457e25[_0x0e68('0x2a')][_0x0e68('0x1a')]);}_0x5d945c[_0x0e68('0x32')]=qs[_0x0e68('0x33')](_0x457e25['query']['sort']);_0x5d945c['where']=qs[_0x0e68('0x34')](_[_0x0e68('0x35')](_0x457e25['query'],_0xff1288[_0x0e68('0x34')]),_0x5179e1);if(_0x457e25[_0x0e68('0x2a')][_0x0e68('0x36')]){_0x5d945c[_0x0e68('0x37')]=_[_0x0e68('0x38')](_0x5d945c['where'],{'$or':_[_0x0e68('0x27')](_0x5179e1,function(_0x1c96cc){if(_0x1c96cc[_0x0e68('0x39')]!=='VIRTUAL'){var _0xc705e6={};_0xc705e6[_0x1c96cc[_0x0e68('0x25')]]={'$like':'%'+_0x457e25['query'][_0x0e68('0x36')]+'%'};return _0xc705e6;}})});}_0x5d945c=_[_0x0e68('0x38')]({},_0x5d945c,_0x457e25[_0x0e68('0x3a')]);var _0x166d71={'where':_0x5d945c[_0x0e68('0x37')]};return db[_0x0e68('0x28')][_0x0e68('0x1d')](_0x166d71)['then'](function(_0x424e64){_0x437fae[_0x0e68('0x1d')]=_0x424e64;if(_0x457e25['query']['includeAll']){_0x5d945c[_0x0e68('0x3b')]=[{'all':!![]}];}return db[_0x0e68('0x28')]['findAll'](_0x5d945c);})[_0x0e68('0x22')](function(_0x59e57b){_0x437fae['rows']=_0x59e57b;return _0x437fae;})[_0x0e68('0x22')](respondWithFilteredResult(_0x359f3a,_0x5d945c))[_0x0e68('0x3c')](handleError(_0x359f3a,null));};