86b35cf00260ca2760ec9905e7337929bcedb0a8
[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 _0x39df=['../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','apply','reject','update','then','destroy','error','stack','name','send','index','map','Migration','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','merge','filter','options','includeAll','findAll','rows','catch','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs'];(function(_0x5528c3,_0x35a416){var _0x47ec1b=function(_0x54a18e){while(--_0x54a18e){_0x5528c3['push'](_0x5528c3['shift']());}};_0x47ec1b(++_0x35a416);}(_0x39df,0x173));var _0xf39d=function(_0x618414,_0x1a7a60){_0x618414=_0x618414-0x0;var _0x21c19a=_0x39df[_0x618414];return _0x21c19a;};'use strict';var emlformat=require(_0xf39d('0x0'));var rimraf=require(_0xf39d('0x1'));var zipdir=require(_0xf39d('0x2'));var jsonpatch=require(_0xf39d('0x3'));var rp=require(_0xf39d('0x4'));var moment=require('moment');var BPromise=require(_0xf39d('0x5'));var Mustache=require(_0xf39d('0x6'));var util=require('util');var path=require(_0xf39d('0x7'));var sox=require(_0xf39d('0x8'));var csv=require(_0xf39d('0x9'));var ejs=require(_0xf39d('0xa'));var fs=require('fs');var fs_extra=require(_0xf39d('0xb'));var _=require('lodash');var squel=require(_0xf39d('0xc'));var crypto=require(_0xf39d('0xd'));var jsforce=require(_0xf39d('0xe'));var deskjs=require(_0xf39d('0xf'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xf39d('0x10'));var Redis=require(_0xf39d('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xf39d('0x12'));var as=require(_0xf39d('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xf39d('0x14'));var utils=require(_0xf39d('0x15'));var config=require(_0xf39d('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xf39d('0x17'))['db'];function respondWithStatusCode(_0x59a661,_0x245154){_0x245154=_0x245154||0xcc;return function(_0xf0eaa2){if(_0xf0eaa2){return _0x59a661[_0xf39d('0x18')](_0x245154);}return _0x59a661['status'](_0x245154)[_0xf39d('0x19')]();};}function respondWithResult(_0x59fd9b,_0x1e9dea){_0x1e9dea=_0x1e9dea||0xc8;return function(_0x2dfa36){if(_0x2dfa36){return _0x59fd9b[_0xf39d('0x1a')](_0x1e9dea)[_0xf39d('0x1b')](_0x2dfa36);}};}function respondWithFilteredResult(_0xfdeecf,_0x4bbcd8){return function(_0x229fcc){if(_0x229fcc){var _0x5cebb4=typeof _0x4bbcd8[_0xf39d('0x1c')]==='undefined'&&typeof _0x4bbcd8[_0xf39d('0x1d')]===_0xf39d('0x1e');var _0x568ddd=_0x229fcc[_0xf39d('0x1f')];var _0x5ee709=_0x5cebb4?0x0:_0x4bbcd8['offset'];var _0x175fa4=_0x5cebb4?_0x229fcc[_0xf39d('0x1f')]:_0x4bbcd8['offset']+_0x4bbcd8[_0xf39d('0x1d')];var _0x157602;if(_0x175fa4>=_0x568ddd){_0x175fa4=_0x568ddd;_0x157602=0xc8;}else{_0x157602=0xce;}_0xfdeecf['status'](_0x157602);return _0xfdeecf['set']('Content-Range',_0x5ee709+'-'+_0x175fa4+'/'+_0x568ddd)['json'](_0x229fcc);}return null;};}function patchUpdates(_0x4263a1){return function(_0x3fdc73){try{jsonpatch[_0xf39d('0x20')](_0x3fdc73,_0x4263a1,!![]);}catch(_0x49c3b3){return BPromise[_0xf39d('0x21')](_0x49c3b3);}return _0x3fdc73['save']();};}function saveUpdates(_0xed780,_0x55a9bb){return function(_0xaf1481){if(_0xaf1481){return _0xaf1481[_0xf39d('0x22')](_0xed780)[_0xf39d('0x23')](function(_0x104d65){return _0x104d65;});}return null;};}function removeEntity(_0x2923e2,_0x278002){return function(_0x35ec49){if(_0x35ec49){return _0x35ec49[_0xf39d('0x24')]()[_0xf39d('0x23')](function(){_0x2923e2[_0xf39d('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5d65b6,_0x1e32d1){return function(_0x292ce9){if(!_0x292ce9){_0x5d65b6[_0xf39d('0x18')](0x194);}return _0x292ce9;};}function handleError(_0x4865d4,_0x5239a1){_0x5239a1=_0x5239a1||0x1f4;return function(_0x279c85){logger[_0xf39d('0x25')](_0x279c85[_0xf39d('0x26')]);if(_0x279c85[_0xf39d('0x27')]){delete _0x279c85[_0xf39d('0x27')];}_0x4865d4[_0xf39d('0x1a')](_0x5239a1)[_0xf39d('0x28')](_0x279c85);};}exports[_0xf39d('0x29')]=function(_0x450c59,_0x26209a){var _0x31982c={},_0x264e3c={},_0x397414={'count':0x0,'rows':[]};var _0x5dae28=_[_0xf39d('0x2a')](db[_0xf39d('0x2b')][_0xf39d('0x2c')],function(_0x3397c4){return{'name':_0x3397c4['fieldName'],'type':_0x3397c4[_0xf39d('0x2d')][_0xf39d('0x2e')]};});_0x264e3c[_0xf39d('0x2f')]=_[_0xf39d('0x2a')](_0x5dae28,_0xf39d('0x27'));_0x264e3c[_0xf39d('0x30')]=_[_0xf39d('0x31')](_0x450c59[_0xf39d('0x30')]);_0x264e3c[_0xf39d('0x32')]=_[_0xf39d('0x33')](_0x264e3c[_0xf39d('0x2f')],_0x264e3c[_0xf39d('0x30')]);_0x31982c[_0xf39d('0x34')]=_[_0xf39d('0x33')](_0x264e3c['model'],qs[_0xf39d('0x35')](_0x450c59['query'][_0xf39d('0x35')]));_0x31982c['attributes']=_0x31982c['attributes'][_0xf39d('0x36')]?_0x31982c['attributes']:_0x264e3c['model'];if(!_0x450c59[_0xf39d('0x30')][_0xf39d('0x37')]('nolimit')){_0x31982c['limit']=qs[_0xf39d('0x1d')](_0x450c59[_0xf39d('0x30')][_0xf39d('0x1d')]);_0x31982c[_0xf39d('0x1c')]=qs[_0xf39d('0x1c')](_0x450c59[_0xf39d('0x30')][_0xf39d('0x1c')]);}_0x31982c['order']=qs[_0xf39d('0x38')](_0x450c59[_0xf39d('0x30')]['sort']);_0x31982c[_0xf39d('0x39')]=qs[_0xf39d('0x32')](_['pick'](_0x450c59['query'],_0x264e3c[_0xf39d('0x32')]),_0x5dae28);if(_0x450c59['query']['filter']){_0x31982c[_0xf39d('0x39')]=_[_0xf39d('0x3a')](_0x31982c[_0xf39d('0x39')],{'$or':_[_0xf39d('0x2a')](_0x5dae28,function(_0x3ac37c){if(_0x3ac37c[_0xf39d('0x2d')]!=='VIRTUAL'){var _0x18522c={};_0x18522c[_0x3ac37c[_0xf39d('0x27')]]={'$like':'%'+_0x450c59[_0xf39d('0x30')][_0xf39d('0x3b')]+'%'};return _0x18522c;}})});}_0x31982c=_[_0xf39d('0x3a')]({},_0x31982c,_0x450c59[_0xf39d('0x3c')]);var _0x2caeac={'where':_0x31982c[_0xf39d('0x39')]};return db[_0xf39d('0x2b')]['count'](_0x2caeac)['then'](function(_0x8fa85){_0x397414[_0xf39d('0x1f')]=_0x8fa85;if(_0x450c59[_0xf39d('0x30')][_0xf39d('0x3d')]){_0x31982c['include']=[{'all':!![]}];}return db[_0xf39d('0x2b')][_0xf39d('0x3e')](_0x31982c);})[_0xf39d('0x23')](function(_0x34ef11){_0x397414[_0xf39d('0x3f')]=_0x34ef11;return _0x397414;})[_0xf39d('0x23')](respondWithFilteredResult(_0x26209a,_0x31982c))[_0xf39d('0x40')](handleError(_0x26209a,null));};