d37adfcec1b62011bc101a1f34c4067a9fba67e7
[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 _0x7e58=['map','Migration','fieldName','type','key','query','keys','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','then','include','findAll','catch','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','limit','Content-Range','apply','reject','save','end','error','stack','name','send','index'];(function(_0x53ad27,_0x348ee2){var _0x2940f2=function(_0x27ca15){while(--_0x27ca15){_0x53ad27['push'](_0x53ad27['shift']());}};_0x2940f2(++_0x348ee2);}(_0x7e58,0xe9));var _0x87e5=function(_0x570544,_0x3a1edf){_0x570544=_0x570544-0x0;var _0x432df4=_0x7e58[_0x570544];return _0x432df4;};'use strict';var pdf=require(_0x87e5('0x0'));var emlformat=require(_0x87e5('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x87e5('0x2'));var jsonpatch=require(_0x87e5('0x3'));var rp=require(_0x87e5('0x4'));var moment=require(_0x87e5('0x5'));var BPromise=require(_0x87e5('0x6'));var Mustache=require(_0x87e5('0x7'));var util=require(_0x87e5('0x8'));var path=require(_0x87e5('0x9'));var sox=require('sox');var csv=require(_0x87e5('0xa'));var ejs=require(_0x87e5('0xb'));var fs=require('fs');var _=require(_0x87e5('0xc'));var squel=require(_0x87e5('0xd'));var crypto=require(_0x87e5('0xe'));var jsforce=require(_0x87e5('0xf'));var deskjs=require(_0x87e5('0x10'));var toCsv=require('to-csv');var querystring=require(_0x87e5('0x11'));var Papa=require(_0x87e5('0x12'));var Redis=require(_0x87e5('0x13'));var authService=require(_0x87e5('0x14'));var qs=require(_0x87e5('0x15'));var as=require(_0x87e5('0x16'));var hardwareService=require(_0x87e5('0x17'));var logger=require('../../config/logger')(_0x87e5('0x18'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x87e5('0x19'));var db=require(_0x87e5('0x1a'))['db'];function respondWithStatusCode(_0x2ad195,_0x1f07ad){_0x1f07ad=_0x1f07ad||0xcc;return function(_0x3e4f46){if(_0x3e4f46){return _0x2ad195[_0x87e5('0x1b')](_0x1f07ad);}return _0x2ad195[_0x87e5('0x1c')](_0x1f07ad)['end']();};}function respondWithResult(_0x532d6b,_0x2d5022){_0x2d5022=_0x2d5022||0xc8;return function(_0x38e8fa){if(_0x38e8fa){return _0x532d6b[_0x87e5('0x1c')](_0x2d5022)[_0x87e5('0x1d')](_0x38e8fa);}};}function respondWithFilteredResult(_0x18b021,_0x5e6b0f){return function(_0xc6ba33){if(_0xc6ba33){var _0x5cc86a=_0xc6ba33[_0x87e5('0x1e')],_0x415176=_0x5e6b0f[_0x87e5('0x1f')],_0x5d4312=_0x5e6b0f[_0x87e5('0x1f')]+_0x5e6b0f[_0x87e5('0x20')],_0x46bb41;if(_0x5d4312>=_0x5cc86a){_0x5d4312=_0x5cc86a;_0x46bb41=0xc8;}else{_0x46bb41=0xce;}_0x18b021['status'](_0x46bb41);return _0x18b021['set'](_0x87e5('0x21'),_0x415176+'-'+_0x5d4312+'/'+_0x5cc86a)[_0x87e5('0x1d')](_0xc6ba33);}return null;};}function patchUpdates(_0x5bc60c){return function(_0x314eef){try{jsonpatch[_0x87e5('0x22')](_0x314eef,_0x5bc60c,!![]);}catch(_0x22b35d){return BPromise[_0x87e5('0x23')](_0x22b35d);}return _0x314eef[_0x87e5('0x24')]();};}function saveUpdates(_0x41dcfd,_0x25ee91){return function(_0x28ffbb){if(_0x28ffbb){return _0x28ffbb['update'](_0x41dcfd)['then'](function(_0xd3b56b){return _0xd3b56b;});}return null;};}function removeEntity(_0x3c9c6f,_0x39f4eb){return function(_0xf353b5){if(_0xf353b5){return _0xf353b5['destroy']()['then'](function(){_0x3c9c6f[_0x87e5('0x1c')](0xcc)[_0x87e5('0x25')]();});}};}function handleEntityNotFound(_0x32cfb7,_0x15423a){return function(_0xa5134f){if(!_0xa5134f){_0x32cfb7[_0x87e5('0x1b')](0x194);}return _0xa5134f;};}function handleError(_0x555450,_0x582083){_0x582083=_0x582083||0x1f4;return function(_0x5049dd){logger[_0x87e5('0x26')](_0x5049dd[_0x87e5('0x27')]);if(_0x5049dd['name']){delete _0x5049dd[_0x87e5('0x28')];}_0x555450[_0x87e5('0x1c')](_0x582083)[_0x87e5('0x29')](_0x5049dd);};}exports[_0x87e5('0x2a')]=function(_0x362b36,_0x1a8912){var _0x2381da={},_0x2e7123={},_0x3de089={'count':0x0,'rows':[]};var _0x42d668=_[_0x87e5('0x2b')](db[_0x87e5('0x2c')]['rawAttributes'],function(_0x555aad){return{'name':_0x555aad[_0x87e5('0x2d')],'type':_0x555aad[_0x87e5('0x2e')][_0x87e5('0x2f')]};});_0x2e7123['model']=_[_0x87e5('0x2b')](_0x42d668,'name');_0x2e7123[_0x87e5('0x30')]=_[_0x87e5('0x31')](_0x362b36[_0x87e5('0x30')]);_0x2e7123[_0x87e5('0x32')]=_['intersection'](_0x2e7123[_0x87e5('0x33')],_0x2e7123[_0x87e5('0x30')]);_0x2381da[_0x87e5('0x34')]=_[_0x87e5('0x35')](_0x2e7123[_0x87e5('0x33')],qs[_0x87e5('0x36')](_0x362b36['query'][_0x87e5('0x36')]));_0x2381da['attributes']=_0x2381da[_0x87e5('0x34')][_0x87e5('0x37')]?_0x2381da[_0x87e5('0x34')]:_0x2e7123[_0x87e5('0x33')];if(!_0x362b36['query'][_0x87e5('0x38')](_0x87e5('0x39'))){_0x2381da[_0x87e5('0x20')]=qs[_0x87e5('0x20')](_0x362b36['query'][_0x87e5('0x20')]);_0x2381da['offset']=qs[_0x87e5('0x1f')](_0x362b36[_0x87e5('0x30')][_0x87e5('0x1f')]);}_0x2381da[_0x87e5('0x3a')]=qs[_0x87e5('0x3b')](_0x362b36[_0x87e5('0x30')]['sort']);_0x2381da[_0x87e5('0x3c')]=qs[_0x87e5('0x32')](_['pick'](_0x362b36[_0x87e5('0x30')],_0x2e7123['filters']),_0x42d668);if(_0x362b36[_0x87e5('0x30')][_0x87e5('0x3d')]){_0x2381da[_0x87e5('0x3c')]=_[_0x87e5('0x3e')](_0x2381da['where'],{'$or':_[_0x87e5('0x2b')](_0x42d668,function(_0x2160c4){if(_0x2160c4[_0x87e5('0x2e')]!==_0x87e5('0x3f')){var _0x10c18d={};_0x10c18d[_0x2160c4[_0x87e5('0x28')]]={'$like':'%'+_0x362b36[_0x87e5('0x30')][_0x87e5('0x3d')]+'%'};return _0x10c18d;}})});}_0x2381da=_['merge']({},_0x2381da,_0x362b36[_0x87e5('0x40')]);var _0x18f92d={'where':_0x2381da['where']};return db[_0x87e5('0x2c')]['count'](_0x18f92d)[_0x87e5('0x41')](function(_0x2f5066){_0x3de089[_0x87e5('0x1e')]=_0x2f5066;if(_0x362b36[_0x87e5('0x30')]['includeAll']){_0x2381da[_0x87e5('0x42')]=[{'all':!![]}];}return db[_0x87e5('0x2c')][_0x87e5('0x43')](_0x2381da);})['then'](function(_0x573823){_0x3de089['rows']=_0x573823;return _0x3de089;})['then'](respondWithFilteredResult(_0x1a8912,_0x2381da))[_0x87e5('0x44')](handleError(_0x1a8912,null));};