Built motion from commit (unavailable).|2.5.30
[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 _0xaea2=['undefined','offset','count','Content-Range','apply','reject','then','destroy','error','stack','name','send','index','map','Migration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','rows','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','sendStatus','status','end','json','limit'];(function(_0x2e0044,_0x22cf07){var _0x2fd2fd=function(_0x2031ba){while(--_0x2031ba){_0x2e0044['push'](_0x2e0044['shift']());}};_0x2fd2fd(++_0x22cf07);}(_0xaea2,0x12c));var _0x2aea=function(_0x4cdf87,_0x200caf){_0x4cdf87=_0x4cdf87-0x0;var _0x14d49d=_0xaea2[_0x4cdf87];return _0x14d49d;};'use strict';var emlformat=require(_0x2aea('0x0'));var rimraf=require(_0x2aea('0x1'));var zipdir=require(_0x2aea('0x2'));var jsonpatch=require(_0x2aea('0x3'));var rp=require(_0x2aea('0x4'));var moment=require(_0x2aea('0x5'));var BPromise=require(_0x2aea('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x2aea('0x7'));var ejs=require(_0x2aea('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x2aea('0x9'));var squel=require(_0x2aea('0xa'));var crypto=require(_0x2aea('0xb'));var jsforce=require(_0x2aea('0xc'));var deskjs=require(_0x2aea('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x2aea('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x2aea('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2aea('0x10'));var logger=require('../../config/logger')(_0x2aea('0x11'));var utils=require('../../config/utils');var config=require(_0x2aea('0x12'));var licenseUtil=require(_0x2aea('0x13'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3003b4,_0x502e9c){_0x502e9c=_0x502e9c||0xcc;return function(_0x430a88){if(_0x430a88){return _0x3003b4[_0x2aea('0x14')](_0x502e9c);}return _0x3003b4[_0x2aea('0x15')](_0x502e9c)[_0x2aea('0x16')]();};}function respondWithResult(_0x412cc9,_0x335d1c){_0x335d1c=_0x335d1c||0xc8;return function(_0x47ea31){if(_0x47ea31){return _0x412cc9[_0x2aea('0x15')](_0x335d1c)[_0x2aea('0x17')](_0x47ea31);}};}function respondWithFilteredResult(_0x39ce63,_0x5d8b10){return function(_0x563297){if(_0x563297){var _0x581cce=typeof _0x5d8b10['offset']==='undefined'&&typeof _0x5d8b10[_0x2aea('0x18')]===_0x2aea('0x19');var _0x248362=_0x563297['count'];var _0x4c9fd0=_0x581cce?0x0:_0x5d8b10[_0x2aea('0x1a')];var _0x465bab=_0x581cce?_0x563297[_0x2aea('0x1b')]:_0x5d8b10[_0x2aea('0x1a')]+_0x5d8b10[_0x2aea('0x18')];var _0x4a2144;if(_0x465bab>=_0x248362){_0x465bab=_0x248362;_0x4a2144=0xc8;}else{_0x4a2144=0xce;}_0x39ce63[_0x2aea('0x15')](_0x4a2144);return _0x39ce63['set'](_0x2aea('0x1c'),_0x4c9fd0+'-'+_0x465bab+'/'+_0x248362)[_0x2aea('0x17')](_0x563297);}return null;};}function patchUpdates(_0x55947a){return function(_0x5f9a63){try{jsonpatch[_0x2aea('0x1d')](_0x5f9a63,_0x55947a,!![]);}catch(_0x1bdcb0){return BPromise[_0x2aea('0x1e')](_0x1bdcb0);}return _0x5f9a63['save']();};}function saveUpdates(_0x32c286,_0x5cecbf){return function(_0x4ea5c4){if(_0x4ea5c4){return _0x4ea5c4['update'](_0x32c286)[_0x2aea('0x1f')](function(_0x5e377c){return _0x5e377c;});}return null;};}function removeEntity(_0x3f87c1,_0x31d73a){return function(_0x42f44d){if(_0x42f44d){return _0x42f44d[_0x2aea('0x20')]()[_0x2aea('0x1f')](function(){_0x3f87c1['status'](0xcc)[_0x2aea('0x16')]();});}};}function handleEntityNotFound(_0x4837ba,_0x5022d7){return function(_0x16c542){if(!_0x16c542){_0x4837ba[_0x2aea('0x14')](0x194);}return _0x16c542;};}function handleError(_0x9c9206,_0x15eb3f){_0x15eb3f=_0x15eb3f||0x1f4;return function(_0x64081e){logger[_0x2aea('0x21')](_0x64081e[_0x2aea('0x22')]);if(_0x64081e['name']){delete _0x64081e[_0x2aea('0x23')];}_0x9c9206[_0x2aea('0x15')](_0x15eb3f)[_0x2aea('0x24')](_0x64081e);};}exports[_0x2aea('0x25')]=function(_0x463877,_0x3da88e){var _0x523933={},_0x3a5175={},_0x20d1e8={'count':0x0,'rows':[]};var _0x1bea72=_[_0x2aea('0x26')](db[_0x2aea('0x27')][_0x2aea('0x28')],function(_0x1b26e1){return{'name':_0x1b26e1[_0x2aea('0x29')],'type':_0x1b26e1[_0x2aea('0x2a')][_0x2aea('0x2b')]};});_0x3a5175[_0x2aea('0x2c')]=_[_0x2aea('0x26')](_0x1bea72,_0x2aea('0x23'));_0x3a5175[_0x2aea('0x2d')]=_[_0x2aea('0x2e')](_0x463877[_0x2aea('0x2d')]);_0x3a5175[_0x2aea('0x2f')]=_[_0x2aea('0x30')](_0x3a5175[_0x2aea('0x2c')],_0x3a5175['query']);_0x523933[_0x2aea('0x31')]=_['intersection'](_0x3a5175[_0x2aea('0x2c')],qs[_0x2aea('0x32')](_0x463877[_0x2aea('0x2d')][_0x2aea('0x32')]));_0x523933[_0x2aea('0x31')]=_0x523933[_0x2aea('0x31')][_0x2aea('0x33')]?_0x523933[_0x2aea('0x31')]:_0x3a5175[_0x2aea('0x2c')];if(!_0x463877['query'][_0x2aea('0x34')](_0x2aea('0x35'))){_0x523933[_0x2aea('0x18')]=qs['limit'](_0x463877[_0x2aea('0x2d')][_0x2aea('0x18')]);_0x523933[_0x2aea('0x1a')]=qs['offset'](_0x463877[_0x2aea('0x2d')][_0x2aea('0x1a')]);}_0x523933[_0x2aea('0x36')]=qs[_0x2aea('0x37')](_0x463877['query'][_0x2aea('0x37')]);_0x523933[_0x2aea('0x38')]=qs[_0x2aea('0x2f')](_[_0x2aea('0x39')](_0x463877[_0x2aea('0x2d')],_0x3a5175['filters']),_0x1bea72);if(_0x463877[_0x2aea('0x2d')]['filter']){_0x523933['where']=_[_0x2aea('0x3a')](_0x523933[_0x2aea('0x38')],{'$or':_[_0x2aea('0x26')](_0x1bea72,function(_0x2a8434){if(_0x2a8434[_0x2aea('0x2a')]!==_0x2aea('0x3b')){var _0x27d36a={};_0x27d36a[_0x2a8434[_0x2aea('0x23')]]={'$like':'%'+_0x463877[_0x2aea('0x2d')][_0x2aea('0x3c')]+'%'};return _0x27d36a;}})});}_0x523933=_[_0x2aea('0x3a')]({},_0x523933,_0x463877[_0x2aea('0x3d')]);var _0x220f30={'where':_0x523933[_0x2aea('0x38')]};return db[_0x2aea('0x27')][_0x2aea('0x1b')](_0x220f30)[_0x2aea('0x1f')](function(_0x39094e){_0x20d1e8[_0x2aea('0x1b')]=_0x39094e;if(_0x463877['query']['includeAll']){_0x523933[_0x2aea('0x3e')]=[{'all':!![]}];}return db[_0x2aea('0x27')]['findAll'](_0x523933);})['then'](function(_0x513a5b){_0x20d1e8[_0x2aea('0x3f')]=_0x513a5b;return _0x20d1e8;})['then'](respondWithFilteredResult(_0x3da88e,_0x523933))[_0x2aea('0x40')](handleError(_0x3da88e,null));};