Built motion from commit (unavailable).|2.5.11
[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 _0x6ed4=['fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','to-csv','ejs','lodash','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','count','offset','apply','reject','save','update','destroy','then','sendStatus','error','name','map','Migration','rawAttributes'];(function(_0x2486a4,_0x3e3650){var _0x14cf68=function(_0x1b6f40){while(--_0x1b6f40){_0x2486a4['push'](_0x2486a4['shift']());}};_0x14cf68(++_0x3e3650);}(_0x6ed4,0x1e6));var _0x46ed=function(_0x388c0e,_0x492355){_0x388c0e=_0x388c0e-0x0;var _0x226ae9=_0x6ed4[_0x388c0e];return _0x226ae9;};'use strict';var pdf=require(_0x46ed('0x0'));var emlformat=require(_0x46ed('0x1'));var rimraf=require(_0x46ed('0x2'));var zipdir=require(_0x46ed('0x3'));var jsonpatch=require(_0x46ed('0x4'));var rp=require('request-promise');var moment=require(_0x46ed('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x46ed('0x6'));var util=require(_0x46ed('0x7'));var path=require(_0x46ed('0x8'));var sox=require('sox');var csv=require(_0x46ed('0x9'));var ejs=require(_0x46ed('0xa'));var fs=require('fs');var _=require(_0x46ed('0xb'));var squel=require('squel');var crypto=require(_0x46ed('0xc'));var jsforce=require(_0x46ed('0xd'));var deskjs=require(_0x46ed('0xe'));var toCsv=require(_0x46ed('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x46ed('0xf'));var authService=require(_0x46ed('0x10'));var qs=require(_0x46ed('0x11'));var as=require(_0x46ed('0x12'));var hardwareService=require(_0x46ed('0x13'));var logger=require(_0x46ed('0x14'))(_0x46ed('0x15'));var utils=require(_0x46ed('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x46ed('0x17'));var db=require(_0x46ed('0x18'))['db'];function respondWithStatusCode(_0x3e37ec,_0x23c362){_0x23c362=_0x23c362||0xcc;return function(_0x2ba246){if(_0x2ba246){return _0x3e37ec['sendStatus'](_0x23c362);}return _0x3e37ec[_0x46ed('0x19')](_0x23c362)[_0x46ed('0x1a')]();};}function respondWithResult(_0x32e11d,_0x5b7913){_0x5b7913=_0x5b7913||0xc8;return function(_0x5a3822){if(_0x5a3822){return _0x32e11d[_0x46ed('0x19')](_0x5b7913)[_0x46ed('0x1b')](_0x5a3822);}};}function respondWithFilteredResult(_0x550507,_0x5acfe7){return function(_0x239f21){if(_0x239f21){var _0x46dc07=_0x239f21[_0x46ed('0x1c')],_0x287388=_0x5acfe7['offset'],_0x5cf81b=_0x5acfe7[_0x46ed('0x1d')]+_0x5acfe7['limit'],_0x21f4e8;if(_0x5cf81b>=_0x46dc07){_0x5cf81b=_0x46dc07;_0x21f4e8=0xc8;}else{_0x21f4e8=0xce;}_0x550507['status'](_0x21f4e8);return _0x550507['set']('Content-Range',_0x287388+'-'+_0x5cf81b+'/'+_0x46dc07)[_0x46ed('0x1b')](_0x239f21);}return null;};}function patchUpdates(_0x1d86b2){return function(_0x12143c){try{jsonpatch[_0x46ed('0x1e')](_0x12143c,_0x1d86b2,!![]);}catch(_0xec2426){return BPromise[_0x46ed('0x1f')](_0xec2426);}return _0x12143c[_0x46ed('0x20')]();};}function saveUpdates(_0x160689,_0x2530df){return function(_0x2b5daa){if(_0x2b5daa){return _0x2b5daa[_0x46ed('0x21')](_0x160689)['then'](function(_0x46830c){return _0x46830c;});}return null;};}function removeEntity(_0x559203,_0x1dd863){return function(_0x3f9183){if(_0x3f9183){return _0x3f9183[_0x46ed('0x22')]()[_0x46ed('0x23')](function(){_0x559203[_0x46ed('0x19')](0xcc)[_0x46ed('0x1a')]();});}};}function handleEntityNotFound(_0xe56440,_0x4ee383){return function(_0x321814){if(!_0x321814){_0xe56440[_0x46ed('0x24')](0x194);}return _0x321814;};}function handleError(_0x103f0b,_0x57af19){_0x57af19=_0x57af19||0x1f4;return function(_0x134b55){logger[_0x46ed('0x25')](_0x134b55['stack']);if(_0x134b55[_0x46ed('0x26')]){delete _0x134b55[_0x46ed('0x26')];}_0x103f0b['status'](_0x57af19)['send'](_0x134b55);};}exports['index']=function(_0xb860a8,_0x170363){var _0x40129b={},_0x54b0d8={},_0x55186f={'count':0x0,'rows':[]};var _0x3c458d=_[_0x46ed('0x27')](db[_0x46ed('0x28')][_0x46ed('0x29')],function(_0x27b381){return{'name':_0x27b381[_0x46ed('0x2a')],'type':_0x27b381[_0x46ed('0x2b')]['key']};});_0x54b0d8[_0x46ed('0x2c')]=_[_0x46ed('0x27')](_0x3c458d,_0x46ed('0x26'));_0x54b0d8[_0x46ed('0x2d')]=_[_0x46ed('0x2e')](_0xb860a8[_0x46ed('0x2d')]);_0x54b0d8[_0x46ed('0x2f')]=_[_0x46ed('0x30')](_0x54b0d8[_0x46ed('0x2c')],_0x54b0d8[_0x46ed('0x2d')]);_0x40129b[_0x46ed('0x31')]=_[_0x46ed('0x30')](_0x54b0d8['model'],qs[_0x46ed('0x32')](_0xb860a8[_0x46ed('0x2d')]['fields']));_0x40129b[_0x46ed('0x31')]=_0x40129b[_0x46ed('0x31')][_0x46ed('0x33')]?_0x40129b[_0x46ed('0x31')]:_0x54b0d8[_0x46ed('0x2c')];if(!_0xb860a8[_0x46ed('0x2d')][_0x46ed('0x34')](_0x46ed('0x35'))){_0x40129b[_0x46ed('0x36')]=qs[_0x46ed('0x36')](_0xb860a8[_0x46ed('0x2d')][_0x46ed('0x36')]);_0x40129b[_0x46ed('0x1d')]=qs[_0x46ed('0x1d')](_0xb860a8['query'][_0x46ed('0x1d')]);}_0x40129b[_0x46ed('0x37')]=qs[_0x46ed('0x38')](_0xb860a8[_0x46ed('0x2d')][_0x46ed('0x38')]);_0x40129b['where']=qs[_0x46ed('0x2f')](_[_0x46ed('0x39')](_0xb860a8['query'],_0x54b0d8[_0x46ed('0x2f')]),_0x3c458d);if(_0xb860a8['query'][_0x46ed('0x3a')]){_0x40129b[_0x46ed('0x3b')]=_[_0x46ed('0x3c')](_0x40129b['where'],{'$or':_[_0x46ed('0x27')](_0x3c458d,function(_0x42eb32){if(_0x42eb32['type']!==_0x46ed('0x3d')){var _0x16832f={};_0x16832f[_0x42eb32[_0x46ed('0x26')]]={'$like':'%'+_0xb860a8[_0x46ed('0x2d')][_0x46ed('0x3a')]+'%'};return _0x16832f;}})});}_0x40129b=_['merge']({},_0x40129b,_0xb860a8[_0x46ed('0x3e')]);var _0x1ee555={'where':_0x40129b['where']};return db[_0x46ed('0x28')][_0x46ed('0x1c')](_0x1ee555)[_0x46ed('0x23')](function(_0x1be2a5){_0x55186f[_0x46ed('0x1c')]=_0x1be2a5;if(_0xb860a8[_0x46ed('0x2d')][_0x46ed('0x3f')]){_0x40129b[_0x46ed('0x40')]=[{'all':!![]}];}return db['Migration'][_0x46ed('0x41')](_0x40129b);})['then'](function(_0x3876b6){_0x55186f['rows']=_0x3876b6;return _0x55186f;})[_0x46ed('0x23')](respondWithFilteredResult(_0x170363,_0x40129b))['catch'](handleError(_0x170363,null));};