Built motion from commit da617fac.|2.6.6
[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 _0xabb3=['fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','update','destroy','stack','name','send','map','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','Migration','then','includeAll','include','rows','eml-format','zip-dir'];(function(_0x5b561d,_0x422b7c){var _0x431060=function(_0x401409){while(--_0x401409){_0x5b561d['push'](_0x5b561d['shift']());}};_0x431060(++_0x422b7c);}(_0xabb3,0xc7));var _0x3abb=function(_0xdb759b,_0x145a8a){_0xdb759b=_0xdb759b-0x0;var _0x32caff=_0xabb3[_0xdb759b];return _0x32caff;};'use strict';var emlformat=require(_0x3abb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x3abb('0x1'));var jsonpatch=require(_0x3abb('0x2'));var rp=require(_0x3abb('0x3'));var moment=require(_0x3abb('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x3abb('0x5'));var util=require(_0x3abb('0x6'));var path=require(_0x3abb('0x7'));var sox=require(_0x3abb('0x8'));var csv=require('to-csv');var ejs=require(_0x3abb('0x9'));var fs=require('fs');var fs_extra=require(_0x3abb('0xa'));var _=require(_0x3abb('0xb'));var squel=require('squel');var crypto=require(_0x3abb('0xc'));var jsforce=require(_0x3abb('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x3abb('0xe'));var querystring=require(_0x3abb('0xf'));var Papa=require(_0x3abb('0x10'));var Redis=require(_0x3abb('0x11'));var authService=require(_0x3abb('0x12'));var qs=require(_0x3abb('0x13'));var as=require(_0x3abb('0x14'));var hardwareService=require(_0x3abb('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x3abb('0x16'));var config=require(_0x3abb('0x17'));var licenseUtil=require(_0x3abb('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x52d021,_0x4af162){_0x4af162=_0x4af162||0xcc;return function(_0x284b91){if(_0x284b91){return _0x52d021[_0x3abb('0x19')](_0x4af162);}return _0x52d021[_0x3abb('0x1a')](_0x4af162)[_0x3abb('0x1b')]();};}function respondWithResult(_0x1fda87,_0xb66459){_0xb66459=_0xb66459||0xc8;return function(_0x100253){if(_0x100253){return _0x1fda87[_0x3abb('0x1a')](_0xb66459)[_0x3abb('0x1c')](_0x100253);}};}function respondWithFilteredResult(_0x40dcbd,_0x39dec7){return function(_0x11109f){if(_0x11109f){var _0x531a2e=typeof _0x39dec7[_0x3abb('0x1d')]===_0x3abb('0x1e')&&typeof _0x39dec7[_0x3abb('0x1f')]==='undefined';var _0x3bcf26=_0x11109f['count'];var _0x4f011a=_0x531a2e?0x0:_0x39dec7[_0x3abb('0x1d')];var _0x526244=_0x531a2e?_0x11109f[_0x3abb('0x20')]:_0x39dec7[_0x3abb('0x1d')]+_0x39dec7[_0x3abb('0x1f')];var _0x568b6e;if(_0x526244>=_0x3bcf26){_0x526244=_0x3bcf26;_0x568b6e=0xc8;}else{_0x568b6e=0xce;}_0x40dcbd[_0x3abb('0x1a')](_0x568b6e);return _0x40dcbd[_0x3abb('0x21')](_0x3abb('0x22'),_0x4f011a+'-'+_0x526244+'/'+_0x3bcf26)[_0x3abb('0x1c')](_0x11109f);}return null;};}function patchUpdates(_0xca59fc){return function(_0xf031b3){try{jsonpatch[_0x3abb('0x23')](_0xf031b3,_0xca59fc,!![]);}catch(_0x32b75f){return BPromise['reject'](_0x32b75f);}return _0xf031b3['save']();};}function saveUpdates(_0x2e0455,_0x49d559){return function(_0x41cb75){if(_0x41cb75){return _0x41cb75[_0x3abb('0x24')](_0x2e0455)['then'](function(_0x1814e5){return _0x1814e5;});}return null;};}function removeEntity(_0x416320,_0x1bdb98){return function(_0x59d1b3){if(_0x59d1b3){return _0x59d1b3[_0x3abb('0x25')]()['then'](function(){_0x416320[_0x3abb('0x1a')](0xcc)[_0x3abb('0x1b')]();});}};}function handleEntityNotFound(_0x23a618,_0x35ea98){return function(_0x50b086){if(!_0x50b086){_0x23a618['sendStatus'](0x194);}return _0x50b086;};}function handleError(_0xe02897,_0x4519ef){_0x4519ef=_0x4519ef||0x1f4;return function(_0xf85f69){logger['error'](_0xf85f69[_0x3abb('0x26')]);if(_0xf85f69[_0x3abb('0x27')]){delete _0xf85f69[_0x3abb('0x27')];}_0xe02897['status'](_0x4519ef)[_0x3abb('0x28')](_0xf85f69);};}exports['index']=function(_0x4fe222,_0x26a2b3){var _0x5ca2a9={},_0x2d6c23={},_0x16f9da={'count':0x0,'rows':[]};var _0x607201=_[_0x3abb('0x29')](db['Migration'][_0x3abb('0x2a')],function(_0x35c55e){return{'name':_0x35c55e[_0x3abb('0x2b')],'type':_0x35c55e[_0x3abb('0x2c')][_0x3abb('0x2d')]};});_0x2d6c23['model']=_['map'](_0x607201,_0x3abb('0x27'));_0x2d6c23[_0x3abb('0x2e')]=_['keys'](_0x4fe222[_0x3abb('0x2e')]);_0x2d6c23[_0x3abb('0x2f')]=_[_0x3abb('0x30')](_0x2d6c23[_0x3abb('0x31')],_0x2d6c23[_0x3abb('0x2e')]);_0x5ca2a9[_0x3abb('0x32')]=_[_0x3abb('0x30')](_0x2d6c23['model'],qs[_0x3abb('0x33')](_0x4fe222[_0x3abb('0x2e')]['fields']));_0x5ca2a9[_0x3abb('0x32')]=_0x5ca2a9[_0x3abb('0x32')][_0x3abb('0x34')]?_0x5ca2a9[_0x3abb('0x32')]:_0x2d6c23[_0x3abb('0x31')];if(!_0x4fe222['query'][_0x3abb('0x35')](_0x3abb('0x36'))){_0x5ca2a9[_0x3abb('0x1f')]=qs[_0x3abb('0x1f')](_0x4fe222['query'][_0x3abb('0x1f')]);_0x5ca2a9[_0x3abb('0x1d')]=qs[_0x3abb('0x1d')](_0x4fe222['query'][_0x3abb('0x1d')]);}_0x5ca2a9[_0x3abb('0x37')]=qs['sort'](_0x4fe222['query'][_0x3abb('0x38')]);_0x5ca2a9[_0x3abb('0x39')]=qs['filters'](_[_0x3abb('0x3a')](_0x4fe222['query'],_0x2d6c23[_0x3abb('0x2f')]),_0x607201);if(_0x4fe222[_0x3abb('0x2e')][_0x3abb('0x3b')]){_0x5ca2a9[_0x3abb('0x39')]=_['merge'](_0x5ca2a9[_0x3abb('0x39')],{'$or':_[_0x3abb('0x29')](_0x607201,function(_0x5ebfbe){if(_0x5ebfbe[_0x3abb('0x2c')]!=='VIRTUAL'){var _0x471f30={};_0x471f30[_0x5ebfbe['name']]={'$like':'%'+_0x4fe222['query'][_0x3abb('0x3b')]+'%'};return _0x471f30;}})});}_0x5ca2a9=_[_0x3abb('0x3c')]({},_0x5ca2a9,_0x4fe222[_0x3abb('0x3d')]);var _0x229ff5={'where':_0x5ca2a9[_0x3abb('0x39')]};return db[_0x3abb('0x3e')]['count'](_0x229ff5)[_0x3abb('0x3f')](function(_0x5de489){_0x16f9da[_0x3abb('0x20')]=_0x5de489;if(_0x4fe222[_0x3abb('0x2e')][_0x3abb('0x40')]){_0x5ca2a9[_0x3abb('0x41')]=[{'all':!![]}];}return db[_0x3abb('0x3e')]['findAll'](_0x5ca2a9);})[_0x3abb('0x3f')](function(_0x3aa57f){_0x16f9da[_0x3abb('0x42')]=_0x3aa57f;return _0x16f9da;})[_0x3abb('0x3f')](respondWithFilteredResult(_0x26a2b3,_0x5ca2a9))['catch'](handleError(_0x26a2b3,null));};