Built motion from commit (unavailable).|2.5.30
[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 _0x4534=['to-csv','ejs','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','offset','limit','undefined','count','set','Content-Range','apply','save','update','then','end','sendStatus','error','stack','name','send','index','Integration','rawAttributes','fieldName','map','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','findAll','rows','catch','show','params','includeAll','include','create','body','destroy','find','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox'];(function(_0xc82d1a,_0x145c50){var _0x32fad2=function(_0x232731){while(--_0x232731){_0xc82d1a['push'](_0xc82d1a['shift']());}};_0x32fad2(++_0x145c50);}(_0x4534,0x135));var _0x4453=function(_0x52d1b9,_0x596952){_0x52d1b9=_0x52d1b9-0x0;var _0x2527b0=_0x4534[_0x52d1b9];return _0x2527b0;};'use strict';var emlformat=require(_0x4453('0x0'));var rimraf=require(_0x4453('0x1'));var zipdir=require(_0x4453('0x2'));var jsonpatch=require(_0x4453('0x3'));var rp=require(_0x4453('0x4'));var moment=require(_0x4453('0x5'));var BPromise=require(_0x4453('0x6'));var Mustache=require(_0x4453('0x7'));var util=require(_0x4453('0x8'));var path=require(_0x4453('0x9'));var sox=require(_0x4453('0xa'));var csv=require(_0x4453('0xb'));var ejs=require(_0x4453('0xc'));var fs=require('fs');var fs_extra=require(_0x4453('0xd'));var _=require('lodash');var squel=require(_0x4453('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x4453('0xf'));var toCsv=require(_0x4453('0xb'));var querystring=require(_0x4453('0x10'));var Papa=require(_0x4453('0x11'));var Redis=require(_0x4453('0x12'));var authService=require(_0x4453('0x13'));var qs=require(_0x4453('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4453('0x15'));var logger=require(_0x4453('0x16'))(_0x4453('0x17'));var utils=require(_0x4453('0x18'));var config=require(_0x4453('0x19'));var licenseUtil=require(_0x4453('0x1a'));var db=require(_0x4453('0x1b'))['db'];function respondWithStatusCode(_0x852cd8,_0x5a7d41){_0x5a7d41=_0x5a7d41||0xcc;return function(_0x327c34){if(_0x327c34){return _0x852cd8['sendStatus'](_0x5a7d41);}return _0x852cd8[_0x4453('0x1c')](_0x5a7d41)['end']();};}function respondWithResult(_0x1837fc,_0x295667){_0x295667=_0x295667||0xc8;return function(_0x2020ce){if(_0x2020ce){return _0x1837fc[_0x4453('0x1c')](_0x295667)[_0x4453('0x1d')](_0x2020ce);}};}function respondWithFilteredResult(_0x52c760,_0x14568b){return function(_0x376d3a){if(_0x376d3a){var _0x2c5e06=typeof _0x14568b[_0x4453('0x1e')]==='undefined'&&typeof _0x14568b[_0x4453('0x1f')]===_0x4453('0x20');var _0x2b97d1=_0x376d3a[_0x4453('0x21')];var _0x2ada14=_0x2c5e06?0x0:_0x14568b['offset'];var _0x410397=_0x2c5e06?_0x376d3a[_0x4453('0x21')]:_0x14568b[_0x4453('0x1e')]+_0x14568b[_0x4453('0x1f')];var _0x4375;if(_0x410397>=_0x2b97d1){_0x410397=_0x2b97d1;_0x4375=0xc8;}else{_0x4375=0xce;}_0x52c760['status'](_0x4375);return _0x52c760[_0x4453('0x22')](_0x4453('0x23'),_0x2ada14+'-'+_0x410397+'/'+_0x2b97d1)['json'](_0x376d3a);}return null;};}function patchUpdates(_0x651780){return function(_0x4fb738){try{jsonpatch[_0x4453('0x24')](_0x4fb738,_0x651780,!![]);}catch(_0x4e5eb0){return BPromise['reject'](_0x4e5eb0);}return _0x4fb738[_0x4453('0x25')]();};}function saveUpdates(_0x51fe97,_0xfee822){return function(_0x4379be){if(_0x4379be){return _0x4379be[_0x4453('0x26')](_0x51fe97)[_0x4453('0x27')](function(_0x57f0ac){return _0x57f0ac;});}return null;};}function removeEntity(_0x6fa5d6,_0x726a57){return function(_0x1c7e46){if(_0x1c7e46){return _0x1c7e46['destroy']()[_0x4453('0x27')](function(){_0x6fa5d6[_0x4453('0x1c')](0xcc)[_0x4453('0x28')]();});}};}function handleEntityNotFound(_0x1407c1,_0x3929fb){return function(_0x254a26){if(!_0x254a26){_0x1407c1[_0x4453('0x29')](0x194);}return _0x254a26;};}function handleError(_0xe811ec,_0xddbf69){_0xddbf69=_0xddbf69||0x1f4;return function(_0x26e2e8){logger[_0x4453('0x2a')](_0x26e2e8[_0x4453('0x2b')]);if(_0x26e2e8['name']){delete _0x26e2e8[_0x4453('0x2c')];}_0xe811ec[_0x4453('0x1c')](_0xddbf69)[_0x4453('0x2d')](_0x26e2e8);};}exports[_0x4453('0x2e')]=function(_0x223419,_0x370ee5){var _0xb722d5={},_0x2848b1={},_0x4b7532={'count':0x0,'rows':[]};var _0x3c1b6a=_['map'](db[_0x4453('0x2f')][_0x4453('0x30')],function(_0x240c0f){return{'name':_0x240c0f[_0x4453('0x31')],'type':_0x240c0f['type']['key']};});_0x2848b1['model']=_[_0x4453('0x32')](_0x3c1b6a,_0x4453('0x2c'));_0x2848b1[_0x4453('0x33')]=_[_0x4453('0x34')](_0x223419[_0x4453('0x33')]);_0x2848b1['filters']=_[_0x4453('0x35')](_0x2848b1[_0x4453('0x36')],_0x2848b1[_0x4453('0x33')]);_0xb722d5[_0x4453('0x37')]=_[_0x4453('0x35')](_0x2848b1[_0x4453('0x36')],qs[_0x4453('0x38')](_0x223419[_0x4453('0x33')][_0x4453('0x38')]));_0xb722d5['attributes']=_0xb722d5[_0x4453('0x37')][_0x4453('0x39')]?_0xb722d5[_0x4453('0x37')]:_0x2848b1[_0x4453('0x36')];if(!_0x223419[_0x4453('0x33')][_0x4453('0x3a')](_0x4453('0x3b'))){_0xb722d5[_0x4453('0x1f')]=qs['limit'](_0x223419[_0x4453('0x33')][_0x4453('0x1f')]);_0xb722d5[_0x4453('0x1e')]=qs[_0x4453('0x1e')](_0x223419['query'][_0x4453('0x1e')]);}_0xb722d5['order']=qs[_0x4453('0x3c')](_0x223419[_0x4453('0x33')][_0x4453('0x3c')]);_0xb722d5[_0x4453('0x3d')]=qs[_0x4453('0x3e')](_[_0x4453('0x3f')](_0x223419['query'],_0x2848b1['filters']),_0x3c1b6a);if(_0x223419[_0x4453('0x33')][_0x4453('0x40')]){_0xb722d5['where']=_[_0x4453('0x41')](_0xb722d5[_0x4453('0x3d')],{'$or':_['map'](_0x3c1b6a,function(_0x55f47c){if(_0x55f47c[_0x4453('0x42')]!==_0x4453('0x43')){var _0x44a7c3={};_0x44a7c3[_0x55f47c['name']]={'$like':'%'+_0x223419[_0x4453('0x33')]['filter']+'%'};return _0x44a7c3;}})});}_0xb722d5=_['merge']({},_0xb722d5,_0x223419[_0x4453('0x44')]);var _0x555fb5={'where':_0xb722d5[_0x4453('0x3d')]};return db['Integration'][_0x4453('0x21')](_0x555fb5)[_0x4453('0x27')](function(_0x166c64){_0x4b7532['count']=_0x166c64;if(_0x223419['query']['includeAll']){_0xb722d5['include']=[{'all':!![]}];}return db[_0x4453('0x2f')][_0x4453('0x45')](_0xb722d5);})[_0x4453('0x27')](function(_0x9bbe67){_0x4b7532[_0x4453('0x46')]=_0x9bbe67;return _0x4b7532;})[_0x4453('0x27')](respondWithFilteredResult(_0x370ee5,_0xb722d5))[_0x4453('0x47')](handleError(_0x370ee5,null));};exports[_0x4453('0x48')]=function(_0xccbe13,_0x41efe3){var _0x1a057b={'raw':![],'where':{'id':_0xccbe13[_0x4453('0x49')]['id']}},_0x5b3445={};_0x5b3445[_0x4453('0x36')]=_[_0x4453('0x34')](db[_0x4453('0x2f')]['rawAttributes']);_0x5b3445[_0x4453('0x33')]=_[_0x4453('0x34')](_0xccbe13[_0x4453('0x33')]);_0x5b3445['filters']=_[_0x4453('0x35')](_0x5b3445[_0x4453('0x36')],_0x5b3445[_0x4453('0x33')]);_0x1a057b[_0x4453('0x37')]=_[_0x4453('0x35')](_0x5b3445[_0x4453('0x36')],qs['fields'](_0xccbe13[_0x4453('0x33')][_0x4453('0x38')]));_0x1a057b[_0x4453('0x37')]=_0x1a057b[_0x4453('0x37')]['length']?_0x1a057b[_0x4453('0x37')]:_0x5b3445[_0x4453('0x36')];if(_0xccbe13[_0x4453('0x33')][_0x4453('0x4a')]){_0x1a057b[_0x4453('0x4b')]=[{'all':!![]}];}_0x1a057b=_[_0x4453('0x41')]({},_0x1a057b,_0xccbe13[_0x4453('0x44')]);return db['Integration']['find'](_0x1a057b)['then'](handleEntityNotFound(_0x41efe3,null))[_0x4453('0x27')](respondWithResult(_0x41efe3,null))[_0x4453('0x47')](handleError(_0x41efe3,null));};exports[_0x4453('0x4c')]=function(_0x1b8e88,_0x2f4e7f){return db['Integration'][_0x4453('0x4c')](_0x1b8e88[_0x4453('0x4d')],{})[_0x4453('0x27')](respondWithResult(_0x2f4e7f,0xc9))[_0x4453('0x47')](handleError(_0x2f4e7f,null));};exports['update']=function(_0xc60ef2,_0x3dca65){if(_0xc60ef2[_0x4453('0x4d')]['id']){delete _0xc60ef2['body']['id'];}return db[_0x4453('0x2f')]['find']({'where':{'id':_0xc60ef2[_0x4453('0x49')]['id']}})[_0x4453('0x27')](handleEntityNotFound(_0x3dca65,null))[_0x4453('0x27')](saveUpdates(_0xc60ef2['body'],null))[_0x4453('0x27')](respondWithResult(_0x3dca65,null))[_0x4453('0x47')](handleError(_0x3dca65,null));};exports[_0x4453('0x4e')]=function(_0x40a516,_0x3843e4){return db[_0x4453('0x2f')][_0x4453('0x4f')]({'where':{'id':_0x40a516['params']['id']}})['then'](handleEntityNotFound(_0x3843e4,null))[_0x4453('0x27')](removeEntity(_0x3843e4,null))['catch'](handleError(_0x3843e4,null));};