Built motion from commit a134ab58.|2.6.29
[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 _0x00e0=['model','query','intersection','fields','attributes','length','nolimit','order','sort','where','filters','pick','merge','filter','then','includeAll','include','findAll','catch','eml-format','rimraf','zip-dir','request-promise','bluebird','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','save','destroy','error','stack','name','send','index','map','Migration','fieldName','type','key'];(function(_0x36d2e1,_0x25f327){var _0x28ddf6=function(_0x372d2e){while(--_0x372d2e){_0x36d2e1['push'](_0x36d2e1['shift']());}};_0x28ddf6(++_0x25f327);}(_0x00e0,0x1e3));var _0x000e=function(_0x3258d8,_0x5293f9){_0x3258d8=_0x3258d8-0x0;var _0x322163=_0x00e0[_0x3258d8];return _0x322163;};'use strict';var emlformat=require(_0x000e('0x0'));var rimraf=require(_0x000e('0x1'));var zipdir=require(_0x000e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x000e('0x3'));var moment=require('moment');var BPromise=require(_0x000e('0x4'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x000e('0x5'));var ejs=require(_0x000e('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x000e('0x7'));var squel=require(_0x000e('0x8'));var crypto=require(_0x000e('0x9'));var jsforce=require(_0x000e('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x000e('0x5'));var querystring=require('querystring');var Papa=require(_0x000e('0xb'));var Redis=require(_0x000e('0xc'));var authService=require(_0x000e('0xd'));var qs=require(_0x000e('0xe'));var as=require(_0x000e('0xf'));var hardwareService=require(_0x000e('0x10'));var logger=require(_0x000e('0x11'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x40beb0,_0x302012){_0x302012=_0x302012||0xcc;return function(_0x2081a4){if(_0x2081a4){return _0x40beb0[_0x000e('0x12')](_0x302012);}return _0x40beb0[_0x000e('0x13')](_0x302012)[_0x000e('0x14')]();};}function respondWithResult(_0x2f853,_0x3f55b4){_0x3f55b4=_0x3f55b4||0xc8;return function(_0xe126bc){if(_0xe126bc){return _0x2f853[_0x000e('0x13')](_0x3f55b4)[_0x000e('0x15')](_0xe126bc);}};}function respondWithFilteredResult(_0xe0cfa0,_0x111963){return function(_0x272d99){if(_0x272d99){var _0x2960b7=typeof _0x111963[_0x000e('0x16')]===_0x000e('0x17')&&typeof _0x111963[_0x000e('0x18')]==='undefined';var _0xc74b0a=_0x272d99[_0x000e('0x19')];var _0x108150=_0x2960b7?0x0:_0x111963['offset'];var _0x579b61=_0x2960b7?_0x272d99[_0x000e('0x19')]:_0x111963[_0x000e('0x16')]+_0x111963[_0x000e('0x18')];var _0x53b452;if(_0x579b61>=_0xc74b0a){_0x579b61=_0xc74b0a;_0x53b452=0xc8;}else{_0x53b452=0xce;}_0xe0cfa0['status'](_0x53b452);return _0xe0cfa0['set'](_0x000e('0x1a'),_0x108150+'-'+_0x579b61+'/'+_0xc74b0a)[_0x000e('0x15')](_0x272d99);}return null;};}function patchUpdates(_0x212db7){return function(_0x4351a6){try{jsonpatch['apply'](_0x4351a6,_0x212db7,!![]);}catch(_0x4eb5f2){return BPromise['reject'](_0x4eb5f2);}return _0x4351a6[_0x000e('0x1b')]();};}function saveUpdates(_0x883fb3,_0x4565b6){return function(_0x4fa062){if(_0x4fa062){return _0x4fa062['update'](_0x883fb3)['then'](function(_0x291e10){return _0x291e10;});}return null;};}function removeEntity(_0x4c1564,_0x2eb42b){return function(_0x12ffb6){if(_0x12ffb6){return _0x12ffb6[_0x000e('0x1c')]()['then'](function(){_0x4c1564[_0x000e('0x13')](0xcc)[_0x000e('0x14')]();});}};}function handleEntityNotFound(_0x55e076,_0xdf0cb9){return function(_0x56ba85){if(!_0x56ba85){_0x55e076['sendStatus'](0x194);}return _0x56ba85;};}function handleError(_0x1c5855,_0x474946){_0x474946=_0x474946||0x1f4;return function(_0x56efb3){logger[_0x000e('0x1d')](_0x56efb3[_0x000e('0x1e')]);if(_0x56efb3[_0x000e('0x1f')]){delete _0x56efb3[_0x000e('0x1f')];}_0x1c5855[_0x000e('0x13')](_0x474946)[_0x000e('0x20')](_0x56efb3);};}exports[_0x000e('0x21')]=function(_0x5df1f5,_0x4dd4d5){var _0x5cb6ef={},_0x3834fb={},_0xa5d011={'count':0x0,'rows':[]};var _0x34ae9d=_[_0x000e('0x22')](db[_0x000e('0x23')]['rawAttributes'],function(_0x1749d8){return{'name':_0x1749d8[_0x000e('0x24')],'type':_0x1749d8[_0x000e('0x25')][_0x000e('0x26')]};});_0x3834fb[_0x000e('0x27')]=_[_0x000e('0x22')](_0x34ae9d,_0x000e('0x1f'));_0x3834fb[_0x000e('0x28')]=_['keys'](_0x5df1f5['query']);_0x3834fb['filters']=_['intersection'](_0x3834fb['model'],_0x3834fb[_0x000e('0x28')]);_0x5cb6ef['attributes']=_[_0x000e('0x29')](_0x3834fb[_0x000e('0x27')],qs['fields'](_0x5df1f5[_0x000e('0x28')][_0x000e('0x2a')]));_0x5cb6ef[_0x000e('0x2b')]=_0x5cb6ef['attributes'][_0x000e('0x2c')]?_0x5cb6ef[_0x000e('0x2b')]:_0x3834fb['model'];if(!_0x5df1f5['query']['hasOwnProperty'](_0x000e('0x2d'))){_0x5cb6ef[_0x000e('0x18')]=qs['limit'](_0x5df1f5[_0x000e('0x28')][_0x000e('0x18')]);_0x5cb6ef[_0x000e('0x16')]=qs[_0x000e('0x16')](_0x5df1f5[_0x000e('0x28')]['offset']);}_0x5cb6ef[_0x000e('0x2e')]=qs[_0x000e('0x2f')](_0x5df1f5['query'][_0x000e('0x2f')]);_0x5cb6ef[_0x000e('0x30')]=qs[_0x000e('0x31')](_[_0x000e('0x32')](_0x5df1f5[_0x000e('0x28')],_0x3834fb[_0x000e('0x31')]),_0x34ae9d);if(_0x5df1f5[_0x000e('0x28')]['filter']){_0x5cb6ef[_0x000e('0x30')]=_[_0x000e('0x33')](_0x5cb6ef[_0x000e('0x30')],{'$or':_[_0x000e('0x22')](_0x34ae9d,function(_0x21e783){if(_0x21e783[_0x000e('0x25')]!=='VIRTUAL'){var _0x442365={};_0x442365[_0x21e783[_0x000e('0x1f')]]={'$like':'%'+_0x5df1f5[_0x000e('0x28')][_0x000e('0x34')]+'%'};return _0x442365;}})});}_0x5cb6ef=_[_0x000e('0x33')]({},_0x5cb6ef,_0x5df1f5['options']);var _0x9c088d={'where':_0x5cb6ef['where']};return db[_0x000e('0x23')][_0x000e('0x19')](_0x9c088d)[_0x000e('0x35')](function(_0x3f2ad4){_0xa5d011[_0x000e('0x19')]=_0x3f2ad4;if(_0x5df1f5['query'][_0x000e('0x36')]){_0x5cb6ef[_0x000e('0x37')]=[{'all':!![]}];}return db[_0x000e('0x23')][_0x000e('0x38')](_0x5cb6ef);})[_0x000e('0x35')](function(_0x375012){_0xa5d011['rows']=_0x375012;return _0xa5d011;})['then'](respondWithFilteredResult(_0x4dd4d5,_0x5cb6ef))[_0x000e('0x39')](handleError(_0x4dd4d5,null));};