Built motion from commit c738b9ac.|2.6.25
[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 _0xe2b7=['sort','where','filter','merge','type','VIRTUAL','options','findAll','rows','catch','eml-format','fast-json-patch','moment','bluebird','mustache','util','sox','ejs','lodash','squel','crypto','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','offset','undefined','count','limit','status','set','Content-Range','json','apply','reject','save','update','then','destroy','error','name','send','map','Migration','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','order'];(function(_0x4f1c96,_0x49aa12){var _0x2a7ba8=function(_0x4bb7c3){while(--_0x4bb7c3){_0x4f1c96['push'](_0x4f1c96['shift']());}};_0x2a7ba8(++_0x49aa12);}(_0xe2b7,0x8c));var _0x7e2b=function(_0x41cf8d,_0x8be49){_0x41cf8d=_0x41cf8d-0x0;var _0x5111c1=_0xe2b7[_0x41cf8d];return _0x5111c1;};'use strict';var emlformat=require(_0x7e2b('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x7e2b('0x1'));var rp=require('request-promise');var moment=require(_0x7e2b('0x2'));var BPromise=require(_0x7e2b('0x3'));var Mustache=require(_0x7e2b('0x4'));var util=require(_0x7e2b('0x5'));var path=require('path');var sox=require(_0x7e2b('0x6'));var csv=require('to-csv');var ejs=require(_0x7e2b('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7e2b('0x8'));var squel=require(_0x7e2b('0x9'));var crypto=require(_0x7e2b('0xa'));var jsforce=require(_0x7e2b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x7e2b('0xc'));var querystring=require('querystring');var Papa=require(_0x7e2b('0xd'));var Redis=require(_0x7e2b('0xe'));var authService=require(_0x7e2b('0xf'));var qs=require(_0x7e2b('0x10'));var as=require(_0x7e2b('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x7e2b('0x12'));var utils=require('../../config/utils');var config=require(_0x7e2b('0x13'));var licenseUtil=require(_0x7e2b('0x14'));var db=require(_0x7e2b('0x15'))['db'];function respondWithStatusCode(_0x8e4297,_0xa3a638){_0xa3a638=_0xa3a638||0xcc;return function(_0x337467){if(_0x337467){return _0x8e4297[_0x7e2b('0x16')](_0xa3a638);}return _0x8e4297['status'](_0xa3a638)[_0x7e2b('0x17')]();};}function respondWithResult(_0x3ecada,_0x25c61c){_0x25c61c=_0x25c61c||0xc8;return function(_0x552794){if(_0x552794){return _0x3ecada['status'](_0x25c61c)['json'](_0x552794);}};}function respondWithFilteredResult(_0x1f18d9,_0x11580a){return function(_0x3fa599){if(_0x3fa599){var _0x3ce9b3=typeof _0x11580a[_0x7e2b('0x18')]===_0x7e2b('0x19')&&typeof _0x11580a['limit']===_0x7e2b('0x19');var _0x434740=_0x3fa599[_0x7e2b('0x1a')];var _0x1a4c15=_0x3ce9b3?0x0:_0x11580a[_0x7e2b('0x18')];var _0x2cf4da=_0x3ce9b3?_0x3fa599[_0x7e2b('0x1a')]:_0x11580a[_0x7e2b('0x18')]+_0x11580a[_0x7e2b('0x1b')];var _0x568ffe;if(_0x2cf4da>=_0x434740){_0x2cf4da=_0x434740;_0x568ffe=0xc8;}else{_0x568ffe=0xce;}_0x1f18d9[_0x7e2b('0x1c')](_0x568ffe);return _0x1f18d9[_0x7e2b('0x1d')](_0x7e2b('0x1e'),_0x1a4c15+'-'+_0x2cf4da+'/'+_0x434740)[_0x7e2b('0x1f')](_0x3fa599);}return null;};}function patchUpdates(_0x3a0268){return function(_0x252af0){try{jsonpatch[_0x7e2b('0x20')](_0x252af0,_0x3a0268,!![]);}catch(_0xf16536){return BPromise[_0x7e2b('0x21')](_0xf16536);}return _0x252af0[_0x7e2b('0x22')]();};}function saveUpdates(_0xc9888,_0x167b0e){return function(_0x2f7b56){if(_0x2f7b56){return _0x2f7b56[_0x7e2b('0x23')](_0xc9888)[_0x7e2b('0x24')](function(_0x4f4b94){return _0x4f4b94;});}return null;};}function removeEntity(_0x8ca28c,_0x3f9259){return function(_0xee1d8f){if(_0xee1d8f){return _0xee1d8f[_0x7e2b('0x25')]()[_0x7e2b('0x24')](function(){_0x8ca28c[_0x7e2b('0x1c')](0xcc)[_0x7e2b('0x17')]();});}};}function handleEntityNotFound(_0x48f67a,_0x41f28e){return function(_0x5675b4){if(!_0x5675b4){_0x48f67a['sendStatus'](0x194);}return _0x5675b4;};}function handleError(_0x468f37,_0x21545a){_0x21545a=_0x21545a||0x1f4;return function(_0x31bb4a){logger[_0x7e2b('0x26')](_0x31bb4a['stack']);if(_0x31bb4a['name']){delete _0x31bb4a[_0x7e2b('0x27')];}_0x468f37['status'](_0x21545a)[_0x7e2b('0x28')](_0x31bb4a);};}exports['index']=function(_0x1fcf38,_0x57730b){var _0x19524e={},_0x4b0411={},_0x5e42fa={'count':0x0,'rows':[]};var _0x21eeae=_[_0x7e2b('0x29')](db[_0x7e2b('0x2a')][_0x7e2b('0x2b')],function(_0x2be298){return{'name':_0x2be298[_0x7e2b('0x2c')],'type':_0x2be298['type'][_0x7e2b('0x2d')]};});_0x4b0411[_0x7e2b('0x2e')]=_[_0x7e2b('0x29')](_0x21eeae,_0x7e2b('0x27'));_0x4b0411[_0x7e2b('0x2f')]=_[_0x7e2b('0x30')](_0x1fcf38['query']);_0x4b0411[_0x7e2b('0x31')]=_[_0x7e2b('0x32')](_0x4b0411[_0x7e2b('0x2e')],_0x4b0411[_0x7e2b('0x2f')]);_0x19524e[_0x7e2b('0x33')]=_[_0x7e2b('0x32')](_0x4b0411[_0x7e2b('0x2e')],qs[_0x7e2b('0x34')](_0x1fcf38[_0x7e2b('0x2f')][_0x7e2b('0x34')]));_0x19524e[_0x7e2b('0x33')]=_0x19524e[_0x7e2b('0x33')]['length']?_0x19524e['attributes']:_0x4b0411[_0x7e2b('0x2e')];if(!_0x1fcf38[_0x7e2b('0x2f')][_0x7e2b('0x35')]('nolimit')){_0x19524e[_0x7e2b('0x1b')]=qs[_0x7e2b('0x1b')](_0x1fcf38[_0x7e2b('0x2f')][_0x7e2b('0x1b')]);_0x19524e[_0x7e2b('0x18')]=qs[_0x7e2b('0x18')](_0x1fcf38['query']['offset']);}_0x19524e[_0x7e2b('0x36')]=qs[_0x7e2b('0x37')](_0x1fcf38[_0x7e2b('0x2f')]['sort']);_0x19524e[_0x7e2b('0x38')]=qs[_0x7e2b('0x31')](_['pick'](_0x1fcf38[_0x7e2b('0x2f')],_0x4b0411['filters']),_0x21eeae);if(_0x1fcf38['query'][_0x7e2b('0x39')]){_0x19524e['where']=_[_0x7e2b('0x3a')](_0x19524e['where'],{'$or':_['map'](_0x21eeae,function(_0x1f4f2f){if(_0x1f4f2f[_0x7e2b('0x3b')]!==_0x7e2b('0x3c')){var _0xda798b={};_0xda798b[_0x1f4f2f['name']]={'$like':'%'+_0x1fcf38['query'][_0x7e2b('0x39')]+'%'};return _0xda798b;}})});}_0x19524e=_[_0x7e2b('0x3a')]({},_0x19524e,_0x1fcf38[_0x7e2b('0x3d')]);var _0x5994b5={'where':_0x19524e['where']};return db[_0x7e2b('0x2a')][_0x7e2b('0x1a')](_0x5994b5)['then'](function(_0xb843f1){_0x5e42fa[_0x7e2b('0x1a')]=_0xb843f1;if(_0x1fcf38[_0x7e2b('0x2f')]['includeAll']){_0x19524e['include']=[{'all':!![]}];}return db[_0x7e2b('0x2a')][_0x7e2b('0x3e')](_0x19524e);})[_0x7e2b('0x24')](function(_0x5d7d6a){_0x5e42fa[_0x7e2b('0x3f')]=_0x5d7d6a;return _0x5e42fa;})[_0x7e2b('0x24')](respondWithFilteredResult(_0x57730b,_0x19524e))[_0x7e2b('0x40')](handleError(_0x57730b,null));};