7cc0d38c4a4d47028b74185257d892bd8af3ce4f
[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 _0x55d0=['apply','reject','save','update','then','name','send','index','map','rawAttributes','fieldName','type','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','pick','filter','merge','where','VIRTUAL','options','includeAll','findAll','rows','catch','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range'];(function(_0x58d662,_0x213b06){var _0xa398ce=function(_0x5ccc1d){while(--_0x5ccc1d){_0x58d662['push'](_0x58d662['shift']());}};_0xa398ce(++_0x213b06);}(_0x55d0,0x1ee));var _0x055d=function(_0x4a73f2,_0x352409){_0x4a73f2=_0x4a73f2-0x0;var _0x4190ee=_0x55d0[_0x4a73f2];return _0x4190ee;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x055d('0x0'));var zipdir=require(_0x055d('0x1'));var jsonpatch=require(_0x055d('0x2'));var rp=require(_0x055d('0x3'));var moment=require('moment');var BPromise=require(_0x055d('0x4'));var Mustache=require(_0x055d('0x5'));var util=require('util');var path=require(_0x055d('0x6'));var sox=require(_0x055d('0x7'));var csv=require('to-csv');var ejs=require(_0x055d('0x8'));var fs=require('fs');var fs_extra=require(_0x055d('0x9'));var _=require(_0x055d('0xa'));var squel=require('squel');var crypto=require(_0x055d('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x055d('0xc'));var toCsv=require(_0x055d('0xd'));var querystring=require(_0x055d('0xe'));var Papa=require(_0x055d('0xf'));var Redis=require(_0x055d('0x10'));var authService=require(_0x055d('0x11'));var qs=require(_0x055d('0x12'));var as=require(_0x055d('0x13'));var hardwareService=require(_0x055d('0x14'));var logger=require(_0x055d('0x15'))(_0x055d('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x055d('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4bfe4d,_0x3769f9){_0x3769f9=_0x3769f9||0xcc;return function(_0x3263a9){if(_0x3263a9){return _0x4bfe4d[_0x055d('0x18')](_0x3769f9);}return _0x4bfe4d[_0x055d('0x19')](_0x3769f9)[_0x055d('0x1a')]();};}function respondWithResult(_0x3741db,_0x10710a){_0x10710a=_0x10710a||0xc8;return function(_0x29aaf1){if(_0x29aaf1){return _0x3741db[_0x055d('0x19')](_0x10710a)[_0x055d('0x1b')](_0x29aaf1);}};}function respondWithFilteredResult(_0x5e0117,_0x2ef0eb){return function(_0x351ef2){if(_0x351ef2){var _0x1d9de4=typeof _0x2ef0eb['offset']===_0x055d('0x1c')&&typeof _0x2ef0eb[_0x055d('0x1d')]==='undefined';var _0x1157ab=_0x351ef2[_0x055d('0x1e')];var _0x3e3861=_0x1d9de4?0x0:_0x2ef0eb[_0x055d('0x1f')];var _0x45df9c=_0x1d9de4?_0x351ef2[_0x055d('0x1e')]:_0x2ef0eb[_0x055d('0x1f')]+_0x2ef0eb[_0x055d('0x1d')];var _0x1b6adb;if(_0x45df9c>=_0x1157ab){_0x45df9c=_0x1157ab;_0x1b6adb=0xc8;}else{_0x1b6adb=0xce;}_0x5e0117[_0x055d('0x19')](_0x1b6adb);return _0x5e0117[_0x055d('0x20')](_0x055d('0x21'),_0x3e3861+'-'+_0x45df9c+'/'+_0x1157ab)[_0x055d('0x1b')](_0x351ef2);}return null;};}function patchUpdates(_0x1f0a4c){return function(_0x13c7df){try{jsonpatch[_0x055d('0x22')](_0x13c7df,_0x1f0a4c,!![]);}catch(_0x35f206){return BPromise[_0x055d('0x23')](_0x35f206);}return _0x13c7df[_0x055d('0x24')]();};}function saveUpdates(_0x268a8e,_0x389de4){return function(_0x51a551){if(_0x51a551){return _0x51a551[_0x055d('0x25')](_0x268a8e)[_0x055d('0x26')](function(_0x57e351){return _0x57e351;});}return null;};}function removeEntity(_0x4b7560,_0x417389){return function(_0x188ece){if(_0x188ece){return _0x188ece['destroy']()[_0x055d('0x26')](function(){_0x4b7560['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5f5689,_0x54ece5){return function(_0x4f3c8c){if(!_0x4f3c8c){_0x5f5689[_0x055d('0x18')](0x194);}return _0x4f3c8c;};}function handleError(_0x5d69b8,_0x48853c){_0x48853c=_0x48853c||0x1f4;return function(_0x453377){logger['error'](_0x453377['stack']);if(_0x453377[_0x055d('0x27')]){delete _0x453377[_0x055d('0x27')];}_0x5d69b8[_0x055d('0x19')](_0x48853c)[_0x055d('0x28')](_0x453377);};}exports[_0x055d('0x29')]=function(_0x55d629,_0x2ab985){var _0x58a165={},_0x27d424={},_0x3f2f90={'count':0x0,'rows':[]};var _0x5b99a4=_[_0x055d('0x2a')](db['Migration'][_0x055d('0x2b')],function(_0x4abe23){return{'name':_0x4abe23[_0x055d('0x2c')],'type':_0x4abe23[_0x055d('0x2d')]['key']};});_0x27d424[_0x055d('0x2e')]=_[_0x055d('0x2a')](_0x5b99a4,_0x055d('0x27'));_0x27d424[_0x055d('0x2f')]=_['keys'](_0x55d629[_0x055d('0x2f')]);_0x27d424['filters']=_[_0x055d('0x30')](_0x27d424['model'],_0x27d424[_0x055d('0x2f')]);_0x58a165[_0x055d('0x31')]=_[_0x055d('0x30')](_0x27d424[_0x055d('0x2e')],qs[_0x055d('0x32')](_0x55d629[_0x055d('0x2f')][_0x055d('0x32')]));_0x58a165[_0x055d('0x31')]=_0x58a165[_0x055d('0x31')]['length']?_0x58a165['attributes']:_0x27d424[_0x055d('0x2e')];if(!_0x55d629[_0x055d('0x2f')][_0x055d('0x33')](_0x055d('0x34'))){_0x58a165[_0x055d('0x1d')]=qs[_0x055d('0x1d')](_0x55d629[_0x055d('0x2f')][_0x055d('0x1d')]);_0x58a165[_0x055d('0x1f')]=qs[_0x055d('0x1f')](_0x55d629[_0x055d('0x2f')]['offset']);}_0x58a165[_0x055d('0x35')]=qs[_0x055d('0x36')](_0x55d629[_0x055d('0x2f')][_0x055d('0x36')]);_0x58a165['where']=qs[_0x055d('0x37')](_[_0x055d('0x38')](_0x55d629[_0x055d('0x2f')],_0x27d424[_0x055d('0x37')]),_0x5b99a4);if(_0x55d629['query'][_0x055d('0x39')]){_0x58a165['where']=_[_0x055d('0x3a')](_0x58a165[_0x055d('0x3b')],{'$or':_[_0x055d('0x2a')](_0x5b99a4,function(_0x4b4d47){if(_0x4b4d47[_0x055d('0x2d')]!==_0x055d('0x3c')){var _0x4bc43d={};_0x4bc43d[_0x4b4d47[_0x055d('0x27')]]={'$like':'%'+_0x55d629[_0x055d('0x2f')][_0x055d('0x39')]+'%'};return _0x4bc43d;}})});}_0x58a165=_[_0x055d('0x3a')]({},_0x58a165,_0x55d629[_0x055d('0x3d')]);var _0x394634={'where':_0x58a165[_0x055d('0x3b')]};return db['Migration'][_0x055d('0x1e')](_0x394634)[_0x055d('0x26')](function(_0x2e4439){_0x3f2f90['count']=_0x2e4439;if(_0x55d629[_0x055d('0x2f')][_0x055d('0x3e')]){_0x58a165['include']=[{'all':!![]}];}return db['Migration'][_0x055d('0x3f')](_0x58a165);})[_0x055d('0x26')](function(_0x46ee6d){_0x3f2f90[_0x055d('0x40')]=_0x46ee6d;return _0x3f2f90;})[_0x055d('0x26')](respondWithFilteredResult(_0x2ab985,_0x58a165))[_0x055d('0x41')](handleError(_0x2ab985,null));};