Built motion from commit (unavailable).|2.6.0
[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 _0xe64b=['papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','count','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','end','error','stack','name','send','index','rawAttributes','key','model','map','keys','query','filters','attributes','intersection','fields','length','nolimit','sort','where','VIRTUAL','filter','merge','options','includeAll','include','Integration','findAll','rows','catch','show','params','find','create','body','eml-format','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring'];(function(_0x2aeca6,_0x565154){var _0x48c8c9=function(_0x739357){while(--_0x739357){_0x2aeca6['push'](_0x2aeca6['shift']());}};_0x48c8c9(++_0x565154);}(_0xe64b,0x10e));var _0xbe64=function(_0xb2421c,_0x1397cd){_0xb2421c=_0xb2421c-0x0;var _0x465dfe=_0xe64b[_0xb2421c];return _0x465dfe;};'use strict';var emlformat=require(_0xbe64('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xbe64('0x1'));var rp=require(_0xbe64('0x2'));var moment=require(_0xbe64('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xbe64('0x4'));var path=require(_0xbe64('0x5'));var sox=require(_0xbe64('0x6'));var csv=require(_0xbe64('0x7'));var ejs=require(_0xbe64('0x8'));var fs=require('fs');var fs_extra=require(_0xbe64('0x9'));var _=require('lodash');var squel=require(_0xbe64('0xa'));var crypto=require(_0xbe64('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xbe64('0xc'));var toCsv=require(_0xbe64('0x7'));var querystring=require(_0xbe64('0xd'));var Papa=require(_0xbe64('0xe'));var Redis=require('ioredis');var authService=require(_0xbe64('0xf'));var qs=require(_0xbe64('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbe64('0x11'));var logger=require('../../config/logger')(_0xbe64('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xbe64('0x13'));var db=require(_0xbe64('0x14'))['db'];function respondWithStatusCode(_0x3c8b28,_0x1cb691){_0x1cb691=_0x1cb691||0xcc;return function(_0x39350f){if(_0x39350f){return _0x3c8b28[_0xbe64('0x15')](_0x1cb691);}return _0x3c8b28[_0xbe64('0x16')](_0x1cb691)['end']();};}function respondWithResult(_0x1ad9bb,_0x38cd7d){_0x38cd7d=_0x38cd7d||0xc8;return function(_0x1c602b){if(_0x1c602b){return _0x1ad9bb[_0xbe64('0x16')](_0x38cd7d)['json'](_0x1c602b);}};}function respondWithFilteredResult(_0x469207,_0xfe0f26){return function(_0x54fd66){if(_0x54fd66){var _0x37f82b=typeof _0xfe0f26[_0xbe64('0x17')]===_0xbe64('0x18')&&typeof _0xfe0f26['limit']===_0xbe64('0x18');var _0x3cf34f=_0x54fd66[_0xbe64('0x19')];var _0x4175af=_0x37f82b?0x0:_0xfe0f26['offset'];var _0x3a028b=_0x37f82b?_0x54fd66[_0xbe64('0x19')]:_0xfe0f26[_0xbe64('0x17')]+_0xfe0f26[_0xbe64('0x1a')];var _0x2fc1b3;if(_0x3a028b>=_0x3cf34f){_0x3a028b=_0x3cf34f;_0x2fc1b3=0xc8;}else{_0x2fc1b3=0xce;}_0x469207[_0xbe64('0x16')](_0x2fc1b3);return _0x469207[_0xbe64('0x1b')](_0xbe64('0x1c'),_0x4175af+'-'+_0x3a028b+'/'+_0x3cf34f)[_0xbe64('0x1d')](_0x54fd66);}return null;};}function patchUpdates(_0x440857){return function(_0x551095){try{jsonpatch[_0xbe64('0x1e')](_0x551095,_0x440857,!![]);}catch(_0x5b97b2){return BPromise[_0xbe64('0x1f')](_0x5b97b2);}return _0x551095[_0xbe64('0x20')]();};}function saveUpdates(_0x894499,_0x3de46c){return function(_0x3b0c5f){if(_0x3b0c5f){return _0x3b0c5f[_0xbe64('0x21')](_0x894499)[_0xbe64('0x22')](function(_0x5dfdfd){return _0x5dfdfd;});}return null;};}function removeEntity(_0x1f3c46,_0x23ca9e){return function(_0x1c2d71){if(_0x1c2d71){return _0x1c2d71[_0xbe64('0x23')]()['then'](function(){_0x1f3c46['status'](0xcc)[_0xbe64('0x24')]();});}};}function handleEntityNotFound(_0x554dda,_0x618599){return function(_0x5e363b){if(!_0x5e363b){_0x554dda[_0xbe64('0x15')](0x194);}return _0x5e363b;};}function handleError(_0x5b9432,_0x3acef3){_0x3acef3=_0x3acef3||0x1f4;return function(_0x37ccd6){logger[_0xbe64('0x25')](_0x37ccd6[_0xbe64('0x26')]);if(_0x37ccd6[_0xbe64('0x27')]){delete _0x37ccd6[_0xbe64('0x27')];}_0x5b9432[_0xbe64('0x16')](_0x3acef3)[_0xbe64('0x28')](_0x37ccd6);};}exports[_0xbe64('0x29')]=function(_0x128af5,_0x12d928){var _0x44362d={},_0x218a3d={},_0x41da1a={'count':0x0,'rows':[]};var _0x2b0f2a=_['map'](db['Integration'][_0xbe64('0x2a')],function(_0x9aec4f){return{'name':_0x9aec4f['fieldName'],'type':_0x9aec4f['type'][_0xbe64('0x2b')]};});_0x218a3d[_0xbe64('0x2c')]=_[_0xbe64('0x2d')](_0x2b0f2a,_0xbe64('0x27'));_0x218a3d['query']=_[_0xbe64('0x2e')](_0x128af5[_0xbe64('0x2f')]);_0x218a3d[_0xbe64('0x30')]=_['intersection'](_0x218a3d[_0xbe64('0x2c')],_0x218a3d['query']);_0x44362d[_0xbe64('0x31')]=_[_0xbe64('0x32')](_0x218a3d[_0xbe64('0x2c')],qs[_0xbe64('0x33')](_0x128af5[_0xbe64('0x2f')][_0xbe64('0x33')]));_0x44362d[_0xbe64('0x31')]=_0x44362d[_0xbe64('0x31')][_0xbe64('0x34')]?_0x44362d[_0xbe64('0x31')]:_0x218a3d['model'];if(!_0x128af5[_0xbe64('0x2f')]['hasOwnProperty'](_0xbe64('0x35'))){_0x44362d[_0xbe64('0x1a')]=qs[_0xbe64('0x1a')](_0x128af5[_0xbe64('0x2f')][_0xbe64('0x1a')]);_0x44362d[_0xbe64('0x17')]=qs[_0xbe64('0x17')](_0x128af5[_0xbe64('0x2f')][_0xbe64('0x17')]);}_0x44362d['order']=qs[_0xbe64('0x36')](_0x128af5['query'][_0xbe64('0x36')]);_0x44362d[_0xbe64('0x37')]=qs['filters'](_['pick'](_0x128af5[_0xbe64('0x2f')],_0x218a3d['filters']),_0x2b0f2a);if(_0x128af5['query']['filter']){_0x44362d[_0xbe64('0x37')]=_['merge'](_0x44362d[_0xbe64('0x37')],{'$or':_[_0xbe64('0x2d')](_0x2b0f2a,function(_0x3bec03){if(_0x3bec03['type']!==_0xbe64('0x38')){var _0x597814={};_0x597814[_0x3bec03[_0xbe64('0x27')]]={'$like':'%'+_0x128af5['query'][_0xbe64('0x39')]+'%'};return _0x597814;}})});}_0x44362d=_[_0xbe64('0x3a')]({},_0x44362d,_0x128af5[_0xbe64('0x3b')]);var _0xa0715c={'where':_0x44362d[_0xbe64('0x37')]};return db['Integration'][_0xbe64('0x19')](_0xa0715c)[_0xbe64('0x22')](function(_0x113bf1){_0x41da1a[_0xbe64('0x19')]=_0x113bf1;if(_0x128af5['query'][_0xbe64('0x3c')]){_0x44362d[_0xbe64('0x3d')]=[{'all':!![]}];}return db[_0xbe64('0x3e')][_0xbe64('0x3f')](_0x44362d);})[_0xbe64('0x22')](function(_0xe52ab5){_0x41da1a[_0xbe64('0x40')]=_0xe52ab5;return _0x41da1a;})[_0xbe64('0x22')](respondWithFilteredResult(_0x12d928,_0x44362d))[_0xbe64('0x41')](handleError(_0x12d928,null));};exports[_0xbe64('0x42')]=function(_0x1c32f1,_0x576e2f){var _0x53b6ff={'raw':![],'where':{'id':_0x1c32f1[_0xbe64('0x43')]['id']}},_0x2de914={};_0x2de914[_0xbe64('0x2c')]=_[_0xbe64('0x2e')](db['Integration']['rawAttributes']);_0x2de914[_0xbe64('0x2f')]=_[_0xbe64('0x2e')](_0x1c32f1[_0xbe64('0x2f')]);_0x2de914[_0xbe64('0x30')]=_['intersection'](_0x2de914[_0xbe64('0x2c')],_0x2de914['query']);_0x53b6ff['attributes']=_['intersection'](_0x2de914[_0xbe64('0x2c')],qs[_0xbe64('0x33')](_0x1c32f1[_0xbe64('0x2f')][_0xbe64('0x33')]));_0x53b6ff[_0xbe64('0x31')]=_0x53b6ff[_0xbe64('0x31')][_0xbe64('0x34')]?_0x53b6ff[_0xbe64('0x31')]:_0x2de914['model'];if(_0x1c32f1[_0xbe64('0x2f')]['includeAll']){_0x53b6ff['include']=[{'all':!![]}];}_0x53b6ff=_[_0xbe64('0x3a')]({},_0x53b6ff,_0x1c32f1[_0xbe64('0x3b')]);return db[_0xbe64('0x3e')][_0xbe64('0x44')](_0x53b6ff)['then'](handleEntityNotFound(_0x576e2f,null))[_0xbe64('0x22')](respondWithResult(_0x576e2f,null))[_0xbe64('0x41')](handleError(_0x576e2f,null));};exports[_0xbe64('0x45')]=function(_0x48ad48,_0x226c34){return db[_0xbe64('0x3e')][_0xbe64('0x45')](_0x48ad48[_0xbe64('0x46')],{})[_0xbe64('0x22')](respondWithResult(_0x226c34,0xc9))[_0xbe64('0x41')](handleError(_0x226c34,null));};exports[_0xbe64('0x21')]=function(_0x576bba,_0x226be5){if(_0x576bba[_0xbe64('0x46')]['id']){delete _0x576bba[_0xbe64('0x46')]['id'];}return db[_0xbe64('0x3e')][_0xbe64('0x44')]({'where':{'id':_0x576bba[_0xbe64('0x43')]['id']}})['then'](handleEntityNotFound(_0x226be5,null))['then'](saveUpdates(_0x576bba[_0xbe64('0x46')],null))[_0xbe64('0x22')](respondWithResult(_0x226be5,null))[_0xbe64('0x41')](handleError(_0x226be5,null));};exports['destroy']=function(_0x5c9399,_0xd06afc){return db[_0xbe64('0x3e')][_0xbe64('0x44')]({'where':{'id':_0x5c9399[_0xbe64('0x43')]['id']}})['then'](handleEntityNotFound(_0xd06afc,null))[_0xbe64('0x22')](removeEntity(_0xd06afc,null))[_0xbe64('0x41')](handleError(_0xd06afc,null));};