Built motion from commit b0a9a629.|2.6.33
[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 _0x5e18=['../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','reject','save','destroy','then','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','count','includeAll','include','Migration','findAll','rows','catch','eml-format','zip-dir','request-promise','bluebird','util','sox','ejs','squel','crypto','jsforce','desk.js','papaparse'];(function(_0x36826a,_0x27ef6a){var _0x3e5a0b=function(_0x398777){while(--_0x398777){_0x36826a['push'](_0x36826a['shift']());}};_0x3e5a0b(++_0x27ef6a);}(_0x5e18,0xfc));var _0x85e1=function(_0x347f41,_0x8fece4){_0x347f41=_0x347f41-0x0;var _0xd3795e=_0x5e18[_0x347f41];return _0xd3795e;};'use strict';var emlformat=require(_0x85e1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x85e1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x85e1('0x2'));var moment=require('moment');var BPromise=require(_0x85e1('0x3'));var Mustache=require('mustache');var util=require(_0x85e1('0x4'));var path=require('path');var sox=require(_0x85e1('0x5'));var csv=require('to-csv');var ejs=require(_0x85e1('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x85e1('0x7'));var crypto=require(_0x85e1('0x8'));var jsforce=require(_0x85e1('0x9'));var deskjs=require(_0x85e1('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x85e1('0xb'));var Redis=require('ioredis');var authService=require(_0x85e1('0xc'));var qs=require(_0x85e1('0xd'));var as=require(_0x85e1('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x85e1('0xf'));var utils=require(_0x85e1('0x10'));var config=require(_0x85e1('0x11'));var licenseUtil=require('../../config/license/util');var db=require(_0x85e1('0x12'))['db'];function respondWithStatusCode(_0x665c9d,_0xb7b5d2){_0xb7b5d2=_0xb7b5d2||0xcc;return function(_0x3e2a78){if(_0x3e2a78){return _0x665c9d[_0x85e1('0x13')](_0xb7b5d2);}return _0x665c9d[_0x85e1('0x14')](_0xb7b5d2)[_0x85e1('0x15')]();};}function respondWithResult(_0xad62db,_0x4c7eef){_0x4c7eef=_0x4c7eef||0xc8;return function(_0x4a25ab){if(_0x4a25ab){return _0xad62db[_0x85e1('0x14')](_0x4c7eef)[_0x85e1('0x16')](_0x4a25ab);}};}function respondWithFilteredResult(_0x5d9d33,_0x42142f){return function(_0x158aa6){if(_0x158aa6){var _0x3c080b=typeof _0x42142f[_0x85e1('0x17')]===_0x85e1('0x18')&&typeof _0x42142f[_0x85e1('0x19')]==='undefined';var _0x33eca4=_0x158aa6['count'];var _0x546c41=_0x3c080b?0x0:_0x42142f[_0x85e1('0x17')];var _0x277045=_0x3c080b?_0x158aa6['count']:_0x42142f[_0x85e1('0x17')]+_0x42142f[_0x85e1('0x19')];var _0x24312a;if(_0x277045>=_0x33eca4){_0x277045=_0x33eca4;_0x24312a=0xc8;}else{_0x24312a=0xce;}_0x5d9d33[_0x85e1('0x14')](_0x24312a);return _0x5d9d33[_0x85e1('0x1a')](_0x85e1('0x1b'),_0x546c41+'-'+_0x277045+'/'+_0x33eca4)[_0x85e1('0x16')](_0x158aa6);}return null;};}function patchUpdates(_0x2254ae){return function(_0x5767e7){try{jsonpatch[_0x85e1('0x1c')](_0x5767e7,_0x2254ae,!![]);}catch(_0x584f42){return BPromise[_0x85e1('0x1d')](_0x584f42);}return _0x5767e7[_0x85e1('0x1e')]();};}function saveUpdates(_0xacf90e,_0x12732e){return function(_0x4147e0){if(_0x4147e0){return _0x4147e0['update'](_0xacf90e)['then'](function(_0x2a56e2){return _0x2a56e2;});}return null;};}function removeEntity(_0x426f3c,_0x2cc6f5){return function(_0x488706){if(_0x488706){return _0x488706[_0x85e1('0x1f')]()[_0x85e1('0x20')](function(){_0x426f3c[_0x85e1('0x14')](0xcc)[_0x85e1('0x15')]();});}};}function handleEntityNotFound(_0x587fd6,_0x2cb611){return function(_0x1b27af){if(!_0x1b27af){_0x587fd6[_0x85e1('0x13')](0x194);}return _0x1b27af;};}function handleError(_0x5981b9,_0x501c26){_0x501c26=_0x501c26||0x1f4;return function(_0x1b1d50){logger[_0x85e1('0x21')](_0x1b1d50[_0x85e1('0x22')]);if(_0x1b1d50['name']){delete _0x1b1d50[_0x85e1('0x23')];}_0x5981b9[_0x85e1('0x14')](_0x501c26)[_0x85e1('0x24')](_0x1b1d50);};}exports[_0x85e1('0x25')]=function(_0x5dc818,_0x38e0b5){var _0x31a21f={},_0x28841b={},_0x2682b8={'count':0x0,'rows':[]};var _0x5eea36=_[_0x85e1('0x26')](db['Migration'][_0x85e1('0x27')],function(_0xe3971c){return{'name':_0xe3971c[_0x85e1('0x28')],'type':_0xe3971c['type'][_0x85e1('0x29')]};});_0x28841b[_0x85e1('0x2a')]=_[_0x85e1('0x26')](_0x5eea36,_0x85e1('0x23'));_0x28841b[_0x85e1('0x2b')]=_['keys'](_0x5dc818[_0x85e1('0x2b')]);_0x28841b[_0x85e1('0x2c')]=_[_0x85e1('0x2d')](_0x28841b['model'],_0x28841b[_0x85e1('0x2b')]);_0x31a21f[_0x85e1('0x2e')]=_[_0x85e1('0x2d')](_0x28841b['model'],qs[_0x85e1('0x2f')](_0x5dc818['query'][_0x85e1('0x2f')]));_0x31a21f[_0x85e1('0x2e')]=_0x31a21f[_0x85e1('0x2e')][_0x85e1('0x30')]?_0x31a21f[_0x85e1('0x2e')]:_0x28841b[_0x85e1('0x2a')];if(!_0x5dc818[_0x85e1('0x2b')]['hasOwnProperty'](_0x85e1('0x31'))){_0x31a21f['limit']=qs[_0x85e1('0x19')](_0x5dc818[_0x85e1('0x2b')]['limit']);_0x31a21f[_0x85e1('0x17')]=qs[_0x85e1('0x17')](_0x5dc818['query'][_0x85e1('0x17')]);}_0x31a21f[_0x85e1('0x32')]=qs[_0x85e1('0x33')](_0x5dc818['query'][_0x85e1('0x33')]);_0x31a21f[_0x85e1('0x34')]=qs[_0x85e1('0x2c')](_[_0x85e1('0x35')](_0x5dc818[_0x85e1('0x2b')],_0x28841b[_0x85e1('0x2c')]),_0x5eea36);if(_0x5dc818['query'][_0x85e1('0x36')]){_0x31a21f['where']=_[_0x85e1('0x37')](_0x31a21f[_0x85e1('0x34')],{'$or':_['map'](_0x5eea36,function(_0x5a0e2a){if(_0x5a0e2a[_0x85e1('0x38')]!==_0x85e1('0x39')){var _0x114131={};_0x114131[_0x5a0e2a[_0x85e1('0x23')]]={'$like':'%'+_0x5dc818[_0x85e1('0x2b')]['filter']+'%'};return _0x114131;}})});}_0x31a21f=_['merge']({},_0x31a21f,_0x5dc818[_0x85e1('0x3a')]);var _0x2c8907={'where':_0x31a21f['where']};return db['Migration'][_0x85e1('0x3b')](_0x2c8907)[_0x85e1('0x20')](function(_0x291266){_0x2682b8['count']=_0x291266;if(_0x5dc818[_0x85e1('0x2b')][_0x85e1('0x3c')]){_0x31a21f[_0x85e1('0x3d')]=[{'all':!![]}];}return db[_0x85e1('0x3e')][_0x85e1('0x3f')](_0x31a21f);})['then'](function(_0x9e1fc0){_0x2682b8[_0x85e1('0x40')]=_0x9e1fc0;return _0x2682b8;})[_0x85e1('0x20')](respondWithFilteredResult(_0x38e0b5,_0x31a21f))[_0x85e1('0x41')](handleError(_0x38e0b5,null));};