Built motion from commit (unavailable).|2.5.28
[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 _0x9305=['../../components/parsers/qs','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','error','name','send','index','Migration','rawAttributes','fieldName','key','model','query','keys','attributes','intersection','fields','length','nolimit','sort','where','filters','pick','filter','merge','map','type','options','count','then','includeAll','include','rows','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service'];(function(_0x3430aa,_0x57cd92){var _0x2ac5c=function(_0x3068dd){while(--_0x3068dd){_0x3430aa['push'](_0x3430aa['shift']());}};_0x2ac5c(++_0x57cd92);}(_0x9305,0xb4));var _0x5930=function(_0x24959e,_0x28943f){_0x24959e=_0x24959e-0x0;var _0x1c3a2b=_0x9305[_0x24959e];return _0x1c3a2b;};'use strict';var emlformat=require(_0x5930('0x0'));var rimraf=require(_0x5930('0x1'));var zipdir=require(_0x5930('0x2'));var jsonpatch=require(_0x5930('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x5930('0x4'));var Mustache=require(_0x5930('0x5'));var util=require('util');var path=require(_0x5930('0x6'));var sox=require(_0x5930('0x7'));var csv=require(_0x5930('0x8'));var ejs=require(_0x5930('0x9'));var fs=require('fs');var fs_extra=require(_0x5930('0xa'));var _=require(_0x5930('0xb'));var squel=require('squel');var crypto=require(_0x5930('0xc'));var jsforce=require(_0x5930('0xd'));var deskjs=require(_0x5930('0xe'));var toCsv=require(_0x5930('0x8'));var querystring=require(_0x5930('0xf'));var Papa=require('papaparse');var Redis=require(_0x5930('0x10'));var authService=require(_0x5930('0x11'));var qs=require(_0x5930('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5930('0x13'))('api');var utils=require(_0x5930('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x5930('0x15'));var db=require(_0x5930('0x16'))['db'];function respondWithStatusCode(_0x37eee5,_0x59103a){_0x59103a=_0x59103a||0xcc;return function(_0x315769){if(_0x315769){return _0x37eee5[_0x5930('0x17')](_0x59103a);}return _0x37eee5[_0x5930('0x18')](_0x59103a)[_0x5930('0x19')]();};}function respondWithResult(_0x1408fc,_0x184aef){_0x184aef=_0x184aef||0xc8;return function(_0x4f6dcf){if(_0x4f6dcf){return _0x1408fc[_0x5930('0x18')](_0x184aef)['json'](_0x4f6dcf);}};}function respondWithFilteredResult(_0x2f07ec,_0x4c8fbe){return function(_0x38c0a6){if(_0x38c0a6){var _0x5d0d13=_0x38c0a6['count'],_0x222e6b=_0x4c8fbe[_0x5930('0x1a')],_0x9f490e=_0x4c8fbe[_0x5930('0x1a')]+_0x4c8fbe[_0x5930('0x1b')],_0x5ebc2b;if(_0x9f490e>=_0x5d0d13){_0x9f490e=_0x5d0d13;_0x5ebc2b=0xc8;}else{_0x5ebc2b=0xce;}_0x2f07ec[_0x5930('0x18')](_0x5ebc2b);return _0x2f07ec[_0x5930('0x1c')](_0x5930('0x1d'),_0x222e6b+'-'+_0x9f490e+'/'+_0x5d0d13)[_0x5930('0x1e')](_0x38c0a6);}return null;};}function patchUpdates(_0x57a152){return function(_0x2a18fc){try{jsonpatch[_0x5930('0x1f')](_0x2a18fc,_0x57a152,!![]);}catch(_0x3f5b6c){return BPromise[_0x5930('0x20')](_0x3f5b6c);}return _0x2a18fc[_0x5930('0x21')]();};}function saveUpdates(_0x5ba327,_0x1a7358){return function(_0x34d1b9){if(_0x34d1b9){return _0x34d1b9[_0x5930('0x22')](_0x5ba327)['then'](function(_0x1e2870){return _0x1e2870;});}return null;};}function removeEntity(_0x4cb8c6,_0x321331){return function(_0x2c0c7a){if(_0x2c0c7a){return _0x2c0c7a[_0x5930('0x23')]()['then'](function(){_0x4cb8c6[_0x5930('0x18')](0xcc)[_0x5930('0x19')]();});}};}function handleEntityNotFound(_0x270f77,_0x57ef8e){return function(_0x1baced){if(!_0x1baced){_0x270f77[_0x5930('0x17')](0x194);}return _0x1baced;};}function handleError(_0x79c96e,_0x304828){_0x304828=_0x304828||0x1f4;return function(_0x42dee4){logger[_0x5930('0x24')](_0x42dee4['stack']);if(_0x42dee4[_0x5930('0x25')]){delete _0x42dee4[_0x5930('0x25')];}_0x79c96e['status'](_0x304828)[_0x5930('0x26')](_0x42dee4);};}exports[_0x5930('0x27')]=function(_0x1f948f,_0x4bd120){var _0x3739d5={},_0xb046b={},_0x7a958={'count':0x0,'rows':[]};var _0x5acb70=_['map'](db[_0x5930('0x28')][_0x5930('0x29')],function(_0x1f928f){return{'name':_0x1f928f[_0x5930('0x2a')],'type':_0x1f928f['type'][_0x5930('0x2b')]};});_0xb046b[_0x5930('0x2c')]=_['map'](_0x5acb70,_0x5930('0x25'));_0xb046b[_0x5930('0x2d')]=_[_0x5930('0x2e')](_0x1f948f[_0x5930('0x2d')]);_0xb046b['filters']=_['intersection'](_0xb046b[_0x5930('0x2c')],_0xb046b['query']);_0x3739d5[_0x5930('0x2f')]=_[_0x5930('0x30')](_0xb046b[_0x5930('0x2c')],qs[_0x5930('0x31')](_0x1f948f[_0x5930('0x2d')][_0x5930('0x31')]));_0x3739d5[_0x5930('0x2f')]=_0x3739d5['attributes'][_0x5930('0x32')]?_0x3739d5[_0x5930('0x2f')]:_0xb046b[_0x5930('0x2c')];if(!_0x1f948f[_0x5930('0x2d')]['hasOwnProperty'](_0x5930('0x33'))){_0x3739d5['limit']=qs[_0x5930('0x1b')](_0x1f948f[_0x5930('0x2d')][_0x5930('0x1b')]);_0x3739d5[_0x5930('0x1a')]=qs[_0x5930('0x1a')](_0x1f948f['query'][_0x5930('0x1a')]);}_0x3739d5['order']=qs[_0x5930('0x34')](_0x1f948f[_0x5930('0x2d')]['sort']);_0x3739d5[_0x5930('0x35')]=qs[_0x5930('0x36')](_[_0x5930('0x37')](_0x1f948f[_0x5930('0x2d')],_0xb046b['filters']),_0x5acb70);if(_0x1f948f[_0x5930('0x2d')][_0x5930('0x38')]){_0x3739d5[_0x5930('0x35')]=_[_0x5930('0x39')](_0x3739d5[_0x5930('0x35')],{'$or':_[_0x5930('0x3a')](_0x5acb70,function(_0x39f4ef){if(_0x39f4ef[_0x5930('0x3b')]!=='VIRTUAL'){var _0x357ebf={};_0x357ebf[_0x39f4ef[_0x5930('0x25')]]={'$like':'%'+_0x1f948f[_0x5930('0x2d')][_0x5930('0x38')]+'%'};return _0x357ebf;}})});}_0x3739d5=_[_0x5930('0x39')]({},_0x3739d5,_0x1f948f[_0x5930('0x3c')]);var _0x11f060={'where':_0x3739d5[_0x5930('0x35')]};return db[_0x5930('0x28')][_0x5930('0x3d')](_0x11f060)[_0x5930('0x3e')](function(_0x5771bb){_0x7a958[_0x5930('0x3d')]=_0x5771bb;if(_0x1f948f[_0x5930('0x2d')][_0x5930('0x3f')]){_0x3739d5[_0x5930('0x40')]=[{'all':!![]}];}return db[_0x5930('0x28')]['findAll'](_0x3739d5);})['then'](function(_0x54155d){_0x7a958[_0x5930('0x41')]=_0x54155d;return _0x7a958;})['then'](respondWithFilteredResult(_0x4bd120,_0x3739d5))['catch'](handleError(_0x4bd120,null));};