Built motion from commit 85328c08.|2.5.50
[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 _0xbeb6=['end','json','offset','undefined','limit','count','reject','save','update','then','destroy','sendStatus','name','index','Migration','fieldName','type','key','model','map','query','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','includeAll','include','rows','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','status'];(function(_0x5f13f8,_0x2337cb){var _0xdabca4=function(_0x1e814d){while(--_0x1e814d){_0x5f13f8['push'](_0x5f13f8['shift']());}};_0xdabca4(++_0x2337cb);}(_0xbeb6,0xa3));var _0x6beb=function(_0x418b55,_0x462931){_0x418b55=_0x418b55-0x0;var _0x1675fa=_0xbeb6[_0x418b55];return _0x1675fa;};'use strict';var emlformat=require(_0x6beb('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6beb('0x1'));var jsonpatch=require(_0x6beb('0x2'));var rp=require('request-promise');var moment=require(_0x6beb('0x3'));var BPromise=require(_0x6beb('0x4'));var Mustache=require(_0x6beb('0x5'));var util=require(_0x6beb('0x6'));var path=require(_0x6beb('0x7'));var sox=require(_0x6beb('0x8'));var csv=require(_0x6beb('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6beb('0xa'));var _=require(_0x6beb('0xb'));var squel=require(_0x6beb('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x6beb('0xd'));var toCsv=require(_0x6beb('0x9'));var querystring=require(_0x6beb('0xe'));var Papa=require(_0x6beb('0xf'));var Redis=require(_0x6beb('0x10'));var authService=require(_0x6beb('0x11'));var qs=require(_0x6beb('0x12'));var as=require(_0x6beb('0x13'));var hardwareService=require(_0x6beb('0x14'));var logger=require(_0x6beb('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x6beb('0x16'));var licenseUtil=require(_0x6beb('0x17'));var db=require(_0x6beb('0x18'))['db'];function respondWithStatusCode(_0x42efd4,_0x39c94f){_0x39c94f=_0x39c94f||0xcc;return function(_0x5b2da0){if(_0x5b2da0){return _0x42efd4['sendStatus'](_0x39c94f);}return _0x42efd4[_0x6beb('0x19')](_0x39c94f)[_0x6beb('0x1a')]();};}function respondWithResult(_0x21b55b,_0x51d189){_0x51d189=_0x51d189||0xc8;return function(_0x3bae51){if(_0x3bae51){return _0x21b55b[_0x6beb('0x19')](_0x51d189)[_0x6beb('0x1b')](_0x3bae51);}};}function respondWithFilteredResult(_0x41c9c0,_0x508c89){return function(_0x321b88){if(_0x321b88){var _0x12382e=typeof _0x508c89[_0x6beb('0x1c')]===_0x6beb('0x1d')&&typeof _0x508c89[_0x6beb('0x1e')]==='undefined';var _0x123296=_0x321b88[_0x6beb('0x1f')];var _0x467687=_0x12382e?0x0:_0x508c89[_0x6beb('0x1c')];var _0x801151=_0x12382e?_0x321b88['count']:_0x508c89[_0x6beb('0x1c')]+_0x508c89['limit'];var _0x3a48e1;if(_0x801151>=_0x123296){_0x801151=_0x123296;_0x3a48e1=0xc8;}else{_0x3a48e1=0xce;}_0x41c9c0[_0x6beb('0x19')](_0x3a48e1);return _0x41c9c0['set']('Content-Range',_0x467687+'-'+_0x801151+'/'+_0x123296)[_0x6beb('0x1b')](_0x321b88);}return null;};}function patchUpdates(_0x5b2aa0){return function(_0x2d32d7){try{jsonpatch['apply'](_0x2d32d7,_0x5b2aa0,!![]);}catch(_0x38d22e){return BPromise[_0x6beb('0x20')](_0x38d22e);}return _0x2d32d7[_0x6beb('0x21')]();};}function saveUpdates(_0x411a1c,_0x536bdc){return function(_0x448d5d){if(_0x448d5d){return _0x448d5d[_0x6beb('0x22')](_0x411a1c)[_0x6beb('0x23')](function(_0x55ad7a){return _0x55ad7a;});}return null;};}function removeEntity(_0x451b8,_0x3d2468){return function(_0x332763){if(_0x332763){return _0x332763[_0x6beb('0x24')]()[_0x6beb('0x23')](function(){_0x451b8['status'](0xcc)[_0x6beb('0x1a')]();});}};}function handleEntityNotFound(_0x1f4ade,_0x15e1ff){return function(_0x1caaa4){if(!_0x1caaa4){_0x1f4ade[_0x6beb('0x25')](0x194);}return _0x1caaa4;};}function handleError(_0x2365cd,_0x40a2c4){_0x40a2c4=_0x40a2c4||0x1f4;return function(_0x1ee7fc){logger['error'](_0x1ee7fc['stack']);if(_0x1ee7fc[_0x6beb('0x26')]){delete _0x1ee7fc[_0x6beb('0x26')];}_0x2365cd[_0x6beb('0x19')](_0x40a2c4)['send'](_0x1ee7fc);};}exports[_0x6beb('0x27')]=function(_0x4620d3,_0x4b4a64){var _0x500de4={},_0x2e55f0={},_0x16f1c3={'count':0x0,'rows':[]};var _0x56d794=_['map'](db[_0x6beb('0x28')]['rawAttributes'],function(_0x2409e6){return{'name':_0x2409e6[_0x6beb('0x29')],'type':_0x2409e6[_0x6beb('0x2a')][_0x6beb('0x2b')]};});_0x2e55f0[_0x6beb('0x2c')]=_[_0x6beb('0x2d')](_0x56d794,'name');_0x2e55f0['query']=_['keys'](_0x4620d3[_0x6beb('0x2e')]);_0x2e55f0[_0x6beb('0x2f')]=_['intersection'](_0x2e55f0['model'],_0x2e55f0[_0x6beb('0x2e')]);_0x500de4[_0x6beb('0x30')]=_[_0x6beb('0x31')](_0x2e55f0[_0x6beb('0x2c')],qs[_0x6beb('0x32')](_0x4620d3[_0x6beb('0x2e')][_0x6beb('0x32')]));_0x500de4[_0x6beb('0x30')]=_0x500de4[_0x6beb('0x30')]['length']?_0x500de4[_0x6beb('0x30')]:_0x2e55f0['model'];if(!_0x4620d3['query'][_0x6beb('0x33')](_0x6beb('0x34'))){_0x500de4[_0x6beb('0x1e')]=qs[_0x6beb('0x1e')](_0x4620d3[_0x6beb('0x2e')][_0x6beb('0x1e')]);_0x500de4[_0x6beb('0x1c')]=qs[_0x6beb('0x1c')](_0x4620d3[_0x6beb('0x2e')][_0x6beb('0x1c')]);}_0x500de4[_0x6beb('0x35')]=qs[_0x6beb('0x36')](_0x4620d3[_0x6beb('0x2e')][_0x6beb('0x36')]);_0x500de4['where']=qs[_0x6beb('0x2f')](_[_0x6beb('0x37')](_0x4620d3['query'],_0x2e55f0[_0x6beb('0x2f')]),_0x56d794);if(_0x4620d3[_0x6beb('0x2e')][_0x6beb('0x38')]){_0x500de4[_0x6beb('0x39')]=_[_0x6beb('0x3a')](_0x500de4[_0x6beb('0x39')],{'$or':_['map'](_0x56d794,function(_0x5b3c93){if(_0x5b3c93['type']!==_0x6beb('0x3b')){var _0x882823={};_0x882823[_0x5b3c93[_0x6beb('0x26')]]={'$like':'%'+_0x4620d3['query'][_0x6beb('0x38')]+'%'};return _0x882823;}})});}_0x500de4=_[_0x6beb('0x3a')]({},_0x500de4,_0x4620d3['options']);var _0x41faac={'where':_0x500de4[_0x6beb('0x39')]};return db[_0x6beb('0x28')]['count'](_0x41faac)['then'](function(_0x3a070d){_0x16f1c3[_0x6beb('0x1f')]=_0x3a070d;if(_0x4620d3['query'][_0x6beb('0x3c')]){_0x500de4[_0x6beb('0x3d')]=[{'all':!![]}];}return db[_0x6beb('0x28')]['findAll'](_0x500de4);})[_0x6beb('0x23')](function(_0x3503b1){_0x16f1c3[_0x6beb('0x3e')]=_0x3503b1;return _0x16f1c3;})[_0x6beb('0x23')](respondWithFilteredResult(_0x4b4a64,_0x500de4))['catch'](handleError(_0x4b4a64,null));};