8e8d5e777c4ea5e1d3b18e9c7e9a2442105eece1
[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 _0x4b5c=['api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','limit','undefined','count','offset','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','send','index','map','Migration','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','nolimit','order','sort','where','pick','VIRTUAL','filter','options','includeAll','include','findAll','rows','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x352706,_0x5adc45){var _0x1c589e=function(_0xc1ec1f){while(--_0xc1ec1f){_0x352706['push'](_0x352706['shift']());}};_0x1c589e(++_0x5adc45);}(_0x4b5c,0xb8));var _0xc4b5=function(_0x5581f8,_0x1ef55a){_0x5581f8=_0x5581f8-0x0;var _0x5ed99f=_0x4b5c[_0x5581f8];return _0x5ed99f;};'use strict';var emlformat=require(_0xc4b5('0x0'));var rimraf=require(_0xc4b5('0x1'));var zipdir=require(_0xc4b5('0x2'));var jsonpatch=require(_0xc4b5('0x3'));var rp=require(_0xc4b5('0x4'));var moment=require(_0xc4b5('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xc4b5('0x6'));var util=require(_0xc4b5('0x7'));var path=require(_0xc4b5('0x8'));var sox=require('sox');var csv=require(_0xc4b5('0x9'));var ejs=require(_0xc4b5('0xa'));var fs=require('fs');var fs_extra=require(_0xc4b5('0xb'));var _=require(_0xc4b5('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xc4b5('0xd'));var deskjs=require(_0xc4b5('0xe'));var toCsv=require(_0xc4b5('0x9'));var querystring=require(_0xc4b5('0xf'));var Papa=require(_0xc4b5('0x10'));var Redis=require('ioredis');var authService=require(_0xc4b5('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xc4b5('0x12'));var hardwareService=require(_0xc4b5('0x13'));var logger=require('../../config/logger')(_0xc4b5('0x14'));var utils=require('../../config/utils');var config=require(_0xc4b5('0x15'));var licenseUtil=require(_0xc4b5('0x16'));var db=require(_0xc4b5('0x17'))['db'];function respondWithStatusCode(_0x37227e,_0xbf4de0){_0xbf4de0=_0xbf4de0||0xcc;return function(_0xb55076){if(_0xb55076){return _0x37227e['sendStatus'](_0xbf4de0);}return _0x37227e[_0xc4b5('0x18')](_0xbf4de0)[_0xc4b5('0x19')]();};}function respondWithResult(_0x73487f,_0x14babc){_0x14babc=_0x14babc||0xc8;return function(_0x85dc37){if(_0x85dc37){return _0x73487f[_0xc4b5('0x18')](_0x14babc)[_0xc4b5('0x1a')](_0x85dc37);}};}function respondWithFilteredResult(_0x41d628,_0x56a4f8){return function(_0x22420c){if(_0x22420c){var _0x2bc3c4=typeof _0x56a4f8['offset']==='undefined'&&typeof _0x56a4f8[_0xc4b5('0x1b')]===_0xc4b5('0x1c');var _0x409de7=_0x22420c[_0xc4b5('0x1d')];var _0xc482c7=_0x2bc3c4?0x0:_0x56a4f8[_0xc4b5('0x1e')];var _0x5ad1f8=_0x2bc3c4?_0x22420c[_0xc4b5('0x1d')]:_0x56a4f8[_0xc4b5('0x1e')]+_0x56a4f8[_0xc4b5('0x1b')];var _0x4cab5c;if(_0x5ad1f8>=_0x409de7){_0x5ad1f8=_0x409de7;_0x4cab5c=0xc8;}else{_0x4cab5c=0xce;}_0x41d628['status'](_0x4cab5c);return _0x41d628[_0xc4b5('0x1f')](_0xc4b5('0x20'),_0xc482c7+'-'+_0x5ad1f8+'/'+_0x409de7)['json'](_0x22420c);}return null;};}function patchUpdates(_0x567d0f){return function(_0x3ced2b){try{jsonpatch[_0xc4b5('0x21')](_0x3ced2b,_0x567d0f,!![]);}catch(_0x52fb90){return BPromise[_0xc4b5('0x22')](_0x52fb90);}return _0x3ced2b[_0xc4b5('0x23')]();};}function saveUpdates(_0x4aafdd,_0x5e0fb9){return function(_0x40ef44){if(_0x40ef44){return _0x40ef44[_0xc4b5('0x24')](_0x4aafdd)['then'](function(_0x1e4f8e){return _0x1e4f8e;});}return null;};}function removeEntity(_0x11e155,_0x405177){return function(_0x5825d2){if(_0x5825d2){return _0x5825d2[_0xc4b5('0x25')]()[_0xc4b5('0x26')](function(){_0x11e155[_0xc4b5('0x18')](0xcc)[_0xc4b5('0x19')]();});}};}function handleEntityNotFound(_0x121f36,_0x446a2c){return function(_0x228e32){if(!_0x228e32){_0x121f36['sendStatus'](0x194);}return _0x228e32;};}function handleError(_0x50f1c9,_0x197d40){_0x197d40=_0x197d40||0x1f4;return function(_0x1c494e){logger[_0xc4b5('0x27')](_0x1c494e[_0xc4b5('0x28')]);if(_0x1c494e['name']){delete _0x1c494e[_0xc4b5('0x29')];}_0x50f1c9[_0xc4b5('0x18')](_0x197d40)[_0xc4b5('0x2a')](_0x1c494e);};}exports[_0xc4b5('0x2b')]=function(_0x1c5b83,_0x37b06c){var _0x277dc3={},_0x26b810={},_0x580d66={'count':0x0,'rows':[]};var _0x2254f9=_[_0xc4b5('0x2c')](db[_0xc4b5('0x2d')][_0xc4b5('0x2e')],function(_0x423e1d){return{'name':_0x423e1d[_0xc4b5('0x2f')],'type':_0x423e1d[_0xc4b5('0x30')][_0xc4b5('0x31')]};});_0x26b810[_0xc4b5('0x32')]=_[_0xc4b5('0x2c')](_0x2254f9,_0xc4b5('0x29'));_0x26b810[_0xc4b5('0x33')]=_['keys'](_0x1c5b83['query']);_0x26b810[_0xc4b5('0x34')]=_['intersection'](_0x26b810[_0xc4b5('0x32')],_0x26b810[_0xc4b5('0x33')]);_0x277dc3[_0xc4b5('0x35')]=_[_0xc4b5('0x36')](_0x26b810['model'],qs[_0xc4b5('0x37')](_0x1c5b83[_0xc4b5('0x33')]['fields']));_0x277dc3[_0xc4b5('0x35')]=_0x277dc3[_0xc4b5('0x35')]['length']?_0x277dc3[_0xc4b5('0x35')]:_0x26b810[_0xc4b5('0x32')];if(!_0x1c5b83[_0xc4b5('0x33')]['hasOwnProperty'](_0xc4b5('0x38'))){_0x277dc3[_0xc4b5('0x1b')]=qs[_0xc4b5('0x1b')](_0x1c5b83[_0xc4b5('0x33')]['limit']);_0x277dc3['offset']=qs[_0xc4b5('0x1e')](_0x1c5b83['query'][_0xc4b5('0x1e')]);}_0x277dc3[_0xc4b5('0x39')]=qs[_0xc4b5('0x3a')](_0x1c5b83[_0xc4b5('0x33')][_0xc4b5('0x3a')]);_0x277dc3[_0xc4b5('0x3b')]=qs[_0xc4b5('0x34')](_[_0xc4b5('0x3c')](_0x1c5b83[_0xc4b5('0x33')],_0x26b810[_0xc4b5('0x34')]),_0x2254f9);if(_0x1c5b83['query']['filter']){_0x277dc3[_0xc4b5('0x3b')]=_['merge'](_0x277dc3['where'],{'$or':_['map'](_0x2254f9,function(_0x58f8e1){if(_0x58f8e1['type']!==_0xc4b5('0x3d')){var _0x663ba3={};_0x663ba3[_0x58f8e1[_0xc4b5('0x29')]]={'$like':'%'+_0x1c5b83[_0xc4b5('0x33')][_0xc4b5('0x3e')]+'%'};return _0x663ba3;}})});}_0x277dc3=_['merge']({},_0x277dc3,_0x1c5b83[_0xc4b5('0x3f')]);var _0x8d5c01={'where':_0x277dc3[_0xc4b5('0x3b')]};return db[_0xc4b5('0x2d')][_0xc4b5('0x1d')](_0x8d5c01)[_0xc4b5('0x26')](function(_0x364747){_0x580d66[_0xc4b5('0x1d')]=_0x364747;if(_0x1c5b83[_0xc4b5('0x33')][_0xc4b5('0x40')]){_0x277dc3[_0xc4b5('0x41')]=[{'all':!![]}];}return db[_0xc4b5('0x2d')][_0xc4b5('0x42')](_0x277dc3);})[_0xc4b5('0x26')](function(_0x4dfdbf){_0x580d66[_0xc4b5('0x43')]=_0x4dfdbf;return _0x580d66;})[_0xc4b5('0x26')](respondWithFilteredResult(_0x37b06c,_0x277dc3))['catch'](handleError(_0x37b06c,null));};