Built motion from commit (unavailable).|2.5.0
[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 _0xb43b=['filters','pick','filter','merge','options','count','includeAll','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','ejs','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','offset','limit','Content-Range','reject','save','update','destroy','then','end','error','stack','name','send','index','map','Migration','rawAttributes','type','model','query','intersection','fields','attributes','length','hasOwnProperty','order','sort','where'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xb43b,0x1b2));var _0xbb43=function(_0x576af3,_0x2485b7){_0x576af3=_0x576af3-0x0;var _0x2670b2=_0xb43b[_0x576af3];return _0x2670b2;};'use strict';var pdf=require(_0xbb43('0x0'));var emlformat=require(_0xbb43('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xbb43('0x2'));var jsonpatch=require(_0xbb43('0x3'));var rp=require(_0xbb43('0x4'));var moment=require('moment');var BPromise=require(_0xbb43('0x5'));var Mustache=require(_0xbb43('0x6'));var util=require(_0xbb43('0x7'));var path=require(_0xbb43('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xbb43('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xbb43('0xa'));var crypto=require(_0xbb43('0xb'));var jsforce=require(_0xbb43('0xc'));var deskjs=require(_0xbb43('0xd'));var toCsv=require(_0xbb43('0xe'));var querystring=require('querystring');var Papa=require(_0xbb43('0xf'));var Redis=require(_0xbb43('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xbb43('0x11'));var as=require(_0xbb43('0x12'));var hardwareService=require(_0xbb43('0x13'));var logger=require(_0xbb43('0x14'))(_0xbb43('0x15'));var utils=require(_0xbb43('0x16'));var config=require('../../config/environment');var db=require(_0xbb43('0x17'))['db'];function respondWithStatusCode(_0x2a5a4d,_0x50e2c0){_0x50e2c0=_0x50e2c0||0xcc;return function(_0x578392){if(_0x578392){return _0x2a5a4d[_0xbb43('0x18')](_0x50e2c0);}return _0x2a5a4d['status'](_0x50e2c0)['end']();};}function respondWithResult(_0x438591,_0x5a509f){_0x5a509f=_0x5a509f||0xc8;return function(_0x68d45d){if(_0x68d45d){return _0x438591[_0xbb43('0x19')](_0x5a509f)['json'](_0x68d45d);}};}function respondWithFilteredResult(_0x4a6e18,_0x4d5bcf){return function(_0x338120){if(_0x338120){var _0x2abce0=_0x338120['count'],_0x57bd1d=_0x4d5bcf['offset'],_0x526330=_0x4d5bcf[_0xbb43('0x1a')]+_0x4d5bcf[_0xbb43('0x1b')],_0x202980;if(_0x526330>=_0x2abce0){_0x526330=_0x2abce0;_0x202980=0xc8;}else{_0x202980=0xce;}_0x4a6e18[_0xbb43('0x19')](_0x202980);return _0x4a6e18['set'](_0xbb43('0x1c'),_0x57bd1d+'-'+_0x526330+'/'+_0x2abce0)['json'](_0x338120);}return null;};}function patchUpdates(_0x3bb57d){return function(_0x8e6429){try{jsonpatch['apply'](_0x8e6429,_0x3bb57d,!![]);}catch(_0x5d765b){return BPromise[_0xbb43('0x1d')](_0x5d765b);}return _0x8e6429[_0xbb43('0x1e')]();};}function saveUpdates(_0xdb7f2e,_0x2bf2d4){return function(_0x5bcce7){if(_0x5bcce7){return _0x5bcce7[_0xbb43('0x1f')](_0xdb7f2e)['then'](function(_0x3a257d){return _0x3a257d;});}return null;};}function removeEntity(_0x4bfaca,_0x2f5e31){return function(_0x565256){if(_0x565256){return _0x565256[_0xbb43('0x20')]()[_0xbb43('0x21')](function(){_0x4bfaca['status'](0xcc)[_0xbb43('0x22')]();});}};}function handleEntityNotFound(_0x4dfb7f,_0xf24e60){return function(_0x298ce2){if(!_0x298ce2){_0x4dfb7f[_0xbb43('0x18')](0x194);}return _0x298ce2;};}function handleError(_0x4d6d77,_0x53f0d5){_0x53f0d5=_0x53f0d5||0x1f4;return function(_0x59a24d){logger[_0xbb43('0x23')](_0x59a24d[_0xbb43('0x24')]);if(_0x59a24d['name']){delete _0x59a24d[_0xbb43('0x25')];}_0x4d6d77[_0xbb43('0x19')](_0x53f0d5)[_0xbb43('0x26')](_0x59a24d);};}exports[_0xbb43('0x27')]=function(_0x4ed43f,_0x4b5342){var _0x27fd7a={},_0x42800f={},_0xa88db0={'count':0x0,'rows':[]};var _0x8b3205=_[_0xbb43('0x28')](db[_0xbb43('0x29')][_0xbb43('0x2a')],function(_0x473828){return{'name':_0x473828['fieldName'],'type':_0x473828[_0xbb43('0x2b')]['key']};});_0x42800f[_0xbb43('0x2c')]=_[_0xbb43('0x28')](_0x8b3205,_0xbb43('0x25'));_0x42800f[_0xbb43('0x2d')]=_['keys'](_0x4ed43f[_0xbb43('0x2d')]);_0x42800f['filters']=_['intersection'](_0x42800f['model'],_0x42800f[_0xbb43('0x2d')]);_0x27fd7a['attributes']=_[_0xbb43('0x2e')](_0x42800f[_0xbb43('0x2c')],qs[_0xbb43('0x2f')](_0x4ed43f['query'][_0xbb43('0x2f')]));_0x27fd7a[_0xbb43('0x30')]=_0x27fd7a[_0xbb43('0x30')][_0xbb43('0x31')]?_0x27fd7a[_0xbb43('0x30')]:_0x42800f[_0xbb43('0x2c')];if(!_0x4ed43f[_0xbb43('0x2d')][_0xbb43('0x32')]('nolimit')){_0x27fd7a[_0xbb43('0x1b')]=qs[_0xbb43('0x1b')](_0x4ed43f[_0xbb43('0x2d')][_0xbb43('0x1b')]);_0x27fd7a[_0xbb43('0x1a')]=qs[_0xbb43('0x1a')](_0x4ed43f[_0xbb43('0x2d')][_0xbb43('0x1a')]);}_0x27fd7a[_0xbb43('0x33')]=qs[_0xbb43('0x34')](_0x4ed43f[_0xbb43('0x2d')][_0xbb43('0x34')]);_0x27fd7a[_0xbb43('0x35')]=qs[_0xbb43('0x36')](_[_0xbb43('0x37')](_0x4ed43f[_0xbb43('0x2d')],_0x42800f['filters']),_0x8b3205);if(_0x4ed43f[_0xbb43('0x2d')][_0xbb43('0x38')]){_0x27fd7a['where']=_[_0xbb43('0x39')](_0x27fd7a[_0xbb43('0x35')],{'$or':_[_0xbb43('0x28')](_0x8b3205,function(_0x5374a2){if(_0x5374a2['type']!=='VIRTUAL'){var _0x40df31={};_0x40df31[_0x5374a2[_0xbb43('0x25')]]={'$like':'%'+_0x4ed43f['query']['filter']+'%'};return _0x40df31;}})});}_0x27fd7a=_[_0xbb43('0x39')]({},_0x27fd7a,_0x4ed43f[_0xbb43('0x3a')]);var _0x29f6e5={'where':_0x27fd7a[_0xbb43('0x35')]};return db[_0xbb43('0x29')]['count'](_0x29f6e5)[_0xbb43('0x21')](function(_0x526cb8){_0xa88db0[_0xbb43('0x3b')]=_0x526cb8;if(_0x4ed43f[_0xbb43('0x2d')][_0xbb43('0x3c')]){_0x27fd7a['include']=[{'all':!![]}];}return db[_0xbb43('0x29')]['findAll'](_0x27fd7a);})[_0xbb43('0x21')](function(_0x93aa1c){_0xa88db0['rows']=_0x93aa1c;return _0xa88db0;})[_0xbb43('0x21')](respondWithFilteredResult(_0x4b5342,_0x27fd7a))['catch'](handleError(_0x4b5342,null));};