Built motion from commit ff78e754.|2.6.29
[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 _0xa008=['apply','reject','save','then','destroy','error','stack','send','index','map','rawAttributes','fieldName','type','name','query','keys','filters','attributes','intersection','fields','length','model','hasOwnProperty','nolimit','order','sort','pick','where','VIRTUAL','filter','options','includeAll','Migration','findAll','rows','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','querystring','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','sendStatus','status','json','limit','undefined','count','offset','set','Content-Range'];(function(_0x311f9b,_0x3cde22){var _0x354127=function(_0x2d91c4){while(--_0x2d91c4){_0x311f9b['push'](_0x311f9b['shift']());}};_0x354127(++_0x3cde22);}(_0xa008,0x64));var _0x8a00=function(_0x2e0cac,_0x1e96e0){_0x2e0cac=_0x2e0cac-0x0;var _0x2d00b5=_0xa008[_0x2e0cac];return _0x2d00b5;};'use strict';var emlformat=require(_0x8a00('0x0'));var rimraf=require(_0x8a00('0x1'));var zipdir=require(_0x8a00('0x2'));var jsonpatch=require(_0x8a00('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x8a00('0x4'));var util=require(_0x8a00('0x5'));var path=require(_0x8a00('0x6'));var sox=require(_0x8a00('0x7'));var csv=require(_0x8a00('0x8'));var ejs=require(_0x8a00('0x9'));var fs=require('fs');var fs_extra=require(_0x8a00('0xa'));var _=require(_0x8a00('0xb'));var squel=require(_0x8a00('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x8a00('0xd'));var toCsv=require(_0x8a00('0x8'));var querystring=require(_0x8a00('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x8a00('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8a00('0x10'));var logger=require(_0x8a00('0x11'))(_0x8a00('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x8a00('0x13'));var db=require(_0x8a00('0x14'))['db'];function respondWithStatusCode(_0x2b472b,_0x16be6b){_0x16be6b=_0x16be6b||0xcc;return function(_0x1b89c1){if(_0x1b89c1){return _0x2b472b[_0x8a00('0x15')](_0x16be6b);}return _0x2b472b[_0x8a00('0x16')](_0x16be6b)['end']();};}function respondWithResult(_0x5b7698,_0x1b96ed){_0x1b96ed=_0x1b96ed||0xc8;return function(_0x3c140a){if(_0x3c140a){return _0x5b7698[_0x8a00('0x16')](_0x1b96ed)[_0x8a00('0x17')](_0x3c140a);}};}function respondWithFilteredResult(_0x170d32,_0x4170e7){return function(_0x6abcb1){if(_0x6abcb1){var _0x42a4bc=typeof _0x4170e7['offset']==='undefined'&&typeof _0x4170e7[_0x8a00('0x18')]===_0x8a00('0x19');var _0x10c0a5=_0x6abcb1[_0x8a00('0x1a')];var _0x49312f=_0x42a4bc?0x0:_0x4170e7[_0x8a00('0x1b')];var _0x372e49=_0x42a4bc?_0x6abcb1[_0x8a00('0x1a')]:_0x4170e7[_0x8a00('0x1b')]+_0x4170e7[_0x8a00('0x18')];var _0xbe41ee;if(_0x372e49>=_0x10c0a5){_0x372e49=_0x10c0a5;_0xbe41ee=0xc8;}else{_0xbe41ee=0xce;}_0x170d32['status'](_0xbe41ee);return _0x170d32[_0x8a00('0x1c')](_0x8a00('0x1d'),_0x49312f+'-'+_0x372e49+'/'+_0x10c0a5)[_0x8a00('0x17')](_0x6abcb1);}return null;};}function patchUpdates(_0x3bf76f){return function(_0x128a63){try{jsonpatch[_0x8a00('0x1e')](_0x128a63,_0x3bf76f,!![]);}catch(_0x5226ca){return BPromise[_0x8a00('0x1f')](_0x5226ca);}return _0x128a63[_0x8a00('0x20')]();};}function saveUpdates(_0x1ed2b8,_0x4f8741){return function(_0xdda14){if(_0xdda14){return _0xdda14['update'](_0x1ed2b8)[_0x8a00('0x21')](function(_0x1decc1){return _0x1decc1;});}return null;};}function removeEntity(_0xb9e0b4,_0x53b9e0){return function(_0x4ff1a7){if(_0x4ff1a7){return _0x4ff1a7[_0x8a00('0x22')]()['then'](function(){_0xb9e0b4[_0x8a00('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f3ef8,_0xed6d30){return function(_0x39d466){if(!_0x39d466){_0x4f3ef8[_0x8a00('0x15')](0x194);}return _0x39d466;};}function handleError(_0x3dfb8a,_0x1d812b){_0x1d812b=_0x1d812b||0x1f4;return function(_0x4890b1){logger[_0x8a00('0x23')](_0x4890b1[_0x8a00('0x24')]);if(_0x4890b1['name']){delete _0x4890b1['name'];}_0x3dfb8a[_0x8a00('0x16')](_0x1d812b)[_0x8a00('0x25')](_0x4890b1);};}exports[_0x8a00('0x26')]=function(_0x13fb0b,_0xd37ff){var _0x349850={},_0x2f3a9f={},_0x557a5a={'count':0x0,'rows':[]};var _0x4a6b2e=_[_0x8a00('0x27')](db['Migration'][_0x8a00('0x28')],function(_0x31adef){return{'name':_0x31adef[_0x8a00('0x29')],'type':_0x31adef[_0x8a00('0x2a')]['key']};});_0x2f3a9f['model']=_[_0x8a00('0x27')](_0x4a6b2e,_0x8a00('0x2b'));_0x2f3a9f[_0x8a00('0x2c')]=_[_0x8a00('0x2d')](_0x13fb0b['query']);_0x2f3a9f[_0x8a00('0x2e')]=_['intersection'](_0x2f3a9f['model'],_0x2f3a9f[_0x8a00('0x2c')]);_0x349850[_0x8a00('0x2f')]=_[_0x8a00('0x30')](_0x2f3a9f['model'],qs[_0x8a00('0x31')](_0x13fb0b['query'][_0x8a00('0x31')]));_0x349850[_0x8a00('0x2f')]=_0x349850['attributes'][_0x8a00('0x32')]?_0x349850['attributes']:_0x2f3a9f[_0x8a00('0x33')];if(!_0x13fb0b[_0x8a00('0x2c')][_0x8a00('0x34')](_0x8a00('0x35'))){_0x349850[_0x8a00('0x18')]=qs[_0x8a00('0x18')](_0x13fb0b[_0x8a00('0x2c')][_0x8a00('0x18')]);_0x349850[_0x8a00('0x1b')]=qs[_0x8a00('0x1b')](_0x13fb0b[_0x8a00('0x2c')][_0x8a00('0x1b')]);}_0x349850[_0x8a00('0x36')]=qs[_0x8a00('0x37')](_0x13fb0b[_0x8a00('0x2c')][_0x8a00('0x37')]);_0x349850['where']=qs[_0x8a00('0x2e')](_[_0x8a00('0x38')](_0x13fb0b[_0x8a00('0x2c')],_0x2f3a9f[_0x8a00('0x2e')]),_0x4a6b2e);if(_0x13fb0b[_0x8a00('0x2c')]['filter']){_0x349850[_0x8a00('0x39')]=_['merge'](_0x349850[_0x8a00('0x39')],{'$or':_[_0x8a00('0x27')](_0x4a6b2e,function(_0x47ee62){if(_0x47ee62[_0x8a00('0x2a')]!==_0x8a00('0x3a')){var _0x29cb73={};_0x29cb73[_0x47ee62[_0x8a00('0x2b')]]={'$like':'%'+_0x13fb0b[_0x8a00('0x2c')][_0x8a00('0x3b')]+'%'};return _0x29cb73;}})});}_0x349850=_['merge']({},_0x349850,_0x13fb0b[_0x8a00('0x3c')]);var _0x2aad8e={'where':_0x349850[_0x8a00('0x39')]};return db['Migration'][_0x8a00('0x1a')](_0x2aad8e)[_0x8a00('0x21')](function(_0x593365){_0x557a5a['count']=_0x593365;if(_0x13fb0b['query'][_0x8a00('0x3d')]){_0x349850['include']=[{'all':!![]}];}return db[_0x8a00('0x3e')][_0x8a00('0x3f')](_0x349850);})[_0x8a00('0x21')](function(_0x59e106){_0x557a5a[_0x8a00('0x40')]=_0x59e106;return _0x557a5a;})[_0x8a00('0x21')](respondWithFilteredResult(_0xd37ff,_0x349850))['catch'](handleError(_0xd37ff,null));};