Built motion from commit (unavailable).|2.5.21
[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 _0x4020=['name','send','map','Migration','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','json','count','offset','limit','status','set','reject','save','update','then','end','sendStatus','error','stack'];(function(_0x31e29a,_0x349c9b){var _0x32d892=function(_0x41cc86){while(--_0x41cc86){_0x31e29a['push'](_0x31e29a['shift']());}};_0x32d892(++_0x349c9b);}(_0x4020,0x1c1));var _0x0402=function(_0x10bcc3,_0x2e2464){_0x10bcc3=_0x10bcc3-0x0;var _0x3791a9=_0x4020[_0x10bcc3];return _0x3791a9;};'use strict';var pdf=require(_0x0402('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x0402('0x1'));var zipdir=require(_0x0402('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0402('0x3'));var moment=require(_0x0402('0x4'));var BPromise=require(_0x0402('0x5'));var Mustache=require(_0x0402('0x6'));var util=require(_0x0402('0x7'));var path=require(_0x0402('0x8'));var sox=require('sox');var csv=require(_0x0402('0x9'));var ejs=require(_0x0402('0xa'));var fs=require('fs');var _=require(_0x0402('0xb'));var squel=require(_0x0402('0xc'));var crypto=require(_0x0402('0xd'));var jsforce=require(_0x0402('0xe'));var deskjs=require(_0x0402('0xf'));var toCsv=require(_0x0402('0x9'));var querystring=require('querystring');var Papa=require(_0x0402('0x10'));var Redis=require(_0x0402('0x11'));var authService=require(_0x0402('0x12'));var qs=require(_0x0402('0x13'));var as=require(_0x0402('0x14'));var hardwareService=require(_0x0402('0x15'));var logger=require(_0x0402('0x16'))(_0x0402('0x17'));var utils=require(_0x0402('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0x0402('0x19'));var db=require(_0x0402('0x1a'))['db'];function respondWithStatusCode(_0x4a8337,_0x3d29ae){_0x3d29ae=_0x3d29ae||0xcc;return function(_0x20cd3b){if(_0x20cd3b){return _0x4a8337['sendStatus'](_0x3d29ae);}return _0x4a8337['status'](_0x3d29ae)['end']();};}function respondWithResult(_0x184f53,_0x388cad){_0x388cad=_0x388cad||0xc8;return function(_0x1a44ed){if(_0x1a44ed){return _0x184f53['status'](_0x388cad)[_0x0402('0x1b')](_0x1a44ed);}};}function respondWithFilteredResult(_0x46a45e,_0x374c40){return function(_0x5cb590){if(_0x5cb590){var _0x3b54a6=_0x5cb590[_0x0402('0x1c')],_0x6db5bd=_0x374c40[_0x0402('0x1d')],_0x55df09=_0x374c40['offset']+_0x374c40[_0x0402('0x1e')],_0x40df3a;if(_0x55df09>=_0x3b54a6){_0x55df09=_0x3b54a6;_0x40df3a=0xc8;}else{_0x40df3a=0xce;}_0x46a45e[_0x0402('0x1f')](_0x40df3a);return _0x46a45e[_0x0402('0x20')]('Content-Range',_0x6db5bd+'-'+_0x55df09+'/'+_0x3b54a6)[_0x0402('0x1b')](_0x5cb590);}return null;};}function patchUpdates(_0x405b9f){return function(_0x4c0236){try{jsonpatch['apply'](_0x4c0236,_0x405b9f,!![]);}catch(_0x49adcd){return BPromise[_0x0402('0x21')](_0x49adcd);}return _0x4c0236[_0x0402('0x22')]();};}function saveUpdates(_0x1955c7,_0x3ffbd7){return function(_0x4da682){if(_0x4da682){return _0x4da682[_0x0402('0x23')](_0x1955c7)[_0x0402('0x24')](function(_0x51c32e){return _0x51c32e;});}return null;};}function removeEntity(_0x43ef44,_0x49f4c3){return function(_0x1aec6c){if(_0x1aec6c){return _0x1aec6c['destroy']()['then'](function(){_0x43ef44[_0x0402('0x1f')](0xcc)[_0x0402('0x25')]();});}};}function handleEntityNotFound(_0x2d6045,_0x16ff39){return function(_0x1813ee){if(!_0x1813ee){_0x2d6045[_0x0402('0x26')](0x194);}return _0x1813ee;};}function handleError(_0x4819bb,_0x15ee7e){_0x15ee7e=_0x15ee7e||0x1f4;return function(_0x3571cf){logger[_0x0402('0x27')](_0x3571cf[_0x0402('0x28')]);if(_0x3571cf[_0x0402('0x29')]){delete _0x3571cf['name'];}_0x4819bb[_0x0402('0x1f')](_0x15ee7e)[_0x0402('0x2a')](_0x3571cf);};}exports['index']=function(_0x1b8379,_0x2d6265){var _0x411c6e={},_0x44ddb6={},_0x491592={'count':0x0,'rows':[]};var _0x2aa37a=_[_0x0402('0x2b')](db[_0x0402('0x2c')]['rawAttributes'],function(_0x25d9b2){return{'name':_0x25d9b2[_0x0402('0x2d')],'type':_0x25d9b2[_0x0402('0x2e')][_0x0402('0x2f')]};});_0x44ddb6[_0x0402('0x30')]=_[_0x0402('0x2b')](_0x2aa37a,_0x0402('0x29'));_0x44ddb6['query']=_[_0x0402('0x31')](_0x1b8379[_0x0402('0x32')]);_0x44ddb6[_0x0402('0x33')]=_[_0x0402('0x34')](_0x44ddb6[_0x0402('0x30')],_0x44ddb6[_0x0402('0x32')]);_0x411c6e[_0x0402('0x35')]=_[_0x0402('0x34')](_0x44ddb6[_0x0402('0x30')],qs[_0x0402('0x36')](_0x1b8379['query']['fields']));_0x411c6e['attributes']=_0x411c6e['attributes'][_0x0402('0x37')]?_0x411c6e[_0x0402('0x35')]:_0x44ddb6[_0x0402('0x30')];if(!_0x1b8379[_0x0402('0x32')][_0x0402('0x38')](_0x0402('0x39'))){_0x411c6e['limit']=qs[_0x0402('0x1e')](_0x1b8379[_0x0402('0x32')][_0x0402('0x1e')]);_0x411c6e[_0x0402('0x1d')]=qs['offset'](_0x1b8379[_0x0402('0x32')][_0x0402('0x1d')]);}_0x411c6e['order']=qs[_0x0402('0x3a')](_0x1b8379[_0x0402('0x32')][_0x0402('0x3a')]);_0x411c6e[_0x0402('0x3b')]=qs[_0x0402('0x33')](_[_0x0402('0x3c')](_0x1b8379['query'],_0x44ddb6[_0x0402('0x33')]),_0x2aa37a);if(_0x1b8379[_0x0402('0x32')][_0x0402('0x3d')]){_0x411c6e[_0x0402('0x3b')]=_[_0x0402('0x3e')](_0x411c6e[_0x0402('0x3b')],{'$or':_['map'](_0x2aa37a,function(_0x4a4975){if(_0x4a4975[_0x0402('0x2e')]!==_0x0402('0x3f')){var _0x50c8ec={};_0x50c8ec[_0x4a4975[_0x0402('0x29')]]={'$like':'%'+_0x1b8379[_0x0402('0x32')][_0x0402('0x3d')]+'%'};return _0x50c8ec;}})});}_0x411c6e=_[_0x0402('0x3e')]({},_0x411c6e,_0x1b8379[_0x0402('0x40')]);var _0x33ae25={'where':_0x411c6e[_0x0402('0x3b')]};return db[_0x0402('0x2c')][_0x0402('0x1c')](_0x33ae25)['then'](function(_0x397195){_0x491592['count']=_0x397195;if(_0x1b8379[_0x0402('0x32')][_0x0402('0x41')]){_0x411c6e[_0x0402('0x42')]=[{'all':!![]}];}return db[_0x0402('0x2c')][_0x0402('0x43')](_0x411c6e);})[_0x0402('0x24')](function(_0x578f49){_0x491592[_0x0402('0x44')]=_0x578f49;return _0x491592;})[_0x0402('0x24')](respondWithFilteredResult(_0x2d6265,_0x411c6e))[_0x0402('0x45')](handleError(_0x2d6265,null));};