Built motion from commit 9d7072cc.|2.5.39
[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 _0xa16a=['filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','apply','reject','save','update','destroy','then','error','name','send','index','map','Migration','rawAttributes','fieldName','type','query','keys','attributes','fields','model','hasOwnProperty','nolimit','order','sort','where','pick'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0xa16a,0xc8));var _0xaa16=function(_0x3ab928,_0x2b990b){_0x3ab928=_0x3ab928-0x0;var _0xf47692=_0xa16a[_0x3ab928];return _0xf47692;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xaa16('0x0'));var rp=require(_0xaa16('0x1'));var moment=require('moment');var BPromise=require(_0xaa16('0x2'));var Mustache=require(_0xaa16('0x3'));var util=require(_0xaa16('0x4'));var path=require('path');var sox=require(_0xaa16('0x5'));var csv=require(_0xaa16('0x6'));var ejs=require(_0xaa16('0x7'));var fs=require('fs');var fs_extra=require(_0xaa16('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xaa16('0x9'));var jsforce=require(_0xaa16('0xa'));var deskjs=require(_0xaa16('0xb'));var toCsv=require(_0xaa16('0x6'));var querystring=require(_0xaa16('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xaa16('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0xaa16('0xe'));var hardwareService=require(_0xaa16('0xf'));var logger=require(_0xaa16('0x10'))(_0xaa16('0x11'));var utils=require('../../config/utils');var config=require(_0xaa16('0x12'));var licenseUtil=require(_0xaa16('0x13'));var db=require(_0xaa16('0x14'))['db'];function respondWithStatusCode(_0x785e23,_0x253e8c){_0x253e8c=_0x253e8c||0xcc;return function(_0x446a52){if(_0x446a52){return _0x785e23[_0xaa16('0x15')](_0x253e8c);}return _0x785e23[_0xaa16('0x16')](_0x253e8c)[_0xaa16('0x17')]();};}function respondWithResult(_0x5720cd,_0xc40512){_0xc40512=_0xc40512||0xc8;return function(_0x1d4484){if(_0x1d4484){return _0x5720cd[_0xaa16('0x16')](_0xc40512)[_0xaa16('0x18')](_0x1d4484);}};}function respondWithFilteredResult(_0x18f48b,_0x4cbe3e){return function(_0x4944f5){if(_0x4944f5){var _0x199e52=typeof _0x4cbe3e[_0xaa16('0x19')]===_0xaa16('0x1a')&&typeof _0x4cbe3e['limit']===_0xaa16('0x1a');var _0x5d7720=_0x4944f5['count'];var _0x420ad5=_0x199e52?0x0:_0x4cbe3e[_0xaa16('0x19')];var _0x3e9b89=_0x199e52?_0x4944f5[_0xaa16('0x1b')]:_0x4cbe3e[_0xaa16('0x19')]+_0x4cbe3e[_0xaa16('0x1c')];var _0x4b621f;if(_0x3e9b89>=_0x5d7720){_0x3e9b89=_0x5d7720;_0x4b621f=0xc8;}else{_0x4b621f=0xce;}_0x18f48b[_0xaa16('0x16')](_0x4b621f);return _0x18f48b[_0xaa16('0x1d')]('Content-Range',_0x420ad5+'-'+_0x3e9b89+'/'+_0x5d7720)[_0xaa16('0x18')](_0x4944f5);}return null;};}function patchUpdates(_0x3a3d80){return function(_0x18bea8){try{jsonpatch[_0xaa16('0x1e')](_0x18bea8,_0x3a3d80,!![]);}catch(_0x37a774){return BPromise[_0xaa16('0x1f')](_0x37a774);}return _0x18bea8[_0xaa16('0x20')]();};}function saveUpdates(_0x375662,_0xb1b802){return function(_0x30dbb1){if(_0x30dbb1){return _0x30dbb1[_0xaa16('0x21')](_0x375662)['then'](function(_0x3189b8){return _0x3189b8;});}return null;};}function removeEntity(_0x3b80f4,_0xf4b0e){return function(_0xbe9704){if(_0xbe9704){return _0xbe9704[_0xaa16('0x22')]()[_0xaa16('0x23')](function(){_0x3b80f4[_0xaa16('0x16')](0xcc)[_0xaa16('0x17')]();});}};}function handleEntityNotFound(_0x390c68,_0xb6c552){return function(_0x1aeef0){if(!_0x1aeef0){_0x390c68[_0xaa16('0x15')](0x194);}return _0x1aeef0;};}function handleError(_0x3dd32f,_0x34509b){_0x34509b=_0x34509b||0x1f4;return function(_0x148962){logger[_0xaa16('0x24')](_0x148962['stack']);if(_0x148962[_0xaa16('0x25')]){delete _0x148962[_0xaa16('0x25')];}_0x3dd32f[_0xaa16('0x16')](_0x34509b)[_0xaa16('0x26')](_0x148962);};}exports[_0xaa16('0x27')]=function(_0x22c089,_0x2c4cbe){var _0x26cc0b={},_0x21a20b={},_0x56a40a={'count':0x0,'rows':[]};var _0x5a4553=_[_0xaa16('0x28')](db[_0xaa16('0x29')][_0xaa16('0x2a')],function(_0xe3cfb3){return{'name':_0xe3cfb3[_0xaa16('0x2b')],'type':_0xe3cfb3[_0xaa16('0x2c')]['key']};});_0x21a20b['model']=_['map'](_0x5a4553,'name');_0x21a20b[_0xaa16('0x2d')]=_[_0xaa16('0x2e')](_0x22c089[_0xaa16('0x2d')]);_0x21a20b['filters']=_['intersection'](_0x21a20b['model'],_0x21a20b[_0xaa16('0x2d')]);_0x26cc0b[_0xaa16('0x2f')]=_['intersection'](_0x21a20b['model'],qs[_0xaa16('0x30')](_0x22c089[_0xaa16('0x2d')][_0xaa16('0x30')]));_0x26cc0b[_0xaa16('0x2f')]=_0x26cc0b[_0xaa16('0x2f')]['length']?_0x26cc0b['attributes']:_0x21a20b[_0xaa16('0x31')];if(!_0x22c089[_0xaa16('0x2d')][_0xaa16('0x32')](_0xaa16('0x33'))){_0x26cc0b[_0xaa16('0x1c')]=qs['limit'](_0x22c089[_0xaa16('0x2d')][_0xaa16('0x1c')]);_0x26cc0b[_0xaa16('0x19')]=qs[_0xaa16('0x19')](_0x22c089['query'][_0xaa16('0x19')]);}_0x26cc0b[_0xaa16('0x34')]=qs[_0xaa16('0x35')](_0x22c089[_0xaa16('0x2d')][_0xaa16('0x35')]);_0x26cc0b[_0xaa16('0x36')]=qs['filters'](_[_0xaa16('0x37')](_0x22c089[_0xaa16('0x2d')],_0x21a20b['filters']),_0x5a4553);if(_0x22c089[_0xaa16('0x2d')][_0xaa16('0x38')]){_0x26cc0b[_0xaa16('0x36')]=_[_0xaa16('0x39')](_0x26cc0b[_0xaa16('0x36')],{'$or':_['map'](_0x5a4553,function(_0x47c5d3){if(_0x47c5d3[_0xaa16('0x2c')]!==_0xaa16('0x3a')){var _0x26f71b={};_0x26f71b[_0x47c5d3[_0xaa16('0x25')]]={'$like':'%'+_0x22c089['query'][_0xaa16('0x38')]+'%'};return _0x26f71b;}})});}_0x26cc0b=_['merge']({},_0x26cc0b,_0x22c089[_0xaa16('0x3b')]);var _0x8dd5fa={'where':_0x26cc0b[_0xaa16('0x36')]};return db[_0xaa16('0x29')][_0xaa16('0x1b')](_0x8dd5fa)[_0xaa16('0x23')](function(_0x1cc892){_0x56a40a[_0xaa16('0x1b')]=_0x1cc892;if(_0x22c089['query'][_0xaa16('0x3c')]){_0x26cc0b['include']=[{'all':!![]}];}return db['Migration'][_0xaa16('0x3d')](_0x26cc0b);})['then'](function(_0x52d99d){_0x56a40a[_0xaa16('0x3e')]=_0x52d99d;return _0x56a40a;})[_0xaa16('0x23')](respondWithFilteredResult(_0x2c4cbe,_0x26cc0b))[_0xaa16('0x3f')](handleError(_0x2c4cbe,null));};