Built motion from commit 10af8726.|2.6.34
[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 _0xb5a9=['status','json','offset','undefined','limit','count','set','apply','reject','save','destroy','then','end','error','stack','name','send','index','map','Migration','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','sendStatus'];(function(_0x1994c3,_0x481ae9){var _0xb35842=function(_0x5e9de3){while(--_0x5e9de3){_0x1994c3['push'](_0x1994c3['shift']());}};_0xb35842(++_0x481ae9);}(_0xb5a9,0x1c5));var _0x9b5a=function(_0x4346a8,_0x2dd8e2){_0x4346a8=_0x4346a8-0x0;var _0x287ceb=_0xb5a9[_0x4346a8];return _0x287ceb;};'use strict';var emlformat=require(_0x9b5a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9b5a('0x1'));var jsonpatch=require(_0x9b5a('0x2'));var rp=require(_0x9b5a('0x3'));var moment=require(_0x9b5a('0x4'));var BPromise=require(_0x9b5a('0x5'));var Mustache=require('mustache');var util=require(_0x9b5a('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x9b5a('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9b5a('0x8'));var _=require(_0x9b5a('0x9'));var squel=require(_0x9b5a('0xa'));var crypto=require(_0x9b5a('0xb'));var jsforce=require(_0x9b5a('0xc'));var deskjs=require(_0x9b5a('0xd'));var toCsv=require(_0x9b5a('0x7'));var querystring=require(_0x9b5a('0xe'));var Papa=require(_0x9b5a('0xf'));var Redis=require('ioredis');var authService=require(_0x9b5a('0x10'));var qs=require(_0x9b5a('0x11'));var as=require(_0x9b5a('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x9b5a('0x13'))(_0x9b5a('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x9b5a('0x15'))['db'];function respondWithStatusCode(_0x2274f7,_0x4cd746){_0x4cd746=_0x4cd746||0xcc;return function(_0x4f1904){if(_0x4f1904){return _0x2274f7[_0x9b5a('0x16')](_0x4cd746);}return _0x2274f7['status'](_0x4cd746)['end']();};}function respondWithResult(_0x2861f7,_0x230aef){_0x230aef=_0x230aef||0xc8;return function(_0x3ca031){if(_0x3ca031){return _0x2861f7[_0x9b5a('0x17')](_0x230aef)[_0x9b5a('0x18')](_0x3ca031);}};}function respondWithFilteredResult(_0x12074c,_0x183839){return function(_0x410216){if(_0x410216){var _0x80ff10=typeof _0x183839[_0x9b5a('0x19')]===_0x9b5a('0x1a')&&typeof _0x183839[_0x9b5a('0x1b')]===_0x9b5a('0x1a');var _0x45ed1e=_0x410216[_0x9b5a('0x1c')];var _0x2f1f0a=_0x80ff10?0x0:_0x183839['offset'];var _0x421391=_0x80ff10?_0x410216['count']:_0x183839[_0x9b5a('0x19')]+_0x183839[_0x9b5a('0x1b')];var _0x1e311b;if(_0x421391>=_0x45ed1e){_0x421391=_0x45ed1e;_0x1e311b=0xc8;}else{_0x1e311b=0xce;}_0x12074c[_0x9b5a('0x17')](_0x1e311b);return _0x12074c[_0x9b5a('0x1d')]('Content-Range',_0x2f1f0a+'-'+_0x421391+'/'+_0x45ed1e)[_0x9b5a('0x18')](_0x410216);}return null;};}function patchUpdates(_0x4edf30){return function(_0x47e2ab){try{jsonpatch[_0x9b5a('0x1e')](_0x47e2ab,_0x4edf30,!![]);}catch(_0x5afa89){return BPromise[_0x9b5a('0x1f')](_0x5afa89);}return _0x47e2ab[_0x9b5a('0x20')]();};}function saveUpdates(_0x5141e3,_0x303147){return function(_0x37d8e1){if(_0x37d8e1){return _0x37d8e1['update'](_0x5141e3)['then'](function(_0x546a7b){return _0x546a7b;});}return null;};}function removeEntity(_0x4e62cf,_0x2636b2){return function(_0x187f81){if(_0x187f81){return _0x187f81[_0x9b5a('0x21')]()[_0x9b5a('0x22')](function(){_0x4e62cf[_0x9b5a('0x17')](0xcc)[_0x9b5a('0x23')]();});}};}function handleEntityNotFound(_0x395863,_0x19e811){return function(_0x4174e5){if(!_0x4174e5){_0x395863[_0x9b5a('0x16')](0x194);}return _0x4174e5;};}function handleError(_0x5a63ff,_0x3fd1d7){_0x3fd1d7=_0x3fd1d7||0x1f4;return function(_0x13931e){logger[_0x9b5a('0x24')](_0x13931e[_0x9b5a('0x25')]);if(_0x13931e['name']){delete _0x13931e[_0x9b5a('0x26')];}_0x5a63ff[_0x9b5a('0x17')](_0x3fd1d7)[_0x9b5a('0x27')](_0x13931e);};}exports[_0x9b5a('0x28')]=function(_0x9ce8e,_0x1a9c77){var _0x75283e={},_0x26a80f={},_0x38ea79={'count':0x0,'rows':[]};var _0x5f3724=_[_0x9b5a('0x29')](db[_0x9b5a('0x2a')][_0x9b5a('0x2b')],function(_0xdb0d91){return{'name':_0xdb0d91[_0x9b5a('0x2c')],'type':_0xdb0d91[_0x9b5a('0x2d')][_0x9b5a('0x2e')]};});_0x26a80f[_0x9b5a('0x2f')]=_[_0x9b5a('0x29')](_0x5f3724,_0x9b5a('0x26'));_0x26a80f[_0x9b5a('0x30')]=_[_0x9b5a('0x31')](_0x9ce8e['query']);_0x26a80f[_0x9b5a('0x32')]=_[_0x9b5a('0x33')](_0x26a80f[_0x9b5a('0x2f')],_0x26a80f['query']);_0x75283e[_0x9b5a('0x34')]=_[_0x9b5a('0x33')](_0x26a80f[_0x9b5a('0x2f')],qs[_0x9b5a('0x35')](_0x9ce8e[_0x9b5a('0x30')][_0x9b5a('0x35')]));_0x75283e[_0x9b5a('0x34')]=_0x75283e['attributes'][_0x9b5a('0x36')]?_0x75283e['attributes']:_0x26a80f[_0x9b5a('0x2f')];if(!_0x9ce8e[_0x9b5a('0x30')][_0x9b5a('0x37')](_0x9b5a('0x38'))){_0x75283e[_0x9b5a('0x1b')]=qs[_0x9b5a('0x1b')](_0x9ce8e[_0x9b5a('0x30')][_0x9b5a('0x1b')]);_0x75283e[_0x9b5a('0x19')]=qs['offset'](_0x9ce8e[_0x9b5a('0x30')]['offset']);}_0x75283e['order']=qs[_0x9b5a('0x39')](_0x9ce8e[_0x9b5a('0x30')][_0x9b5a('0x39')]);_0x75283e[_0x9b5a('0x3a')]=qs[_0x9b5a('0x32')](_[_0x9b5a('0x3b')](_0x9ce8e[_0x9b5a('0x30')],_0x26a80f[_0x9b5a('0x32')]),_0x5f3724);if(_0x9ce8e[_0x9b5a('0x30')][_0x9b5a('0x3c')]){_0x75283e[_0x9b5a('0x3a')]=_[_0x9b5a('0x3d')](_0x75283e['where'],{'$or':_[_0x9b5a('0x29')](_0x5f3724,function(_0x39c888){if(_0x39c888[_0x9b5a('0x2d')]!==_0x9b5a('0x3e')){var _0x53d4b9={};_0x53d4b9[_0x39c888[_0x9b5a('0x26')]]={'$like':'%'+_0x9ce8e['query']['filter']+'%'};return _0x53d4b9;}})});}_0x75283e=_[_0x9b5a('0x3d')]({},_0x75283e,_0x9ce8e['options']);var _0x4a343d={'where':_0x75283e[_0x9b5a('0x3a')]};return db[_0x9b5a('0x2a')][_0x9b5a('0x1c')](_0x4a343d)[_0x9b5a('0x22')](function(_0x15416a){_0x38ea79[_0x9b5a('0x1c')]=_0x15416a;if(_0x9ce8e[_0x9b5a('0x30')][_0x9b5a('0x3f')]){_0x75283e[_0x9b5a('0x40')]=[{'all':!![]}];}return db[_0x9b5a('0x2a')][_0x9b5a('0x41')](_0x75283e);})[_0x9b5a('0x22')](function(_0x2c9c51){_0x38ea79[_0x9b5a('0x42')]=_0x2c9c51;return _0x38ea79;})[_0x9b5a('0x22')](respondWithFilteredResult(_0x1a9c77,_0x75283e))[_0x9b5a('0x43')](handleError(_0x1a9c77,null));};