Built motion from commit e38a297d.|2.6.18
[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 _0x8d81=['error','name','send','index','map','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','order','sort','where','pick','merge','VIRTUAL','filter','options','Migration','includeAll','include','rows','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','count','limit','Content-Range','apply','reject','save','then','destroy'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x8d81,0xe4));var _0x18d8=function(_0xea982c,_0xb2e270){_0xea982c=_0xea982c-0x0;var _0x453693=_0x8d81[_0xea982c];return _0x453693;};'use strict';var emlformat=require(_0x18d8('0x0'));var rimraf=require(_0x18d8('0x1'));var zipdir=require(_0x18d8('0x2'));var jsonpatch=require(_0x18d8('0x3'));var rp=require(_0x18d8('0x4'));var moment=require(_0x18d8('0x5'));var BPromise=require(_0x18d8('0x6'));var Mustache=require(_0x18d8('0x7'));var util=require(_0x18d8('0x8'));var path=require(_0x18d8('0x9'));var sox=require('sox');var csv=require(_0x18d8('0xa'));var ejs=require(_0x18d8('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x18d8('0xc'));var crypto=require('crypto');var jsforce=require(_0x18d8('0xd'));var deskjs=require(_0x18d8('0xe'));var toCsv=require(_0x18d8('0xa'));var querystring=require(_0x18d8('0xf'));var Papa=require(_0x18d8('0x10'));var Redis=require(_0x18d8('0x11'));var authService=require(_0x18d8('0x12'));var qs=require(_0x18d8('0x13'));var as=require(_0x18d8('0x14'));var hardwareService=require(_0x18d8('0x15'));var logger=require(_0x18d8('0x16'))(_0x18d8('0x17'));var utils=require(_0x18d8('0x18'));var config=require(_0x18d8('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x18d8('0x1a'))['db'];function respondWithStatusCode(_0x591f3f,_0x56ad9c){_0x56ad9c=_0x56ad9c||0xcc;return function(_0x323a05){if(_0x323a05){return _0x591f3f[_0x18d8('0x1b')](_0x56ad9c);}return _0x591f3f[_0x18d8('0x1c')](_0x56ad9c)['end']();};}function respondWithResult(_0x122ec0,_0x1ecbea){_0x1ecbea=_0x1ecbea||0xc8;return function(_0x294fab){if(_0x294fab){return _0x122ec0[_0x18d8('0x1c')](_0x1ecbea)[_0x18d8('0x1d')](_0x294fab);}};}function respondWithFilteredResult(_0x9f2d36,_0xbfaef2){return function(_0x16c133){if(_0x16c133){var _0x4493a0=typeof _0xbfaef2[_0x18d8('0x1e')]===_0x18d8('0x1f')&&typeof _0xbfaef2['limit']==='undefined';var _0x5d03c9=_0x16c133[_0x18d8('0x20')];var _0x9745b1=_0x4493a0?0x0:_0xbfaef2[_0x18d8('0x1e')];var _0x1834ea=_0x4493a0?_0x16c133['count']:_0xbfaef2[_0x18d8('0x1e')]+_0xbfaef2[_0x18d8('0x21')];var _0x261db9;if(_0x1834ea>=_0x5d03c9){_0x1834ea=_0x5d03c9;_0x261db9=0xc8;}else{_0x261db9=0xce;}_0x9f2d36[_0x18d8('0x1c')](_0x261db9);return _0x9f2d36['set'](_0x18d8('0x22'),_0x9745b1+'-'+_0x1834ea+'/'+_0x5d03c9)[_0x18d8('0x1d')](_0x16c133);}return null;};}function patchUpdates(_0x2fd710){return function(_0x2119fb){try{jsonpatch[_0x18d8('0x23')](_0x2119fb,_0x2fd710,!![]);}catch(_0x56b1a5){return BPromise[_0x18d8('0x24')](_0x56b1a5);}return _0x2119fb[_0x18d8('0x25')]();};}function saveUpdates(_0x1d4d94,_0x249e20){return function(_0x2135ce){if(_0x2135ce){return _0x2135ce['update'](_0x1d4d94)[_0x18d8('0x26')](function(_0x3a389a){return _0x3a389a;});}return null;};}function removeEntity(_0x23b53e,_0x29248e){return function(_0x5e19e5){if(_0x5e19e5){return _0x5e19e5[_0x18d8('0x27')]()[_0x18d8('0x26')](function(){_0x23b53e[_0x18d8('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x46491d,_0x5b8d93){return function(_0x12b427){if(!_0x12b427){_0x46491d['sendStatus'](0x194);}return _0x12b427;};}function handleError(_0x1b6e17,_0x284e04){_0x284e04=_0x284e04||0x1f4;return function(_0x10d974){logger[_0x18d8('0x28')](_0x10d974['stack']);if(_0x10d974[_0x18d8('0x29')]){delete _0x10d974['name'];}_0x1b6e17['status'](_0x284e04)[_0x18d8('0x2a')](_0x10d974);};}exports[_0x18d8('0x2b')]=function(_0x1dc361,_0x53e320){var _0x4c52dc={},_0x1f8e87={},_0x185a71={'count':0x0,'rows':[]};var _0x576298=_[_0x18d8('0x2c')](db['Migration'][_0x18d8('0x2d')],function(_0x2596f2){return{'name':_0x2596f2[_0x18d8('0x2e')],'type':_0x2596f2['type']['key']};});_0x1f8e87[_0x18d8('0x2f')]=_[_0x18d8('0x2c')](_0x576298,_0x18d8('0x29'));_0x1f8e87[_0x18d8('0x30')]=_[_0x18d8('0x31')](_0x1dc361[_0x18d8('0x30')]);_0x1f8e87[_0x18d8('0x32')]=_[_0x18d8('0x33')](_0x1f8e87[_0x18d8('0x2f')],_0x1f8e87['query']);_0x4c52dc[_0x18d8('0x34')]=_[_0x18d8('0x33')](_0x1f8e87[_0x18d8('0x2f')],qs[_0x18d8('0x35')](_0x1dc361[_0x18d8('0x30')][_0x18d8('0x35')]));_0x4c52dc['attributes']=_0x4c52dc[_0x18d8('0x34')][_0x18d8('0x36')]?_0x4c52dc[_0x18d8('0x34')]:_0x1f8e87['model'];if(!_0x1dc361[_0x18d8('0x30')]['hasOwnProperty']('nolimit')){_0x4c52dc[_0x18d8('0x21')]=qs[_0x18d8('0x21')](_0x1dc361[_0x18d8('0x30')][_0x18d8('0x21')]);_0x4c52dc[_0x18d8('0x1e')]=qs[_0x18d8('0x1e')](_0x1dc361[_0x18d8('0x30')]['offset']);}_0x4c52dc[_0x18d8('0x37')]=qs[_0x18d8('0x38')](_0x1dc361[_0x18d8('0x30')][_0x18d8('0x38')]);_0x4c52dc[_0x18d8('0x39')]=qs[_0x18d8('0x32')](_[_0x18d8('0x3a')](_0x1dc361[_0x18d8('0x30')],_0x1f8e87['filters']),_0x576298);if(_0x1dc361[_0x18d8('0x30')]['filter']){_0x4c52dc['where']=_[_0x18d8('0x3b')](_0x4c52dc[_0x18d8('0x39')],{'$or':_[_0x18d8('0x2c')](_0x576298,function(_0x3a40e9){if(_0x3a40e9['type']!==_0x18d8('0x3c')){var _0x59fbda={};_0x59fbda[_0x3a40e9[_0x18d8('0x29')]]={'$like':'%'+_0x1dc361[_0x18d8('0x30')][_0x18d8('0x3d')]+'%'};return _0x59fbda;}})});}_0x4c52dc=_['merge']({},_0x4c52dc,_0x1dc361[_0x18d8('0x3e')]);var _0x21d53c={'where':_0x4c52dc[_0x18d8('0x39')]};return db[_0x18d8('0x3f')][_0x18d8('0x20')](_0x21d53c)['then'](function(_0xf76518){_0x185a71[_0x18d8('0x20')]=_0xf76518;if(_0x1dc361[_0x18d8('0x30')][_0x18d8('0x40')]){_0x4c52dc[_0x18d8('0x41')]=[{'all':!![]}];}return db['Migration']['findAll'](_0x4c52dc);})[_0x18d8('0x26')](function(_0x8f38d5){_0x185a71[_0x18d8('0x42')]=_0x8f38d5;return _0x185a71;})[_0x18d8('0x26')](respondWithFilteredResult(_0x53e320,_0x4c52dc))['catch'](handleError(_0x53e320,null));};