Built motion from commit da617fac.|2.6.6
[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 _0xd91d=['include','findAll','eml-format','zip-dir','fast-json-patch','mustache','util','sox','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','map','rawAttributes','type','key','model','query','filters','intersection','fields','attributes','length','nolimit','order','sort','pick','filter','merge','VIRTUAL','where','Migration','includeAll'];(function(_0x1fa350,_0x2fe140){var _0xf11e76=function(_0x228141){while(--_0x228141){_0x1fa350['push'](_0x1fa350['shift']());}};_0xf11e76(++_0x2fe140);}(_0xd91d,0x188));var _0xdd91=function(_0x1357f5,_0x5b5562){_0x1357f5=_0x1357f5-0x0;var _0x32cf74=_0xd91d[_0x1357f5];return _0x32cf74;};'use strict';var emlformat=require(_0xdd91('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xdd91('0x1'));var jsonpatch=require(_0xdd91('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xdd91('0x3'));var util=require(_0xdd91('0x4'));var path=require('path');var sox=require(_0xdd91('0x5'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdd91('0x6'));var _=require(_0xdd91('0x7'));var squel=require(_0xdd91('0x8'));var crypto=require(_0xdd91('0x9'));var jsforce=require(_0xdd91('0xa'));var deskjs=require(_0xdd91('0xb'));var toCsv=require(_0xdd91('0xc'));var querystring=require(_0xdd91('0xd'));var Papa=require(_0xdd91('0xe'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xdd91('0xf'));var as=require(_0xdd91('0x10'));var hardwareService=require(_0xdd91('0x11'));var logger=require(_0xdd91('0x12'))(_0xdd91('0x13'));var utils=require(_0xdd91('0x14'));var config=require(_0xdd91('0x15'));var licenseUtil=require(_0xdd91('0x16'));var db=require(_0xdd91('0x17'))['db'];function respondWithStatusCode(_0x494ffb,_0x170b3b){_0x170b3b=_0x170b3b||0xcc;return function(_0x2d0db8){if(_0x2d0db8){return _0x494ffb['sendStatus'](_0x170b3b);}return _0x494ffb[_0xdd91('0x18')](_0x170b3b)[_0xdd91('0x19')]();};}function respondWithResult(_0x604290,_0x318962){_0x318962=_0x318962||0xc8;return function(_0xe49a02){if(_0xe49a02){return _0x604290[_0xdd91('0x18')](_0x318962)['json'](_0xe49a02);}};}function respondWithFilteredResult(_0x2dacfb,_0x32062f){return function(_0x40fe4c){if(_0x40fe4c){var _0x28bb96=typeof _0x32062f['offset']===_0xdd91('0x1a')&&typeof _0x32062f[_0xdd91('0x1b')]===_0xdd91('0x1a');var _0x13abcb=_0x40fe4c[_0xdd91('0x1c')];var _0x35dc2e=_0x28bb96?0x0:_0x32062f[_0xdd91('0x1d')];var _0x65acea=_0x28bb96?_0x40fe4c[_0xdd91('0x1c')]:_0x32062f[_0xdd91('0x1d')]+_0x32062f[_0xdd91('0x1b')];var _0x25e5b1;if(_0x65acea>=_0x13abcb){_0x65acea=_0x13abcb;_0x25e5b1=0xc8;}else{_0x25e5b1=0xce;}_0x2dacfb[_0xdd91('0x18')](_0x25e5b1);return _0x2dacfb[_0xdd91('0x1e')](_0xdd91('0x1f'),_0x35dc2e+'-'+_0x65acea+'/'+_0x13abcb)['json'](_0x40fe4c);}return null;};}function patchUpdates(_0x240e25){return function(_0x843f73){try{jsonpatch[_0xdd91('0x20')](_0x843f73,_0x240e25,!![]);}catch(_0x1e15dd){return BPromise[_0xdd91('0x21')](_0x1e15dd);}return _0x843f73['save']();};}function saveUpdates(_0x428ae5,_0x409ded){return function(_0x1981a3){if(_0x1981a3){return _0x1981a3[_0xdd91('0x22')](_0x428ae5)[_0xdd91('0x23')](function(_0x480a16){return _0x480a16;});}return null;};}function removeEntity(_0x17d35d,_0x4ed311){return function(_0x3eecb1){if(_0x3eecb1){return _0x3eecb1[_0xdd91('0x24')]()['then'](function(){_0x17d35d[_0xdd91('0x18')](0xcc)[_0xdd91('0x19')]();});}};}function handleEntityNotFound(_0x4800e1,_0xe14558){return function(_0x4b53f3){if(!_0x4b53f3){_0x4800e1[_0xdd91('0x25')](0x194);}return _0x4b53f3;};}function handleError(_0x456102,_0x2cf9ca){_0x2cf9ca=_0x2cf9ca||0x1f4;return function(_0x622209){logger[_0xdd91('0x26')](_0x622209[_0xdd91('0x27')]);if(_0x622209[_0xdd91('0x28')]){delete _0x622209[_0xdd91('0x28')];}_0x456102[_0xdd91('0x18')](_0x2cf9ca)[_0xdd91('0x29')](_0x622209);};}exports['index']=function(_0x5b5bad,_0x7901c){var _0x1d878d={},_0x47ad92={},_0x1eddc2={'count':0x0,'rows':[]};var _0x1d1935=_[_0xdd91('0x2a')](db['Migration'][_0xdd91('0x2b')],function(_0x5c901){return{'name':_0x5c901['fieldName'],'type':_0x5c901[_0xdd91('0x2c')][_0xdd91('0x2d')]};});_0x47ad92[_0xdd91('0x2e')]=_[_0xdd91('0x2a')](_0x1d1935,_0xdd91('0x28'));_0x47ad92[_0xdd91('0x2f')]=_['keys'](_0x5b5bad['query']);_0x47ad92[_0xdd91('0x30')]=_[_0xdd91('0x31')](_0x47ad92['model'],_0x47ad92[_0xdd91('0x2f')]);_0x1d878d['attributes']=_['intersection'](_0x47ad92[_0xdd91('0x2e')],qs['fields'](_0x5b5bad[_0xdd91('0x2f')][_0xdd91('0x32')]));_0x1d878d[_0xdd91('0x33')]=_0x1d878d[_0xdd91('0x33')][_0xdd91('0x34')]?_0x1d878d[_0xdd91('0x33')]:_0x47ad92[_0xdd91('0x2e')];if(!_0x5b5bad[_0xdd91('0x2f')]['hasOwnProperty'](_0xdd91('0x35'))){_0x1d878d[_0xdd91('0x1b')]=qs[_0xdd91('0x1b')](_0x5b5bad['query']['limit']);_0x1d878d[_0xdd91('0x1d')]=qs[_0xdd91('0x1d')](_0x5b5bad['query']['offset']);}_0x1d878d[_0xdd91('0x36')]=qs[_0xdd91('0x37')](_0x5b5bad[_0xdd91('0x2f')][_0xdd91('0x37')]);_0x1d878d['where']=qs[_0xdd91('0x30')](_[_0xdd91('0x38')](_0x5b5bad['query'],_0x47ad92['filters']),_0x1d1935);if(_0x5b5bad[_0xdd91('0x2f')][_0xdd91('0x39')]){_0x1d878d['where']=_[_0xdd91('0x3a')](_0x1d878d['where'],{'$or':_[_0xdd91('0x2a')](_0x1d1935,function(_0x8d9a17){if(_0x8d9a17[_0xdd91('0x2c')]!==_0xdd91('0x3b')){var _0x56f777={};_0x56f777[_0x8d9a17['name']]={'$like':'%'+_0x5b5bad[_0xdd91('0x2f')][_0xdd91('0x39')]+'%'};return _0x56f777;}})});}_0x1d878d=_['merge']({},_0x1d878d,_0x5b5bad['options']);var _0xc23b66={'where':_0x1d878d[_0xdd91('0x3c')]};return db[_0xdd91('0x3d')]['count'](_0xc23b66)[_0xdd91('0x23')](function(_0x2dc00c){_0x1eddc2[_0xdd91('0x1c')]=_0x2dc00c;if(_0x5b5bad[_0xdd91('0x2f')][_0xdd91('0x3e')]){_0x1d878d[_0xdd91('0x3f')]=[{'all':!![]}];}return db[_0xdd91('0x3d')][_0xdd91('0x40')](_0x1d878d);})[_0xdd91('0x23')](function(_0xf2eafd){_0x1eddc2['rows']=_0xf2eafd;return _0x1eddc2;})[_0xdd91('0x23')](respondWithFilteredResult(_0x7901c,_0x1d878d))['catch'](handleError(_0x7901c,null));};