db0886aa8de9a258c1db7def6e20ebb42887ee42
[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 _0x4911=['../../config/logger','../../config/environment','../../config/license/util','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','reject','update','then','destroy','error','name','send','map','Migration','rawAttributes','key','model','query','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','findAll','catch','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch'];(function(_0x462c37,_0x887b46){var _0x132ea8=function(_0x47dff6){while(--_0x47dff6){_0x462c37['push'](_0x462c37['shift']());}};_0x132ea8(++_0x887b46);}(_0x4911,0xa8));var _0x1491=function(_0x23be51,_0xc02a1b){_0x23be51=_0x23be51-0x0;var _0x47a26d=_0x4911[_0x23be51];return _0x47a26d;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1491('0x0'));var zipdir=require(_0x1491('0x1'));var jsonpatch=require(_0x1491('0x2'));var rp=require(_0x1491('0x3'));var moment=require(_0x1491('0x4'));var BPromise=require(_0x1491('0x5'));var Mustache=require(_0x1491('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x1491('0x7'));var ejs=require(_0x1491('0x8'));var fs=require('fs');var fs_extra=require(_0x1491('0x9'));var _=require(_0x1491('0xa'));var squel=require(_0x1491('0xb'));var crypto=require('crypto');var jsforce=require(_0x1491('0xc'));var deskjs=require(_0x1491('0xd'));var toCsv=require(_0x1491('0x7'));var querystring=require(_0x1491('0xe'));var Papa=require(_0x1491('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x1491('0x10'));var as=require(_0x1491('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1491('0x12'))('api');var utils=require('../../config/utils');var config=require(_0x1491('0x13'));var licenseUtil=require(_0x1491('0x14'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x21ae3b,_0x549e2e){_0x549e2e=_0x549e2e||0xcc;return function(_0x3abc65){if(_0x3abc65){return _0x21ae3b[_0x1491('0x15')](_0x549e2e);}return _0x21ae3b['status'](_0x549e2e)[_0x1491('0x16')]();};}function respondWithResult(_0x4b8269,_0x45328f){_0x45328f=_0x45328f||0xc8;return function(_0x1aee66){if(_0x1aee66){return _0x4b8269[_0x1491('0x17')](_0x45328f)[_0x1491('0x18')](_0x1aee66);}};}function respondWithFilteredResult(_0x21c9db,_0x387590){return function(_0x5393d6){if(_0x5393d6){var _0x15a328=typeof _0x387590[_0x1491('0x19')]===_0x1491('0x1a')&&typeof _0x387590[_0x1491('0x1b')]==='undefined';var _0x309b1f=_0x5393d6[_0x1491('0x1c')];var _0x16e095=_0x15a328?0x0:_0x387590[_0x1491('0x19')];var _0x109979=_0x15a328?_0x5393d6['count']:_0x387590[_0x1491('0x19')]+_0x387590[_0x1491('0x1b')];var _0x4d0758;if(_0x109979>=_0x309b1f){_0x109979=_0x309b1f;_0x4d0758=0xc8;}else{_0x4d0758=0xce;}_0x21c9db[_0x1491('0x17')](_0x4d0758);return _0x21c9db[_0x1491('0x1d')]('Content-Range',_0x16e095+'-'+_0x109979+'/'+_0x309b1f)['json'](_0x5393d6);}return null;};}function patchUpdates(_0xc589db){return function(_0x18dbc4){try{jsonpatch[_0x1491('0x1e')](_0x18dbc4,_0xc589db,!![]);}catch(_0x1e28d8){return BPromise[_0x1491('0x1f')](_0x1e28d8);}return _0x18dbc4['save']();};}function saveUpdates(_0x3f01bc,_0x2d2c6d){return function(_0x2d5898){if(_0x2d5898){return _0x2d5898[_0x1491('0x20')](_0x3f01bc)[_0x1491('0x21')](function(_0xac7b5d){return _0xac7b5d;});}return null;};}function removeEntity(_0x36a0e8,_0x314bd9){return function(_0x53f815){if(_0x53f815){return _0x53f815[_0x1491('0x22')]()[_0x1491('0x21')](function(){_0x36a0e8[_0x1491('0x17')](0xcc)[_0x1491('0x16')]();});}};}function handleEntityNotFound(_0x1810e8,_0x6a8dd8){return function(_0x411eb7){if(!_0x411eb7){_0x1810e8[_0x1491('0x15')](0x194);}return _0x411eb7;};}function handleError(_0x10f8e8,_0x3ed1c8){_0x3ed1c8=_0x3ed1c8||0x1f4;return function(_0x29cab4){logger[_0x1491('0x23')](_0x29cab4['stack']);if(_0x29cab4[_0x1491('0x24')]){delete _0x29cab4[_0x1491('0x24')];}_0x10f8e8['status'](_0x3ed1c8)[_0x1491('0x25')](_0x29cab4);};}exports['index']=function(_0x540fdf,_0x13a513){var _0xa0223e={},_0x1bcc47={},_0x5decf6={'count':0x0,'rows':[]};var _0x5a0110=_[_0x1491('0x26')](db[_0x1491('0x27')][_0x1491('0x28')],function(_0x4cfbe1){return{'name':_0x4cfbe1['fieldName'],'type':_0x4cfbe1['type'][_0x1491('0x29')]};});_0x1bcc47[_0x1491('0x2a')]=_[_0x1491('0x26')](_0x5a0110,'name');_0x1bcc47[_0x1491('0x2b')]=_['keys'](_0x540fdf[_0x1491('0x2b')]);_0x1bcc47[_0x1491('0x2c')]=_['intersection'](_0x1bcc47[_0x1491('0x2a')],_0x1bcc47[_0x1491('0x2b')]);_0xa0223e['attributes']=_[_0x1491('0x2d')](_0x1bcc47[_0x1491('0x2a')],qs[_0x1491('0x2e')](_0x540fdf[_0x1491('0x2b')][_0x1491('0x2e')]));_0xa0223e[_0x1491('0x2f')]=_0xa0223e[_0x1491('0x2f')]['length']?_0xa0223e[_0x1491('0x2f')]:_0x1bcc47['model'];if(!_0x540fdf[_0x1491('0x2b')][_0x1491('0x30')](_0x1491('0x31'))){_0xa0223e[_0x1491('0x1b')]=qs[_0x1491('0x1b')](_0x540fdf['query'][_0x1491('0x1b')]);_0xa0223e[_0x1491('0x19')]=qs[_0x1491('0x19')](_0x540fdf['query'][_0x1491('0x19')]);}_0xa0223e[_0x1491('0x32')]=qs[_0x1491('0x33')](_0x540fdf[_0x1491('0x2b')][_0x1491('0x33')]);_0xa0223e[_0x1491('0x34')]=qs[_0x1491('0x2c')](_[_0x1491('0x35')](_0x540fdf[_0x1491('0x2b')],_0x1bcc47['filters']),_0x5a0110);if(_0x540fdf['query'][_0x1491('0x36')]){_0xa0223e[_0x1491('0x34')]=_[_0x1491('0x37')](_0xa0223e[_0x1491('0x34')],{'$or':_[_0x1491('0x26')](_0x5a0110,function(_0x574b52){if(_0x574b52[_0x1491('0x38')]!==_0x1491('0x39')){var _0x22bdb8={};_0x22bdb8[_0x574b52[_0x1491('0x24')]]={'$like':'%'+_0x540fdf[_0x1491('0x2b')][_0x1491('0x36')]+'%'};return _0x22bdb8;}})});}_0xa0223e=_[_0x1491('0x37')]({},_0xa0223e,_0x540fdf[_0x1491('0x3a')]);var _0x102ea2={'where':_0xa0223e[_0x1491('0x34')]};return db[_0x1491('0x27')][_0x1491('0x1c')](_0x102ea2)['then'](function(_0x4733e9){_0x5decf6[_0x1491('0x1c')]=_0x4733e9;if(_0x540fdf['query'][_0x1491('0x3b')]){_0xa0223e['include']=[{'all':!![]}];}return db[_0x1491('0x27')][_0x1491('0x3c')](_0xa0223e);})[_0x1491('0x21')](function(_0x2cde31){_0x5decf6['rows']=_0x2cde31;return _0x5decf6;})['then'](respondWithFilteredResult(_0x13a513,_0xa0223e))[_0x1491('0x3d')](handleError(_0x13a513,null));};