Built motion from commit 497d3d92.|2.5.43
[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 _0x8945=['filter','type','VIRTUAL','merge','includeAll','include','findAll','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','Migration','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','sort','where','pick'];(function(_0x5aec47,_0x1af8bc){var _0x3a3996=function(_0xdb267a){while(--_0xdb267a){_0x5aec47['push'](_0x5aec47['shift']());}};_0x3a3996(++_0x1af8bc);}(_0x8945,0xd0));var _0x5894=function(_0x4ecb99,_0x3cb7a8){_0x4ecb99=_0x4ecb99-0x0;var _0x36ad31=_0x8945[_0x4ecb99];return _0x36ad31;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5894('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x5894('0x1'));var rp=require(_0x5894('0x2'));var moment=require(_0x5894('0x3'));var BPromise=require(_0x5894('0x4'));var Mustache=require(_0x5894('0x5'));var util=require(_0x5894('0x6'));var path=require(_0x5894('0x7'));var sox=require('sox');var csv=require(_0x5894('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5894('0x9'));var _=require(_0x5894('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x5894('0xb'));var deskjs=require(_0x5894('0xc'));var toCsv=require(_0x5894('0x8'));var querystring=require(_0x5894('0xd'));var Papa=require(_0x5894('0xe'));var Redis=require(_0x5894('0xf'));var authService=require(_0x5894('0x10'));var qs=require(_0x5894('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5894('0x12'))(_0x5894('0x13'));var utils=require(_0x5894('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x5894('0x15'))['db'];function respondWithStatusCode(_0x3d17f2,_0x34473c){_0x34473c=_0x34473c||0xcc;return function(_0x43a4ae){if(_0x43a4ae){return _0x3d17f2[_0x5894('0x16')](_0x34473c);}return _0x3d17f2[_0x5894('0x17')](_0x34473c)[_0x5894('0x18')]();};}function respondWithResult(_0x387033,_0x9b9ae3){_0x9b9ae3=_0x9b9ae3||0xc8;return function(_0x381540){if(_0x381540){return _0x387033[_0x5894('0x17')](_0x9b9ae3)[_0x5894('0x19')](_0x381540);}};}function respondWithFilteredResult(_0x1cc323,_0x4c8b07){return function(_0x29a11c){if(_0x29a11c){var _0x1b5711=typeof _0x4c8b07[_0x5894('0x1a')]==='undefined'&&typeof _0x4c8b07[_0x5894('0x1b')]===_0x5894('0x1c');var _0x1b9019=_0x29a11c[_0x5894('0x1d')];var _0x45b5f2=_0x1b5711?0x0:_0x4c8b07[_0x5894('0x1a')];var _0x34bb0e=_0x1b5711?_0x29a11c[_0x5894('0x1d')]:_0x4c8b07[_0x5894('0x1a')]+_0x4c8b07[_0x5894('0x1b')];var _0xb0e79a;if(_0x34bb0e>=_0x1b9019){_0x34bb0e=_0x1b9019;_0xb0e79a=0xc8;}else{_0xb0e79a=0xce;}_0x1cc323[_0x5894('0x17')](_0xb0e79a);return _0x1cc323[_0x5894('0x1e')](_0x5894('0x1f'),_0x45b5f2+'-'+_0x34bb0e+'/'+_0x1b9019)[_0x5894('0x19')](_0x29a11c);}return null;};}function patchUpdates(_0xc8ae00){return function(_0x16f361){try{jsonpatch[_0x5894('0x20')](_0x16f361,_0xc8ae00,!![]);}catch(_0x884038){return BPromise[_0x5894('0x21')](_0x884038);}return _0x16f361[_0x5894('0x22')]();};}function saveUpdates(_0x56fea0,_0x325bcf){return function(_0xdcf9a0){if(_0xdcf9a0){return _0xdcf9a0[_0x5894('0x23')](_0x56fea0)[_0x5894('0x24')](function(_0x1323da){return _0x1323da;});}return null;};}function removeEntity(_0x226a9a,_0x42d193){return function(_0x58d83e){if(_0x58d83e){return _0x58d83e[_0x5894('0x25')]()[_0x5894('0x24')](function(){_0x226a9a[_0x5894('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1d2998,_0x17e9e4){return function(_0x5e663a){if(!_0x5e663a){_0x1d2998['sendStatus'](0x194);}return _0x5e663a;};}function handleError(_0x4db8d5,_0x34fe25){_0x34fe25=_0x34fe25||0x1f4;return function(_0x1095c1){logger[_0x5894('0x26')](_0x1095c1[_0x5894('0x27')]);if(_0x1095c1[_0x5894('0x28')]){delete _0x1095c1['name'];}_0x4db8d5[_0x5894('0x17')](_0x34fe25)[_0x5894('0x29')](_0x1095c1);};}exports[_0x5894('0x2a')]=function(_0x424c03,_0x5c9fb1){var _0x2fdac6={},_0x2e3777={},_0x12b58a={'count':0x0,'rows':[]};var _0x257dfa=_['map'](db[_0x5894('0x2b')][_0x5894('0x2c')],function(_0x4f5308){return{'name':_0x4f5308[_0x5894('0x2d')],'type':_0x4f5308['type'][_0x5894('0x2e')]};});_0x2e3777[_0x5894('0x2f')]=_[_0x5894('0x30')](_0x257dfa,_0x5894('0x28'));_0x2e3777[_0x5894('0x31')]=_[_0x5894('0x32')](_0x424c03['query']);_0x2e3777[_0x5894('0x33')]=_[_0x5894('0x34')](_0x2e3777[_0x5894('0x2f')],_0x2e3777[_0x5894('0x31')]);_0x2fdac6[_0x5894('0x35')]=_['intersection'](_0x2e3777[_0x5894('0x2f')],qs['fields'](_0x424c03[_0x5894('0x31')][_0x5894('0x36')]));_0x2fdac6[_0x5894('0x35')]=_0x2fdac6[_0x5894('0x35')][_0x5894('0x37')]?_0x2fdac6[_0x5894('0x35')]:_0x2e3777[_0x5894('0x2f')];if(!_0x424c03[_0x5894('0x31')]['hasOwnProperty'](_0x5894('0x38'))){_0x2fdac6['limit']=qs[_0x5894('0x1b')](_0x424c03[_0x5894('0x31')]['limit']);_0x2fdac6[_0x5894('0x1a')]=qs[_0x5894('0x1a')](_0x424c03[_0x5894('0x31')][_0x5894('0x1a')]);}_0x2fdac6['order']=qs[_0x5894('0x39')](_0x424c03[_0x5894('0x31')][_0x5894('0x39')]);_0x2fdac6[_0x5894('0x3a')]=qs[_0x5894('0x33')](_[_0x5894('0x3b')](_0x424c03[_0x5894('0x31')],_0x2e3777[_0x5894('0x33')]),_0x257dfa);if(_0x424c03['query'][_0x5894('0x3c')]){_0x2fdac6[_0x5894('0x3a')]=_['merge'](_0x2fdac6[_0x5894('0x3a')],{'$or':_[_0x5894('0x30')](_0x257dfa,function(_0x55c714){if(_0x55c714[_0x5894('0x3d')]!==_0x5894('0x3e')){var _0x50e945={};_0x50e945[_0x55c714[_0x5894('0x28')]]={'$like':'%'+_0x424c03['query']['filter']+'%'};return _0x50e945;}})});}_0x2fdac6=_[_0x5894('0x3f')]({},_0x2fdac6,_0x424c03['options']);var _0x2376d9={'where':_0x2fdac6[_0x5894('0x3a')]};return db[_0x5894('0x2b')][_0x5894('0x1d')](_0x2376d9)[_0x5894('0x24')](function(_0x614728){_0x12b58a[_0x5894('0x1d')]=_0x614728;if(_0x424c03[_0x5894('0x31')][_0x5894('0x40')]){_0x2fdac6[_0x5894('0x41')]=[{'all':!![]}];}return db['Migration'][_0x5894('0x42')](_0x2fdac6);})['then'](function(_0x1a1f77){_0x12b58a['rows']=_0x1a1f77;return _0x12b58a;})[_0x5894('0x24')](respondWithFilteredResult(_0x5c9fb1,_0x2fdac6))['catch'](handleError(_0x5c9fb1,null));};