Built motion from commit (unavailable).|2.5.30
[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 _0x3221=['merge','type','VIRTUAL','Migration','includeAll','findAll','rows','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','json','limit','count','offset','apply','save','update','then','error','stack','name','index','map','rawAttributes','fieldName','key','model','keys','filters','intersection','query','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter'];(function(_0x2da835,_0x1ffd33){var _0x420326=function(_0x305efd){while(--_0x305efd){_0x2da835['push'](_0x2da835['shift']());}};_0x420326(++_0x1ffd33);}(_0x3221,0x10c));var _0x1322=function(_0xbf7121,_0x847a81){_0xbf7121=_0xbf7121-0x0;var _0x1eaeba=_0x3221[_0xbf7121];return _0x1eaeba;};'use strict';var emlformat=require(_0x1322('0x0'));var rimraf=require(_0x1322('0x1'));var zipdir=require(_0x1322('0x2'));var jsonpatch=require(_0x1322('0x3'));var rp=require(_0x1322('0x4'));var moment=require(_0x1322('0x5'));var BPromise=require(_0x1322('0x6'));var Mustache=require('mustache');var util=require(_0x1322('0x7'));var path=require(_0x1322('0x8'));var sox=require(_0x1322('0x9'));var csv=require(_0x1322('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1322('0xb'));var _=require(_0x1322('0xc'));var squel=require(_0x1322('0xd'));var crypto=require(_0x1322('0xe'));var jsforce=require(_0x1322('0xf'));var deskjs=require(_0x1322('0x10'));var toCsv=require(_0x1322('0xa'));var querystring=require(_0x1322('0x11'));var Papa=require(_0x1322('0x12'));var Redis=require('ioredis');var authService=require(_0x1322('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x1322('0x14'));var hardwareService=require(_0x1322('0x15'));var logger=require('../../config/logger')(_0x1322('0x16'));var utils=require(_0x1322('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x1322('0x18'));var db=require(_0x1322('0x19'))['db'];function respondWithStatusCode(_0x7f3f79,_0x3da97f){_0x3da97f=_0x3da97f||0xcc;return function(_0x5e2853){if(_0x5e2853){return _0x7f3f79[_0x1322('0x1a')](_0x3da97f);}return _0x7f3f79[_0x1322('0x1b')](_0x3da97f)['end']();};}function respondWithResult(_0x4ea36e,_0x5d95ce){_0x5d95ce=_0x5d95ce||0xc8;return function(_0x1afd8e){if(_0x1afd8e){return _0x4ea36e[_0x1322('0x1b')](_0x5d95ce)[_0x1322('0x1c')](_0x1afd8e);}};}function respondWithFilteredResult(_0x29fb62,_0x557bb0){return function(_0x45d8f6){if(_0x45d8f6){var _0x12ff75=typeof _0x557bb0['offset']==='undefined'&&typeof _0x557bb0[_0x1322('0x1d')]==='undefined';var _0x28aebf=_0x45d8f6[_0x1322('0x1e')];var _0x1d5606=_0x12ff75?0x0:_0x557bb0['offset'];var _0x34c74f=_0x12ff75?_0x45d8f6['count']:_0x557bb0[_0x1322('0x1f')]+_0x557bb0[_0x1322('0x1d')];var _0x104e62;if(_0x34c74f>=_0x28aebf){_0x34c74f=_0x28aebf;_0x104e62=0xc8;}else{_0x104e62=0xce;}_0x29fb62['status'](_0x104e62);return _0x29fb62['set']('Content-Range',_0x1d5606+'-'+_0x34c74f+'/'+_0x28aebf)[_0x1322('0x1c')](_0x45d8f6);}return null;};}function patchUpdates(_0x496ac2){return function(_0x1840ba){try{jsonpatch[_0x1322('0x20')](_0x1840ba,_0x496ac2,!![]);}catch(_0x1be1e3){return BPromise['reject'](_0x1be1e3);}return _0x1840ba[_0x1322('0x21')]();};}function saveUpdates(_0x45bafd,_0x3fd3d9){return function(_0x234130){if(_0x234130){return _0x234130[_0x1322('0x22')](_0x45bafd)[_0x1322('0x23')](function(_0xfa8e6a){return _0xfa8e6a;});}return null;};}function removeEntity(_0x2d7fe7,_0xa98692){return function(_0x5df0ee){if(_0x5df0ee){return _0x5df0ee['destroy']()[_0x1322('0x23')](function(){_0x2d7fe7['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x2abb2a,_0x25124b){return function(_0x2f35d2){if(!_0x2f35d2){_0x2abb2a[_0x1322('0x1a')](0x194);}return _0x2f35d2;};}function handleError(_0x356f3d,_0x438118){_0x438118=_0x438118||0x1f4;return function(_0x479447){logger[_0x1322('0x24')](_0x479447[_0x1322('0x25')]);if(_0x479447[_0x1322('0x26')]){delete _0x479447[_0x1322('0x26')];}_0x356f3d['status'](_0x438118)['send'](_0x479447);};}exports[_0x1322('0x27')]=function(_0x11c8a4,_0x11bc5f){var _0x3f1f7c={},_0x28f294={},_0xe9be7c={'count':0x0,'rows':[]};var _0x491b3d=_[_0x1322('0x28')](db['Migration'][_0x1322('0x29')],function(_0x27aa8a){return{'name':_0x27aa8a[_0x1322('0x2a')],'type':_0x27aa8a['type'][_0x1322('0x2b')]};});_0x28f294[_0x1322('0x2c')]=_[_0x1322('0x28')](_0x491b3d,_0x1322('0x26'));_0x28f294['query']=_[_0x1322('0x2d')](_0x11c8a4['query']);_0x28f294[_0x1322('0x2e')]=_[_0x1322('0x2f')](_0x28f294['model'],_0x28f294[_0x1322('0x30')]);_0x3f1f7c[_0x1322('0x31')]=_['intersection'](_0x28f294[_0x1322('0x2c')],qs[_0x1322('0x32')](_0x11c8a4['query']['fields']));_0x3f1f7c[_0x1322('0x31')]=_0x3f1f7c['attributes']['length']?_0x3f1f7c[_0x1322('0x31')]:_0x28f294[_0x1322('0x2c')];if(!_0x11c8a4[_0x1322('0x30')][_0x1322('0x33')](_0x1322('0x34'))){_0x3f1f7c['limit']=qs[_0x1322('0x1d')](_0x11c8a4[_0x1322('0x30')]['limit']);_0x3f1f7c[_0x1322('0x1f')]=qs['offset'](_0x11c8a4['query'][_0x1322('0x1f')]);}_0x3f1f7c['order']=qs['sort'](_0x11c8a4['query'][_0x1322('0x35')]);_0x3f1f7c[_0x1322('0x36')]=qs[_0x1322('0x2e')](_[_0x1322('0x37')](_0x11c8a4['query'],_0x28f294[_0x1322('0x2e')]),_0x491b3d);if(_0x11c8a4['query'][_0x1322('0x38')]){_0x3f1f7c[_0x1322('0x36')]=_[_0x1322('0x39')](_0x3f1f7c[_0x1322('0x36')],{'$or':_[_0x1322('0x28')](_0x491b3d,function(_0x12a1b1){if(_0x12a1b1[_0x1322('0x3a')]!==_0x1322('0x3b')){var _0x2f9835={};_0x2f9835[_0x12a1b1[_0x1322('0x26')]]={'$like':'%'+_0x11c8a4[_0x1322('0x30')][_0x1322('0x38')]+'%'};return _0x2f9835;}})});}_0x3f1f7c=_[_0x1322('0x39')]({},_0x3f1f7c,_0x11c8a4['options']);var _0x12e8a4={'where':_0x3f1f7c['where']};return db[_0x1322('0x3c')][_0x1322('0x1e')](_0x12e8a4)[_0x1322('0x23')](function(_0x1c29da){_0xe9be7c['count']=_0x1c29da;if(_0x11c8a4[_0x1322('0x30')][_0x1322('0x3d')]){_0x3f1f7c['include']=[{'all':!![]}];}return db[_0x1322('0x3c')][_0x1322('0x3e')](_0x3f1f7c);})[_0x1322('0x23')](function(_0x5bb671){_0xe9be7c[_0x1322('0x3f')]=_0x5bb671;return _0xe9be7c;})['then'](respondWithFilteredResult(_0x11bc5f,_0x3f1f7c))[_0x1322('0x40')](handleError(_0x11bc5f,null));};