Built motion from commit (unavailable).|2.5.20
[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 _0x59be=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','json','reject','destroy','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','filters','intersection','query','attributes','fields','hasOwnProperty','limit','sort','where','VIRTUAL','filter','merge','options','then','includeAll','include','Migration','findAll','rows','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis'];(function(_0x152aa1,_0x307718){var _0x1bc01a=function(_0xd3211e){while(--_0xd3211e){_0x152aa1['push'](_0x152aa1['shift']());}};_0x1bc01a(++_0x307718);}(_0x59be,0x1ec));var _0xe59b=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x59be[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0xe59b('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xe59b('0x1'));var zipdir=require(_0xe59b('0x2'));var jsonpatch=require(_0xe59b('0x3'));var rp=require(_0xe59b('0x4'));var moment=require(_0xe59b('0x5'));var BPromise=require(_0xe59b('0x6'));var Mustache=require(_0xe59b('0x7'));var util=require(_0xe59b('0x8'));var path=require(_0xe59b('0x9'));var sox=require(_0xe59b('0xa'));var csv=require(_0xe59b('0xb'));var ejs=require(_0xe59b('0xc'));var fs=require('fs');var _=require(_0xe59b('0xd'));var squel=require('squel');var crypto=require(_0xe59b('0xe'));var jsforce=require(_0xe59b('0xf'));var deskjs=require(_0xe59b('0x10'));var toCsv=require(_0xe59b('0xb'));var querystring=require(_0xe59b('0x11'));var Papa=require(_0xe59b('0x12'));var Redis=require(_0xe59b('0x13'));var authService=require(_0xe59b('0x14'));var qs=require(_0xe59b('0x15'));var as=require(_0xe59b('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require(_0xe59b('0x17'));var config=require(_0xe59b('0x18'));var licenseUtil=require(_0xe59b('0x19'));var db=require(_0xe59b('0x1a'))['db'];function respondWithStatusCode(_0x5aad6e,_0x2d0cdf){_0x2d0cdf=_0x2d0cdf||0xcc;return function(_0x3e199b){if(_0x3e199b){return _0x5aad6e[_0xe59b('0x1b')](_0x2d0cdf);}return _0x5aad6e[_0xe59b('0x1c')](_0x2d0cdf)['end']();};}function respondWithResult(_0x596fc4,_0x1501c){_0x1501c=_0x1501c||0xc8;return function(_0x1c75f9){if(_0x1c75f9){return _0x596fc4[_0xe59b('0x1c')](_0x1501c)['json'](_0x1c75f9);}};}function respondWithFilteredResult(_0x2e218b,_0x5d5460){return function(_0x2c9c77){if(_0x2c9c77){var _0x1730d0=_0x2c9c77[_0xe59b('0x1d')],_0x16f1c2=_0x5d5460[_0xe59b('0x1e')],_0x2c4f5c=_0x5d5460[_0xe59b('0x1e')]+_0x5d5460['limit'],_0xb35c46;if(_0x2c4f5c>=_0x1730d0){_0x2c4f5c=_0x1730d0;_0xb35c46=0xc8;}else{_0xb35c46=0xce;}_0x2e218b['status'](_0xb35c46);return _0x2e218b['set']('Content-Range',_0x16f1c2+'-'+_0x2c4f5c+'/'+_0x1730d0)[_0xe59b('0x1f')](_0x2c9c77);}return null;};}function patchUpdates(_0x540809){return function(_0x1fc249){try{jsonpatch['apply'](_0x1fc249,_0x540809,!![]);}catch(_0x51a823){return BPromise[_0xe59b('0x20')](_0x51a823);}return _0x1fc249['save']();};}function saveUpdates(_0x5efcb9,_0x647e34){return function(_0x270657){if(_0x270657){return _0x270657['update'](_0x5efcb9)['then'](function(_0x1919f2){return _0x1919f2;});}return null;};}function removeEntity(_0x2670b9,_0x1f971f){return function(_0x16fc95){if(_0x16fc95){return _0x16fc95[_0xe59b('0x21')]()['then'](function(){_0x2670b9[_0xe59b('0x1c')](0xcc)[_0xe59b('0x22')]();});}};}function handleEntityNotFound(_0x429733,_0x224aa9){return function(_0x25cd06){if(!_0x25cd06){_0x429733[_0xe59b('0x1b')](0x194);}return _0x25cd06;};}function handleError(_0x28bfb9,_0x559b25){_0x559b25=_0x559b25||0x1f4;return function(_0x1d39d6){logger[_0xe59b('0x23')](_0x1d39d6[_0xe59b('0x24')]);if(_0x1d39d6[_0xe59b('0x25')]){delete _0x1d39d6['name'];}_0x28bfb9[_0xe59b('0x1c')](_0x559b25)[_0xe59b('0x26')](_0x1d39d6);};}exports[_0xe59b('0x27')]=function(_0x3363f9,_0x53adc3){var _0x21ff6b={},_0x550afc={},_0x31b6ca={'count':0x0,'rows':[]};var _0x480cca=_[_0xe59b('0x28')](db['Migration'][_0xe59b('0x29')],function(_0x2c1fd0){return{'name':_0x2c1fd0[_0xe59b('0x2a')],'type':_0x2c1fd0[_0xe59b('0x2b')]['key']};});_0x550afc[_0xe59b('0x2c')]=_['map'](_0x480cca,_0xe59b('0x25'));_0x550afc['query']=_['keys'](_0x3363f9['query']);_0x550afc[_0xe59b('0x2d')]=_[_0xe59b('0x2e')](_0x550afc[_0xe59b('0x2c')],_0x550afc[_0xe59b('0x2f')]);_0x21ff6b[_0xe59b('0x30')]=_[_0xe59b('0x2e')](_0x550afc['model'],qs[_0xe59b('0x31')](_0x3363f9[_0xe59b('0x2f')][_0xe59b('0x31')]));_0x21ff6b[_0xe59b('0x30')]=_0x21ff6b['attributes']['length']?_0x21ff6b[_0xe59b('0x30')]:_0x550afc[_0xe59b('0x2c')];if(!_0x3363f9['query'][_0xe59b('0x32')]('nolimit')){_0x21ff6b['limit']=qs['limit'](_0x3363f9['query'][_0xe59b('0x33')]);_0x21ff6b[_0xe59b('0x1e')]=qs['offset'](_0x3363f9['query'][_0xe59b('0x1e')]);}_0x21ff6b['order']=qs[_0xe59b('0x34')](_0x3363f9['query'][_0xe59b('0x34')]);_0x21ff6b[_0xe59b('0x35')]=qs[_0xe59b('0x2d')](_['pick'](_0x3363f9[_0xe59b('0x2f')],_0x550afc[_0xe59b('0x2d')]),_0x480cca);if(_0x3363f9['query']['filter']){_0x21ff6b[_0xe59b('0x35')]=_['merge'](_0x21ff6b[_0xe59b('0x35')],{'$or':_[_0xe59b('0x28')](_0x480cca,function(_0x2d1dcb){if(_0x2d1dcb[_0xe59b('0x2b')]!==_0xe59b('0x36')){var _0x3e7596={};_0x3e7596[_0x2d1dcb[_0xe59b('0x25')]]={'$like':'%'+_0x3363f9[_0xe59b('0x2f')][_0xe59b('0x37')]+'%'};return _0x3e7596;}})});}_0x21ff6b=_[_0xe59b('0x38')]({},_0x21ff6b,_0x3363f9[_0xe59b('0x39')]);var _0x2ddc02={'where':_0x21ff6b[_0xe59b('0x35')]};return db['Migration'][_0xe59b('0x1d')](_0x2ddc02)[_0xe59b('0x3a')](function(_0x114eb0){_0x31b6ca[_0xe59b('0x1d')]=_0x114eb0;if(_0x3363f9[_0xe59b('0x2f')][_0xe59b('0x3b')]){_0x21ff6b[_0xe59b('0x3c')]=[{'all':!![]}];}return db[_0xe59b('0x3d')][_0xe59b('0x3e')](_0x21ff6b);})[_0xe59b('0x3a')](function(_0x665a22){_0x31b6ca[_0xe59b('0x3f')]=_0x665a22;return _0x31b6ca;})[_0xe59b('0x3a')](respondWithFilteredResult(_0x53adc3,_0x21ff6b))['catch'](handleError(_0x53adc3,null));};