Built motion from commit e6806ed6.|2.6.0
[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 _0xe51f=['json','offset','undefined','limit','count','set','Content-Range','apply','save','update','then','destroy','error','stack','name','send','map','rawAttributes','fieldName','key','model','query','keys','filters','attributes','fields','hasOwnProperty','order','sort','where','pick','merge','filter','options','Migration','includeAll','include','rows','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','sendStatus','end','status'];(function(_0x2b6c91,_0x34c301){var _0x5a7c40=function(_0x58c185){while(--_0x58c185){_0x2b6c91['push'](_0x2b6c91['shift']());}};_0x5a7c40(++_0x34c301);}(_0xe51f,0x19b));var _0xfe51=function(_0x283eca,_0x38ca7c){_0x283eca=_0x283eca-0x0;var _0xd1d410=_0xe51f[_0x283eca];return _0xd1d410;};'use strict';var emlformat=require(_0xfe51('0x0'));var rimraf=require(_0xfe51('0x1'));var zipdir=require(_0xfe51('0x2'));var jsonpatch=require(_0xfe51('0x3'));var rp=require(_0xfe51('0x4'));var moment=require(_0xfe51('0x5'));var BPromise=require(_0xfe51('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xfe51('0x7'));var sox=require(_0xfe51('0x8'));var csv=require(_0xfe51('0x9'));var ejs=require(_0xfe51('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xfe51('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xfe51('0xc'));var toCsv=require(_0xfe51('0x9'));var querystring=require(_0xfe51('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xfe51('0xe'));var qs=require(_0xfe51('0xf'));var as=require(_0xfe51('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfe51('0x11'))(_0xfe51('0x12'));var utils=require('../../config/utils');var config=require(_0xfe51('0x13'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3a08c6,_0x52ae0b){_0x52ae0b=_0x52ae0b||0xcc;return function(_0x1cb9f4){if(_0x1cb9f4){return _0x3a08c6[_0xfe51('0x14')](_0x52ae0b);}return _0x3a08c6['status'](_0x52ae0b)[_0xfe51('0x15')]();};}function respondWithResult(_0x1afe19,_0x2b14ac){_0x2b14ac=_0x2b14ac||0xc8;return function(_0x7c7487){if(_0x7c7487){return _0x1afe19[_0xfe51('0x16')](_0x2b14ac)[_0xfe51('0x17')](_0x7c7487);}};}function respondWithFilteredResult(_0x4c0b8d,_0x47a899){return function(_0xef1921){if(_0xef1921){var _0x25a631=typeof _0x47a899[_0xfe51('0x18')]===_0xfe51('0x19')&&typeof _0x47a899[_0xfe51('0x1a')]==='undefined';var _0x2839e5=_0xef1921['count'];var _0x4dd6cb=_0x25a631?0x0:_0x47a899[_0xfe51('0x18')];var _0xd88759=_0x25a631?_0xef1921[_0xfe51('0x1b')]:_0x47a899[_0xfe51('0x18')]+_0x47a899[_0xfe51('0x1a')];var _0x2012da;if(_0xd88759>=_0x2839e5){_0xd88759=_0x2839e5;_0x2012da=0xc8;}else{_0x2012da=0xce;}_0x4c0b8d[_0xfe51('0x16')](_0x2012da);return _0x4c0b8d[_0xfe51('0x1c')](_0xfe51('0x1d'),_0x4dd6cb+'-'+_0xd88759+'/'+_0x2839e5)[_0xfe51('0x17')](_0xef1921);}return null;};}function patchUpdates(_0x5207c8){return function(_0x246314){try{jsonpatch[_0xfe51('0x1e')](_0x246314,_0x5207c8,!![]);}catch(_0x41c9b0){return BPromise['reject'](_0x41c9b0);}return _0x246314[_0xfe51('0x1f')]();};}function saveUpdates(_0x49c67,_0x1d9c32){return function(_0x3f426e){if(_0x3f426e){return _0x3f426e[_0xfe51('0x20')](_0x49c67)[_0xfe51('0x21')](function(_0x2c05d6){return _0x2c05d6;});}return null;};}function removeEntity(_0xf24aa1,_0x4b7716){return function(_0x4f7d2e){if(_0x4f7d2e){return _0x4f7d2e[_0xfe51('0x22')]()[_0xfe51('0x21')](function(){_0xf24aa1[_0xfe51('0x16')](0xcc)[_0xfe51('0x15')]();});}};}function handleEntityNotFound(_0x459d5e,_0x299b5a){return function(_0x2ca695){if(!_0x2ca695){_0x459d5e[_0xfe51('0x14')](0x194);}return _0x2ca695;};}function handleError(_0xfd4cb6,_0x57fecd){_0x57fecd=_0x57fecd||0x1f4;return function(_0x363565){logger[_0xfe51('0x23')](_0x363565[_0xfe51('0x24')]);if(_0x363565[_0xfe51('0x25')]){delete _0x363565[_0xfe51('0x25')];}_0xfd4cb6[_0xfe51('0x16')](_0x57fecd)[_0xfe51('0x26')](_0x363565);};}exports['index']=function(_0x49bfa4,_0xa715bd){var _0x4817cc={},_0x317930={},_0x469a9d={'count':0x0,'rows':[]};var _0x299b03=_[_0xfe51('0x27')](db['Migration'][_0xfe51('0x28')],function(_0x1007ab){return{'name':_0x1007ab[_0xfe51('0x29')],'type':_0x1007ab['type'][_0xfe51('0x2a')]};});_0x317930[_0xfe51('0x2b')]=_[_0xfe51('0x27')](_0x299b03,_0xfe51('0x25'));_0x317930[_0xfe51('0x2c')]=_[_0xfe51('0x2d')](_0x49bfa4[_0xfe51('0x2c')]);_0x317930[_0xfe51('0x2e')]=_['intersection'](_0x317930[_0xfe51('0x2b')],_0x317930['query']);_0x4817cc[_0xfe51('0x2f')]=_['intersection'](_0x317930[_0xfe51('0x2b')],qs['fields'](_0x49bfa4[_0xfe51('0x2c')][_0xfe51('0x30')]));_0x4817cc[_0xfe51('0x2f')]=_0x4817cc[_0xfe51('0x2f')]['length']?_0x4817cc['attributes']:_0x317930[_0xfe51('0x2b')];if(!_0x49bfa4[_0xfe51('0x2c')][_0xfe51('0x31')]('nolimit')){_0x4817cc[_0xfe51('0x1a')]=qs[_0xfe51('0x1a')](_0x49bfa4[_0xfe51('0x2c')][_0xfe51('0x1a')]);_0x4817cc[_0xfe51('0x18')]=qs['offset'](_0x49bfa4['query'][_0xfe51('0x18')]);}_0x4817cc[_0xfe51('0x32')]=qs[_0xfe51('0x33')](_0x49bfa4['query'][_0xfe51('0x33')]);_0x4817cc[_0xfe51('0x34')]=qs[_0xfe51('0x2e')](_[_0xfe51('0x35')](_0x49bfa4[_0xfe51('0x2c')],_0x317930[_0xfe51('0x2e')]),_0x299b03);if(_0x49bfa4['query']['filter']){_0x4817cc[_0xfe51('0x34')]=_[_0xfe51('0x36')](_0x4817cc['where'],{'$or':_[_0xfe51('0x27')](_0x299b03,function(_0x4db52f){if(_0x4db52f['type']!=='VIRTUAL'){var _0x1c5eda={};_0x1c5eda[_0x4db52f['name']]={'$like':'%'+_0x49bfa4[_0xfe51('0x2c')][_0xfe51('0x37')]+'%'};return _0x1c5eda;}})});}_0x4817cc=_[_0xfe51('0x36')]({},_0x4817cc,_0x49bfa4[_0xfe51('0x38')]);var _0x37c93c={'where':_0x4817cc[_0xfe51('0x34')]};return db[_0xfe51('0x39')][_0xfe51('0x1b')](_0x37c93c)['then'](function(_0x37f143){_0x469a9d[_0xfe51('0x1b')]=_0x37f143;if(_0x49bfa4[_0xfe51('0x2c')][_0xfe51('0x3a')]){_0x4817cc[_0xfe51('0x3b')]=[{'all':!![]}];}return db[_0xfe51('0x39')]['findAll'](_0x4817cc);})[_0xfe51('0x21')](function(_0x2487e8){_0x469a9d[_0xfe51('0x3c')]=_0x2487e8;return _0x469a9d;})[_0xfe51('0x21')](respondWithFilteredResult(_0xa715bd,_0x4817cc))[_0xfe51('0x3d')](handleError(_0xa715bd,null));};