Built motion from commit (unavailable).|2.5.8
[motion2.git] / server / api / integration / integration.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 _0x553e=['path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','end','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','sendStatus','error','name','send','index','Integration','fieldName','type','key','model','map','query','keys','attributes','intersection','fields','length','hasOwnProperty','order','where','filters','merge','options','include','findAll','rows','catch','show','params','rawAttributes','includeAll','create','body','destroy','find','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util'];(function(_0x5f309e,_0x66e31){var _0x487b5e=function(_0x44f203){while(--_0x44f203){_0x5f309e['push'](_0x5f309e['shift']());}};_0x487b5e(++_0x66e31);}(_0x553e,0x10f));var _0xe553=function(_0x368901,_0x1324d0){_0x368901=_0x368901-0x0;var _0x43f7bf=_0x553e[_0x368901];return _0x43f7bf;};'use strict';var pdf=require(_0xe553('0x0'));var emlformat=require(_0xe553('0x1'));var rimraf=require(_0xe553('0x2'));var zipdir=require(_0xe553('0x3'));var jsonpatch=require(_0xe553('0x4'));var rp=require(_0xe553('0x5'));var moment=require('moment');var BPromise=require(_0xe553('0x6'));var Mustache=require(_0xe553('0x7'));var util=require(_0xe553('0x8'));var path=require(_0xe553('0x9'));var sox=require(_0xe553('0xa'));var csv=require(_0xe553('0xb'));var ejs=require(_0xe553('0xc'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe553('0xd'));var crypto=require(_0xe553('0xe'));var jsforce=require(_0xe553('0xf'));var deskjs=require(_0xe553('0x10'));var toCsv=require(_0xe553('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xe553('0x11'));var as=require(_0xe553('0x12'));var hardwareService=require(_0xe553('0x13'));var logger=require(_0xe553('0x14'))(_0xe553('0x15'));var utils=require('../../config/utils');var config=require(_0xe553('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x175e38,_0x52caa7){_0x52caa7=_0x52caa7||0xcc;return function(_0x56a158){if(_0x56a158){return _0x175e38['sendStatus'](_0x52caa7);}return _0x175e38['status'](_0x52caa7)[_0xe553('0x17')]();};}function respondWithResult(_0x1e2445,_0x2ea45a){_0x2ea45a=_0x2ea45a||0xc8;return function(_0x20594e){if(_0x20594e){return _0x1e2445[_0xe553('0x18')](_0x2ea45a)[_0xe553('0x19')](_0x20594e);}};}function respondWithFilteredResult(_0x2fbadc,_0x284851){return function(_0x23fbee){if(_0x23fbee){var _0x549f15=_0x23fbee[_0xe553('0x1a')],_0x5dfc46=_0x284851[_0xe553('0x1b')],_0xdf280d=_0x284851[_0xe553('0x1b')]+_0x284851[_0xe553('0x1c')],_0x48bff4;if(_0xdf280d>=_0x549f15){_0xdf280d=_0x549f15;_0x48bff4=0xc8;}else{_0x48bff4=0xce;}_0x2fbadc['status'](_0x48bff4);return _0x2fbadc[_0xe553('0x1d')](_0xe553('0x1e'),_0x5dfc46+'-'+_0xdf280d+'/'+_0x549f15)['json'](_0x23fbee);}return null;};}function patchUpdates(_0x1b1ab7){return function(_0x2d4ebc){try{jsonpatch['apply'](_0x2d4ebc,_0x1b1ab7,!![]);}catch(_0x294bdf){return BPromise[_0xe553('0x1f')](_0x294bdf);}return _0x2d4ebc[_0xe553('0x20')]();};}function saveUpdates(_0x4aa596,_0x4998d3){return function(_0x3e795d){if(_0x3e795d){return _0x3e795d[_0xe553('0x21')](_0x4aa596)[_0xe553('0x22')](function(_0x3ffd10){return _0x3ffd10;});}return null;};}function removeEntity(_0x38e9da,_0x390f39){return function(_0xd8a6aa){if(_0xd8a6aa){return _0xd8a6aa['destroy']()[_0xe553('0x22')](function(){_0x38e9da[_0xe553('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2c03e2,_0x24732b){return function(_0xbf68a){if(!_0xbf68a){_0x2c03e2[_0xe553('0x23')](0x194);}return _0xbf68a;};}function handleError(_0x35d77b,_0x480b20){_0x480b20=_0x480b20||0x1f4;return function(_0x40dfde){logger[_0xe553('0x24')](_0x40dfde['stack']);if(_0x40dfde[_0xe553('0x25')]){delete _0x40dfde[_0xe553('0x25')];}_0x35d77b[_0xe553('0x18')](_0x480b20)[_0xe553('0x26')](_0x40dfde);};}exports[_0xe553('0x27')]=function(_0x3a1dcf,_0x4057f7){var _0x2323d8={},_0x1e5439={},_0x4f0141={'count':0x0,'rows':[]};var _0x585f59=_['map'](db[_0xe553('0x28')]['rawAttributes'],function(_0x4f8387){return{'name':_0x4f8387[_0xe553('0x29')],'type':_0x4f8387[_0xe553('0x2a')][_0xe553('0x2b')]};});_0x1e5439[_0xe553('0x2c')]=_[_0xe553('0x2d')](_0x585f59,_0xe553('0x25'));_0x1e5439[_0xe553('0x2e')]=_[_0xe553('0x2f')](_0x3a1dcf['query']);_0x1e5439['filters']=_['intersection'](_0x1e5439['model'],_0x1e5439[_0xe553('0x2e')]);_0x2323d8[_0xe553('0x30')]=_[_0xe553('0x31')](_0x1e5439[_0xe553('0x2c')],qs[_0xe553('0x32')](_0x3a1dcf[_0xe553('0x2e')]['fields']));_0x2323d8[_0xe553('0x30')]=_0x2323d8[_0xe553('0x30')][_0xe553('0x33')]?_0x2323d8[_0xe553('0x30')]:_0x1e5439['model'];if(!_0x3a1dcf['query'][_0xe553('0x34')]('nolimit')){_0x2323d8[_0xe553('0x1c')]=qs[_0xe553('0x1c')](_0x3a1dcf[_0xe553('0x2e')][_0xe553('0x1c')]);_0x2323d8['offset']=qs[_0xe553('0x1b')](_0x3a1dcf[_0xe553('0x2e')]['offset']);}_0x2323d8[_0xe553('0x35')]=qs['sort'](_0x3a1dcf['query']['sort']);_0x2323d8[_0xe553('0x36')]=qs[_0xe553('0x37')](_['pick'](_0x3a1dcf[_0xe553('0x2e')],_0x1e5439[_0xe553('0x37')]),_0x585f59);if(_0x3a1dcf[_0xe553('0x2e')]['filter']){_0x2323d8[_0xe553('0x36')]=_[_0xe553('0x38')](_0x2323d8[_0xe553('0x36')],{'$or':_[_0xe553('0x2d')](_0x585f59,function(_0x2ce626){if(_0x2ce626[_0xe553('0x2a')]!=='VIRTUAL'){var _0x213d27={};_0x213d27[_0x2ce626[_0xe553('0x25')]]={'$like':'%'+_0x3a1dcf[_0xe553('0x2e')]['filter']+'%'};return _0x213d27;}})});}_0x2323d8=_['merge']({},_0x2323d8,_0x3a1dcf[_0xe553('0x39')]);var _0x5b0347={'where':_0x2323d8[_0xe553('0x36')]};return db[_0xe553('0x28')][_0xe553('0x1a')](_0x5b0347)[_0xe553('0x22')](function(_0x4e6e6a){_0x4f0141[_0xe553('0x1a')]=_0x4e6e6a;if(_0x3a1dcf['query']['includeAll']){_0x2323d8[_0xe553('0x3a')]=[{'all':!![]}];}return db[_0xe553('0x28')][_0xe553('0x3b')](_0x2323d8);})['then'](function(_0x1c20f0){_0x4f0141[_0xe553('0x3c')]=_0x1c20f0;return _0x4f0141;})[_0xe553('0x22')](respondWithFilteredResult(_0x4057f7,_0x2323d8))[_0xe553('0x3d')](handleError(_0x4057f7,null));};exports[_0xe553('0x3e')]=function(_0x518a1a,_0x132338){var _0x111b68={'raw':![],'where':{'id':_0x518a1a[_0xe553('0x3f')]['id']}},_0x949189={};_0x949189[_0xe553('0x2c')]=_[_0xe553('0x2f')](db[_0xe553('0x28')][_0xe553('0x40')]);_0x949189[_0xe553('0x2e')]=_[_0xe553('0x2f')](_0x518a1a[_0xe553('0x2e')]);_0x949189[_0xe553('0x37')]=_[_0xe553('0x31')](_0x949189['model'],_0x949189[_0xe553('0x2e')]);_0x111b68[_0xe553('0x30')]=_['intersection'](_0x949189[_0xe553('0x2c')],qs[_0xe553('0x32')](_0x518a1a[_0xe553('0x2e')][_0xe553('0x32')]));_0x111b68['attributes']=_0x111b68[_0xe553('0x30')]['length']?_0x111b68['attributes']:_0x949189[_0xe553('0x2c')];if(_0x518a1a[_0xe553('0x2e')][_0xe553('0x41')]){_0x111b68['include']=[{'all':!![]}];}_0x111b68=_[_0xe553('0x38')]({},_0x111b68,_0x518a1a[_0xe553('0x39')]);return db[_0xe553('0x28')]['find'](_0x111b68)[_0xe553('0x22')](handleEntityNotFound(_0x132338,null))[_0xe553('0x22')](respondWithResult(_0x132338,null))[_0xe553('0x3d')](handleError(_0x132338,null));};exports[_0xe553('0x42')]=function(_0x1feb70,_0x2d6209){return db[_0xe553('0x28')][_0xe553('0x42')](_0x1feb70[_0xe553('0x43')],{})[_0xe553('0x22')](respondWithResult(_0x2d6209,0xc9))[_0xe553('0x3d')](handleError(_0x2d6209,null));};exports['update']=function(_0x3a2061,_0x33a863){if(_0x3a2061[_0xe553('0x43')]['id']){delete _0x3a2061[_0xe553('0x43')]['id'];}return db[_0xe553('0x28')]['find']({'where':{'id':_0x3a2061[_0xe553('0x3f')]['id']}})['then'](handleEntityNotFound(_0x33a863,null))[_0xe553('0x22')](saveUpdates(_0x3a2061[_0xe553('0x43')],null))['then'](respondWithResult(_0x33a863,null))[_0xe553('0x3d')](handleError(_0x33a863,null));};exports[_0xe553('0x44')]=function(_0x40989a,_0x18df80){return db[_0xe553('0x28')][_0xe553('0x45')]({'where':{'id':_0x40989a[_0xe553('0x3f')]['id']}})[_0xe553('0x22')](handleEntityNotFound(_0x18df80,null))[_0xe553('0x22')](removeEntity(_0x18df80,null))[_0xe553('0x3d')](handleError(_0x18df80,null));};