Built motion from commit 9d1906d1.|2.5.40
[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 _0x51de=['merge','type','options','Migration','includeAll','include','catch','eml-format','rimraf','zip-dir','request-promise','mustache','util','path','sox','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','json','offset','undefined','limit','count','set','reject','save','update','destroy','then','end','error','stack','name','status','send','index','map','rawAttributes','key','query','keys','model','attributes','intersection','fields','nolimit','order','sort','where','pick','filters','filter'];(function(_0x68cdc4,_0x43a79b){var _0x3b8d32=function(_0x5092ff){while(--_0x5092ff){_0x68cdc4['push'](_0x68cdc4['shift']());}};_0x3b8d32(++_0x43a79b);}(_0x51de,0x8b));var _0xe51d=function(_0x4dc12e,_0x203a26){_0x4dc12e=_0x4dc12e-0x0;var _0x542ac7=_0x51de[_0x4dc12e];return _0x542ac7;};'use strict';var emlformat=require(_0xe51d('0x0'));var rimraf=require(_0xe51d('0x1'));var zipdir=require(_0xe51d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe51d('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xe51d('0x4'));var util=require(_0xe51d('0x5'));var path=require(_0xe51d('0x6'));var sox=require(_0xe51d('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe51d('0x8'));var squel=require(_0xe51d('0x9'));var crypto=require('crypto');var jsforce=require(_0xe51d('0xa'));var deskjs=require(_0xe51d('0xb'));var toCsv=require(_0xe51d('0xc'));var querystring=require(_0xe51d('0xd'));var Papa=require(_0xe51d('0xe'));var Redis=require(_0xe51d('0xf'));var authService=require(_0xe51d('0x10'));var qs=require(_0xe51d('0x11'));var as=require(_0xe51d('0x12'));var hardwareService=require(_0xe51d('0x13'));var logger=require('../../config/logger')(_0xe51d('0x14'));var utils=require(_0xe51d('0x15'));var config=require(_0xe51d('0x16'));var licenseUtil=require(_0xe51d('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x28023e,_0x4ab96d){_0x4ab96d=_0x4ab96d||0xcc;return function(_0x426c00){if(_0x426c00){return _0x28023e[_0xe51d('0x18')](_0x4ab96d);}return _0x28023e['status'](_0x4ab96d)['end']();};}function respondWithResult(_0x1435b6,_0x44673c){_0x44673c=_0x44673c||0xc8;return function(_0x5cceef){if(_0x5cceef){return _0x1435b6['status'](_0x44673c)[_0xe51d('0x19')](_0x5cceef);}};}function respondWithFilteredResult(_0x158634,_0x18975d){return function(_0x2b1124){if(_0x2b1124){var _0x8e6382=typeof _0x18975d[_0xe51d('0x1a')]===_0xe51d('0x1b')&&typeof _0x18975d[_0xe51d('0x1c')]===_0xe51d('0x1b');var _0x238809=_0x2b1124['count'];var _0x522223=_0x8e6382?0x0:_0x18975d[_0xe51d('0x1a')];var _0x5b70cd=_0x8e6382?_0x2b1124[_0xe51d('0x1d')]:_0x18975d['offset']+_0x18975d['limit'];var _0x5ecdce;if(_0x5b70cd>=_0x238809){_0x5b70cd=_0x238809;_0x5ecdce=0xc8;}else{_0x5ecdce=0xce;}_0x158634['status'](_0x5ecdce);return _0x158634[_0xe51d('0x1e')]('Content-Range',_0x522223+'-'+_0x5b70cd+'/'+_0x238809)[_0xe51d('0x19')](_0x2b1124);}return null;};}function patchUpdates(_0x3c8afe){return function(_0x336dc6){try{jsonpatch['apply'](_0x336dc6,_0x3c8afe,!![]);}catch(_0xdfcab0){return BPromise[_0xe51d('0x1f')](_0xdfcab0);}return _0x336dc6[_0xe51d('0x20')]();};}function saveUpdates(_0x28748c,_0x38ae9f){return function(_0x4a32f1){if(_0x4a32f1){return _0x4a32f1[_0xe51d('0x21')](_0x28748c)['then'](function(_0x5b60cb){return _0x5b60cb;});}return null;};}function removeEntity(_0x5a7e76,_0x3b89fe){return function(_0x4b9733){if(_0x4b9733){return _0x4b9733[_0xe51d('0x22')]()[_0xe51d('0x23')](function(){_0x5a7e76['status'](0xcc)[_0xe51d('0x24')]();});}};}function handleEntityNotFound(_0x46b50e,_0x2b27dd){return function(_0x3e83ad){if(!_0x3e83ad){_0x46b50e[_0xe51d('0x18')](0x194);}return _0x3e83ad;};}function handleError(_0x33d160,_0x5e78b0){_0x5e78b0=_0x5e78b0||0x1f4;return function(_0x4d2fce){logger[_0xe51d('0x25')](_0x4d2fce[_0xe51d('0x26')]);if(_0x4d2fce['name']){delete _0x4d2fce[_0xe51d('0x27')];}_0x33d160[_0xe51d('0x28')](_0x5e78b0)[_0xe51d('0x29')](_0x4d2fce);};}exports[_0xe51d('0x2a')]=function(_0x483dde,_0xc0cb59){var _0x500060={},_0x2ac463={},_0x424fc9={'count':0x0,'rows':[]};var _0x1d517e=_[_0xe51d('0x2b')](db['Migration'][_0xe51d('0x2c')],function(_0x16942f){return{'name':_0x16942f['fieldName'],'type':_0x16942f['type'][_0xe51d('0x2d')]};});_0x2ac463['model']=_[_0xe51d('0x2b')](_0x1d517e,_0xe51d('0x27'));_0x2ac463[_0xe51d('0x2e')]=_[_0xe51d('0x2f')](_0x483dde['query']);_0x2ac463['filters']=_['intersection'](_0x2ac463[_0xe51d('0x30')],_0x2ac463[_0xe51d('0x2e')]);_0x500060[_0xe51d('0x31')]=_[_0xe51d('0x32')](_0x2ac463[_0xe51d('0x30')],qs['fields'](_0x483dde[_0xe51d('0x2e')][_0xe51d('0x33')]));_0x500060[_0xe51d('0x31')]=_0x500060[_0xe51d('0x31')]['length']?_0x500060[_0xe51d('0x31')]:_0x2ac463['model'];if(!_0x483dde[_0xe51d('0x2e')]['hasOwnProperty'](_0xe51d('0x34'))){_0x500060[_0xe51d('0x1c')]=qs[_0xe51d('0x1c')](_0x483dde[_0xe51d('0x2e')][_0xe51d('0x1c')]);_0x500060['offset']=qs['offset'](_0x483dde[_0xe51d('0x2e')]['offset']);}_0x500060[_0xe51d('0x35')]=qs[_0xe51d('0x36')](_0x483dde[_0xe51d('0x2e')][_0xe51d('0x36')]);_0x500060[_0xe51d('0x37')]=qs['filters'](_[_0xe51d('0x38')](_0x483dde[_0xe51d('0x2e')],_0x2ac463[_0xe51d('0x39')]),_0x1d517e);if(_0x483dde[_0xe51d('0x2e')][_0xe51d('0x3a')]){_0x500060[_0xe51d('0x37')]=_[_0xe51d('0x3b')](_0x500060[_0xe51d('0x37')],{'$or':_['map'](_0x1d517e,function(_0x689dba){if(_0x689dba[_0xe51d('0x3c')]!=='VIRTUAL'){var _0x5ad641={};_0x5ad641[_0x689dba[_0xe51d('0x27')]]={'$like':'%'+_0x483dde[_0xe51d('0x2e')][_0xe51d('0x3a')]+'%'};return _0x5ad641;}})});}_0x500060=_[_0xe51d('0x3b')]({},_0x500060,_0x483dde[_0xe51d('0x3d')]);var _0x2efd94={'where':_0x500060['where']};return db[_0xe51d('0x3e')][_0xe51d('0x1d')](_0x2efd94)[_0xe51d('0x23')](function(_0x51f758){_0x424fc9[_0xe51d('0x1d')]=_0x51f758;if(_0x483dde['query'][_0xe51d('0x3f')]){_0x500060[_0xe51d('0x40')]=[{'all':!![]}];}return db[_0xe51d('0x3e')]['findAll'](_0x500060);})['then'](function(_0xb7d345){_0x424fc9['rows']=_0xb7d345;return _0x424fc9;})[_0xe51d('0x23')](respondWithFilteredResult(_0xc0cb59,_0x500060))[_0xe51d('0x41')](handleError(_0xc0cb59,null));};