Built motion from commit (unavailable).|2.5.31
[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 _0x76b6=['options','Migration','includeAll','findAll','rows','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','offset','undefined','limit','count','set','json','reject','update','destroy','then','sendStatus','error','stack','name','index','map','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','type'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x76b6,0x15e));var _0x676b=function(_0xa218df,_0x2ea9f4){_0xa218df=_0xa218df-0x0;var _0x313715=_0x76b6[_0xa218df];return _0x313715;};'use strict';var emlformat=require(_0x676b('0x0'));var rimraf=require(_0x676b('0x1'));var zipdir=require(_0x676b('0x2'));var jsonpatch=require(_0x676b('0x3'));var rp=require('request-promise');var moment=require(_0x676b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x676b('0x5'));var util=require(_0x676b('0x6'));var path=require('path');var sox=require(_0x676b('0x7'));var csv=require(_0x676b('0x8'));var ejs=require(_0x676b('0x9'));var fs=require('fs');var fs_extra=require(_0x676b('0xa'));var _=require(_0x676b('0xb'));var squel=require(_0x676b('0xc'));var crypto=require(_0x676b('0xd'));var jsforce=require(_0x676b('0xe'));var deskjs=require(_0x676b('0xf'));var toCsv=require('to-csv');var querystring=require(_0x676b('0x10'));var Papa=require(_0x676b('0x11'));var Redis=require('ioredis');var authService=require(_0x676b('0x12'));var qs=require(_0x676b('0x13'));var as=require(_0x676b('0x14'));var hardwareService=require(_0x676b('0x15'));var logger=require(_0x676b('0x16'))(_0x676b('0x17'));var utils=require(_0x676b('0x18'));var config=require(_0x676b('0x19'));var licenseUtil=require(_0x676b('0x1a'));var db=require(_0x676b('0x1b'))['db'];function respondWithStatusCode(_0x59041a,_0x4700cd){_0x4700cd=_0x4700cd||0xcc;return function(_0x142768){if(_0x142768){return _0x59041a['sendStatus'](_0x4700cd);}return _0x59041a['status'](_0x4700cd)[_0x676b('0x1c')]();};}function respondWithResult(_0x25023a,_0x241e70){_0x241e70=_0x241e70||0xc8;return function(_0xe3313b){if(_0xe3313b){return _0x25023a[_0x676b('0x1d')](_0x241e70)['json'](_0xe3313b);}};}function respondWithFilteredResult(_0xb11831,_0xe2f78e){return function(_0xbacb43){if(_0xbacb43){var _0x1cb5a5=typeof _0xe2f78e[_0x676b('0x1e')]===_0x676b('0x1f')&&typeof _0xe2f78e[_0x676b('0x20')]===_0x676b('0x1f');var _0x37e545=_0xbacb43[_0x676b('0x21')];var _0x5e5d3a=_0x1cb5a5?0x0:_0xe2f78e[_0x676b('0x1e')];var _0x7603e8=_0x1cb5a5?_0xbacb43[_0x676b('0x21')]:_0xe2f78e['offset']+_0xe2f78e['limit'];var _0x493eef;if(_0x7603e8>=_0x37e545){_0x7603e8=_0x37e545;_0x493eef=0xc8;}else{_0x493eef=0xce;}_0xb11831[_0x676b('0x1d')](_0x493eef);return _0xb11831[_0x676b('0x22')]('Content-Range',_0x5e5d3a+'-'+_0x7603e8+'/'+_0x37e545)[_0x676b('0x23')](_0xbacb43);}return null;};}function patchUpdates(_0x3d1156){return function(_0x259965){try{jsonpatch['apply'](_0x259965,_0x3d1156,!![]);}catch(_0xb16070){return BPromise[_0x676b('0x24')](_0xb16070);}return _0x259965['save']();};}function saveUpdates(_0x45c32d,_0x2a0a1a){return function(_0x3bc169){if(_0x3bc169){return _0x3bc169[_0x676b('0x25')](_0x45c32d)['then'](function(_0x3bd935){return _0x3bd935;});}return null;};}function removeEntity(_0x3150fe,_0x38133b){return function(_0x12310b){if(_0x12310b){return _0x12310b[_0x676b('0x26')]()[_0x676b('0x27')](function(){_0x3150fe[_0x676b('0x1d')](0xcc)[_0x676b('0x1c')]();});}};}function handleEntityNotFound(_0x26efc8,_0x260b47){return function(_0x4ec8d0){if(!_0x4ec8d0){_0x26efc8[_0x676b('0x28')](0x194);}return _0x4ec8d0;};}function handleError(_0x22a96a,_0x3314db){_0x3314db=_0x3314db||0x1f4;return function(_0x125f97){logger[_0x676b('0x29')](_0x125f97[_0x676b('0x2a')]);if(_0x125f97[_0x676b('0x2b')]){delete _0x125f97[_0x676b('0x2b')];}_0x22a96a[_0x676b('0x1d')](_0x3314db)['send'](_0x125f97);};}exports[_0x676b('0x2c')]=function(_0x3a0e98,_0x3e441c){var _0x11264f={},_0x2a981f={},_0x354b28={'count':0x0,'rows':[]};var _0x941f6b=_[_0x676b('0x2d')](db['Migration'][_0x676b('0x2e')],function(_0x2928d1){return{'name':_0x2928d1[_0x676b('0x2f')],'type':_0x2928d1['type'][_0x676b('0x30')]};});_0x2a981f[_0x676b('0x31')]=_[_0x676b('0x2d')](_0x941f6b,_0x676b('0x2b'));_0x2a981f[_0x676b('0x32')]=_[_0x676b('0x33')](_0x3a0e98[_0x676b('0x32')]);_0x2a981f['filters']=_[_0x676b('0x34')](_0x2a981f[_0x676b('0x31')],_0x2a981f[_0x676b('0x32')]);_0x11264f[_0x676b('0x35')]=_[_0x676b('0x34')](_0x2a981f[_0x676b('0x31')],qs[_0x676b('0x36')](_0x3a0e98[_0x676b('0x32')]['fields']));_0x11264f['attributes']=_0x11264f[_0x676b('0x35')][_0x676b('0x37')]?_0x11264f[_0x676b('0x35')]:_0x2a981f[_0x676b('0x31')];if(!_0x3a0e98[_0x676b('0x32')][_0x676b('0x38')](_0x676b('0x39'))){_0x11264f[_0x676b('0x20')]=qs['limit'](_0x3a0e98['query'][_0x676b('0x20')]);_0x11264f[_0x676b('0x1e')]=qs['offset'](_0x3a0e98[_0x676b('0x32')][_0x676b('0x1e')]);}_0x11264f[_0x676b('0x3a')]=qs[_0x676b('0x3b')](_0x3a0e98[_0x676b('0x32')][_0x676b('0x3b')]);_0x11264f['where']=qs['filters'](_['pick'](_0x3a0e98[_0x676b('0x32')],_0x2a981f['filters']),_0x941f6b);if(_0x3a0e98[_0x676b('0x32')][_0x676b('0x3c')]){_0x11264f[_0x676b('0x3d')]=_[_0x676b('0x3e')](_0x11264f['where'],{'$or':_[_0x676b('0x2d')](_0x941f6b,function(_0x181052){if(_0x181052[_0x676b('0x3f')]!=='VIRTUAL'){var _0x5250de={};_0x5250de[_0x181052['name']]={'$like':'%'+_0x3a0e98[_0x676b('0x32')]['filter']+'%'};return _0x5250de;}})});}_0x11264f=_[_0x676b('0x3e')]({},_0x11264f,_0x3a0e98[_0x676b('0x40')]);var _0x358b42={'where':_0x11264f[_0x676b('0x3d')]};return db[_0x676b('0x41')][_0x676b('0x21')](_0x358b42)['then'](function(_0xcf0d91){_0x354b28[_0x676b('0x21')]=_0xcf0d91;if(_0x3a0e98[_0x676b('0x32')][_0x676b('0x42')]){_0x11264f['include']=[{'all':!![]}];}return db['Migration'][_0x676b('0x43')](_0x11264f);})[_0x676b('0x27')](function(_0x1d22ab){_0x354b28[_0x676b('0x44')]=_0x1d22ab;return _0x354b28;})[_0x676b('0x27')](respondWithFilteredResult(_0x3e441c,_0x11264f))['catch'](handleError(_0x3e441c,null));};