91dc2a0bbe99e38a85a1f1110fcb200e614b278b
[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 _0x07a0=['include','Migration','findAll','rows','catch','html-pdf','eml-format','zip-dir','request-promise','mustache','util','sox','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','update','then','destroy','end','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll'];(function(_0x25604a,_0x3408d4){var _0x950047=function(_0x3192bf){while(--_0x3192bf){_0x25604a['push'](_0x25604a['shift']());}};_0x950047(++_0x3408d4);}(_0x07a0,0x14f));var _0x007a=function(_0xdc0af,_0x330c8d){_0xdc0af=_0xdc0af-0x0;var _0xa07e4d=_0x07a0[_0xdc0af];return _0xa07e4d;};'use strict';var pdf=require(_0x007a('0x0'));var emlformat=require(_0x007a('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x007a('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x007a('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x007a('0x4'));var util=require(_0x007a('0x5'));var path=require('path');var sox=require(_0x007a('0x6'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x007a('0x7'));var squel=require(_0x007a('0x8'));var crypto=require(_0x007a('0x9'));var jsforce=require(_0x007a('0xa'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x007a('0xb'));var Redis=require(_0x007a('0xc'));var authService=require(_0x007a('0xd'));var qs=require(_0x007a('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x007a('0xf'));var logger=require(_0x007a('0x10'))('api');var utils=require(_0x007a('0x11'));var config=require(_0x007a('0x12'));var licenseUtil=require(_0x007a('0x13'));var db=require(_0x007a('0x14'))['db'];function respondWithStatusCode(_0x2c1cf8,_0x931562){_0x931562=_0x931562||0xcc;return function(_0x58daca){if(_0x58daca){return _0x2c1cf8[_0x007a('0x15')](_0x931562);}return _0x2c1cf8['status'](_0x931562)['end']();};}function respondWithResult(_0x5c4fac,_0x892cca){_0x892cca=_0x892cca||0xc8;return function(_0x22cabf){if(_0x22cabf){return _0x5c4fac[_0x007a('0x16')](_0x892cca)[_0x007a('0x17')](_0x22cabf);}};}function respondWithFilteredResult(_0x222057,_0x267269){return function(_0x133fe1){if(_0x133fe1){var _0x2e21e3=_0x133fe1[_0x007a('0x18')],_0x344d23=_0x267269['offset'],_0x45148a=_0x267269[_0x007a('0x19')]+_0x267269['limit'],_0x4ec3d3;if(_0x45148a>=_0x2e21e3){_0x45148a=_0x2e21e3;_0x4ec3d3=0xc8;}else{_0x4ec3d3=0xce;}_0x222057[_0x007a('0x16')](_0x4ec3d3);return _0x222057[_0x007a('0x1a')](_0x007a('0x1b'),_0x344d23+'-'+_0x45148a+'/'+_0x2e21e3)[_0x007a('0x17')](_0x133fe1);}return null;};}function patchUpdates(_0x21b3a8){return function(_0x354ea6){try{jsonpatch[_0x007a('0x1c')](_0x354ea6,_0x21b3a8,!![]);}catch(_0x3eab95){return BPromise[_0x007a('0x1d')](_0x3eab95);}return _0x354ea6['save']();};}function saveUpdates(_0x10f78f,_0x59e0d2){return function(_0x8ec469){if(_0x8ec469){return _0x8ec469[_0x007a('0x1e')](_0x10f78f)[_0x007a('0x1f')](function(_0x55154b){return _0x55154b;});}return null;};}function removeEntity(_0x782622,_0x5896d3){return function(_0x413dd4){if(_0x413dd4){return _0x413dd4[_0x007a('0x20')]()[_0x007a('0x1f')](function(){_0x782622[_0x007a('0x16')](0xcc)[_0x007a('0x21')]();});}};}function handleEntityNotFound(_0x2ca721,_0x112b60){return function(_0x44d217){if(!_0x44d217){_0x2ca721['sendStatus'](0x194);}return _0x44d217;};}function handleError(_0x25f838,_0x3e7d7b){_0x3e7d7b=_0x3e7d7b||0x1f4;return function(_0x3a5e7a){logger[_0x007a('0x22')](_0x3a5e7a[_0x007a('0x23')]);if(_0x3a5e7a[_0x007a('0x24')]){delete _0x3a5e7a[_0x007a('0x24')];}_0x25f838[_0x007a('0x16')](_0x3e7d7b)['send'](_0x3a5e7a);};}exports[_0x007a('0x25')]=function(_0x901aa6,_0x276fda){var _0x1c0dbf={},_0x366a1a={},_0x5bb7ab={'count':0x0,'rows':[]};var _0xdae1fd=_[_0x007a('0x26')](db['Migration'][_0x007a('0x27')],function(_0x19e141){return{'name':_0x19e141[_0x007a('0x28')],'type':_0x19e141[_0x007a('0x29')][_0x007a('0x2a')]};});_0x366a1a[_0x007a('0x2b')]=_[_0x007a('0x26')](_0xdae1fd,_0x007a('0x24'));_0x366a1a[_0x007a('0x2c')]=_[_0x007a('0x2d')](_0x901aa6[_0x007a('0x2c')]);_0x366a1a[_0x007a('0x2e')]=_[_0x007a('0x2f')](_0x366a1a[_0x007a('0x2b')],_0x366a1a['query']);_0x1c0dbf[_0x007a('0x30')]=_[_0x007a('0x2f')](_0x366a1a['model'],qs['fields'](_0x901aa6[_0x007a('0x2c')]['fields']));_0x1c0dbf['attributes']=_0x1c0dbf[_0x007a('0x30')][_0x007a('0x31')]?_0x1c0dbf[_0x007a('0x30')]:_0x366a1a['model'];if(!_0x901aa6['query'][_0x007a('0x32')]('nolimit')){_0x1c0dbf['limit']=qs['limit'](_0x901aa6[_0x007a('0x2c')][_0x007a('0x33')]);_0x1c0dbf[_0x007a('0x19')]=qs[_0x007a('0x19')](_0x901aa6['query']['offset']);}_0x1c0dbf[_0x007a('0x34')]=qs[_0x007a('0x35')](_0x901aa6[_0x007a('0x2c')][_0x007a('0x35')]);_0x1c0dbf['where']=qs[_0x007a('0x2e')](_[_0x007a('0x36')](_0x901aa6[_0x007a('0x2c')],_0x366a1a['filters']),_0xdae1fd);if(_0x901aa6['query'][_0x007a('0x37')]){_0x1c0dbf[_0x007a('0x38')]=_[_0x007a('0x39')](_0x1c0dbf[_0x007a('0x38')],{'$or':_['map'](_0xdae1fd,function(_0x124539){if(_0x124539['type']!==_0x007a('0x3a')){var _0x8e0be5={};_0x8e0be5[_0x124539[_0x007a('0x24')]]={'$like':'%'+_0x901aa6[_0x007a('0x2c')]['filter']+'%'};return _0x8e0be5;}})});}_0x1c0dbf=_[_0x007a('0x39')]({},_0x1c0dbf,_0x901aa6[_0x007a('0x3b')]);var _0x3f5f58={'where':_0x1c0dbf[_0x007a('0x38')]};return db['Migration'][_0x007a('0x18')](_0x3f5f58)[_0x007a('0x1f')](function(_0x33cde2){_0x5bb7ab[_0x007a('0x18')]=_0x33cde2;if(_0x901aa6[_0x007a('0x2c')][_0x007a('0x3c')]){_0x1c0dbf[_0x007a('0x3d')]=[{'all':!![]}];}return db[_0x007a('0x3e')][_0x007a('0x3f')](_0x1c0dbf);})['then'](function(_0x4885c2){_0x5bb7ab[_0x007a('0x40')]=_0x4885c2;return _0x5bb7ab;})['then'](respondWithFilteredResult(_0x276fda,_0x1c0dbf))[_0x007a('0x41')](handleError(_0x276fda,null));};