Built motion from commit (unavailable).|2.5.6
[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 _0x2169=['json','count','offset','Content-Range','then','error','stack','index','Integration','rawAttributes','fieldName','type','key','model','map','name','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','params','keys','catch','create','update','body','find','destroy','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end'];(function(_0x2f06e0,_0x2e1c2a){var _0xf2711b=function(_0x32036c){while(--_0x32036c){_0x2f06e0['push'](_0x2f06e0['shift']());}};_0xf2711b(++_0x2e1c2a);}(_0x2169,0x14f));var _0x9216=function(_0x4e82ff,_0x3cbf4b){_0x4e82ff=_0x4e82ff-0x0;var _0x495205=_0x2169[_0x4e82ff];return _0x495205;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x9216('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x9216('0x1'));var jsonpatch=require(_0x9216('0x2'));var rp=require(_0x9216('0x3'));var moment=require(_0x9216('0x4'));var BPromise=require(_0x9216('0x5'));var Mustache=require(_0x9216('0x6'));var util=require(_0x9216('0x7'));var path=require(_0x9216('0x8'));var sox=require(_0x9216('0x9'));var csv=require(_0x9216('0xa'));var ejs=require(_0x9216('0xb'));var fs=require('fs');var _=require(_0x9216('0xc'));var squel=require(_0x9216('0xd'));var crypto=require(_0x9216('0xe'));var jsforce=require(_0x9216('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x9216('0xa'));var querystring=require('querystring');var Papa=require(_0x9216('0x10'));var Redis=require(_0x9216('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x9216('0x12'));var as=require(_0x9216('0x13'));var hardwareService=require(_0x9216('0x14'));var logger=require(_0x9216('0x15'))(_0x9216('0x16'));var utils=require(_0x9216('0x17'));var config=require(_0x9216('0x18'));var licenseUtil=require(_0x9216('0x19'));var db=require(_0x9216('0x1a'))['db'];function respondWithStatusCode(_0x10c534,_0x256d15){_0x256d15=_0x256d15||0xcc;return function(_0x29c637){if(_0x29c637){return _0x10c534[_0x9216('0x1b')](_0x256d15);}return _0x10c534[_0x9216('0x1c')](_0x256d15)[_0x9216('0x1d')]();};}function respondWithResult(_0x2ae896,_0x589de2){_0x589de2=_0x589de2||0xc8;return function(_0x13dbde){if(_0x13dbde){return _0x2ae896[_0x9216('0x1c')](_0x589de2)[_0x9216('0x1e')](_0x13dbde);}};}function respondWithFilteredResult(_0x46c585,_0x2258fa){return function(_0x3f0411){if(_0x3f0411){var _0xeb24cd=_0x3f0411[_0x9216('0x1f')],_0x29aef5=_0x2258fa['offset'],_0x481ac4=_0x2258fa[_0x9216('0x20')]+_0x2258fa['limit'],_0x437b41;if(_0x481ac4>=_0xeb24cd){_0x481ac4=_0xeb24cd;_0x437b41=0xc8;}else{_0x437b41=0xce;}_0x46c585[_0x9216('0x1c')](_0x437b41);return _0x46c585['set'](_0x9216('0x21'),_0x29aef5+'-'+_0x481ac4+'/'+_0xeb24cd)[_0x9216('0x1e')](_0x3f0411);}return null;};}function patchUpdates(_0x9c7b20){return function(_0x290aa8){try{jsonpatch['apply'](_0x290aa8,_0x9c7b20,!![]);}catch(_0x36f186){return BPromise['reject'](_0x36f186);}return _0x290aa8['save']();};}function saveUpdates(_0x53f1e8,_0x178722){return function(_0x53cf99){if(_0x53cf99){return _0x53cf99['update'](_0x53f1e8)['then'](function(_0xf8f6ee){return _0xf8f6ee;});}return null;};}function removeEntity(_0x147a2e,_0x95763e){return function(_0x48dfd3){if(_0x48dfd3){return _0x48dfd3['destroy']()[_0x9216('0x22')](function(){_0x147a2e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x20ea30,_0x403326){return function(_0x59eeb3){if(!_0x59eeb3){_0x20ea30['sendStatus'](0x194);}return _0x59eeb3;};}function handleError(_0xa21e9b,_0x1df11a){_0x1df11a=_0x1df11a||0x1f4;return function(_0x3c1aa6){logger[_0x9216('0x23')](_0x3c1aa6[_0x9216('0x24')]);if(_0x3c1aa6['name']){delete _0x3c1aa6['name'];}_0xa21e9b['status'](_0x1df11a)['send'](_0x3c1aa6);};}exports[_0x9216('0x25')]=function(_0x2f18f5,_0x59667f){var _0x2b9d2a={},_0xdd104={},_0x1ff5af={'count':0x0,'rows':[]};var _0x7b57e1=_['map'](db[_0x9216('0x26')][_0x9216('0x27')],function(_0x11dbe6){return{'name':_0x11dbe6[_0x9216('0x28')],'type':_0x11dbe6[_0x9216('0x29')][_0x9216('0x2a')]};});_0xdd104[_0x9216('0x2b')]=_[_0x9216('0x2c')](_0x7b57e1,_0x9216('0x2d'));_0xdd104[_0x9216('0x2e')]=_['keys'](_0x2f18f5['query']);_0xdd104[_0x9216('0x2f')]=_[_0x9216('0x30')](_0xdd104['model'],_0xdd104[_0x9216('0x2e')]);_0x2b9d2a['attributes']=_[_0x9216('0x30')](_0xdd104[_0x9216('0x2b')],qs['fields'](_0x2f18f5[_0x9216('0x2e')][_0x9216('0x31')]));_0x2b9d2a[_0x9216('0x32')]=_0x2b9d2a['attributes'][_0x9216('0x33')]?_0x2b9d2a['attributes']:_0xdd104[_0x9216('0x2b')];if(!_0x2f18f5[_0x9216('0x2e')][_0x9216('0x34')](_0x9216('0x35'))){_0x2b9d2a['limit']=qs[_0x9216('0x36')](_0x2f18f5[_0x9216('0x2e')][_0x9216('0x36')]);_0x2b9d2a[_0x9216('0x20')]=qs[_0x9216('0x20')](_0x2f18f5['query'][_0x9216('0x20')]);}_0x2b9d2a[_0x9216('0x37')]=qs[_0x9216('0x38')](_0x2f18f5[_0x9216('0x2e')][_0x9216('0x38')]);_0x2b9d2a[_0x9216('0x39')]=qs[_0x9216('0x2f')](_[_0x9216('0x3a')](_0x2f18f5[_0x9216('0x2e')],_0xdd104[_0x9216('0x2f')]),_0x7b57e1);if(_0x2f18f5['query'][_0x9216('0x3b')]){_0x2b9d2a['where']=_[_0x9216('0x3c')](_0x2b9d2a[_0x9216('0x39')],{'$or':_['map'](_0x7b57e1,function(_0x1d17b6){if(_0x1d17b6[_0x9216('0x29')]!=='VIRTUAL'){var _0x4b8a7e={};_0x4b8a7e[_0x1d17b6[_0x9216('0x2d')]]={'$like':'%'+_0x2f18f5[_0x9216('0x2e')]['filter']+'%'};return _0x4b8a7e;}})});}_0x2b9d2a=_[_0x9216('0x3c')]({},_0x2b9d2a,_0x2f18f5[_0x9216('0x3d')]);var _0x36cad2={'where':_0x2b9d2a['where']};return db[_0x9216('0x26')][_0x9216('0x1f')](_0x36cad2)[_0x9216('0x22')](function(_0x203d44){_0x1ff5af[_0x9216('0x1f')]=_0x203d44;if(_0x2f18f5[_0x9216('0x2e')][_0x9216('0x3e')]){_0x2b9d2a[_0x9216('0x3f')]=[{'all':!![]}];}return db[_0x9216('0x26')][_0x9216('0x40')](_0x2b9d2a);})[_0x9216('0x22')](function(_0x30cd13){_0x1ff5af['rows']=_0x30cd13;return _0x1ff5af;})[_0x9216('0x22')](respondWithFilteredResult(_0x59667f,_0x2b9d2a))['catch'](handleError(_0x59667f,null));};exports['show']=function(_0x311b73,_0x377540){var _0x112baf={'raw':![],'where':{'id':_0x311b73[_0x9216('0x41')]['id']}},_0x2c9467={};_0x2c9467[_0x9216('0x2b')]=_[_0x9216('0x42')](db[_0x9216('0x26')][_0x9216('0x27')]);_0x2c9467[_0x9216('0x2e')]=_['keys'](_0x311b73['query']);_0x2c9467[_0x9216('0x2f')]=_[_0x9216('0x30')](_0x2c9467[_0x9216('0x2b')],_0x2c9467[_0x9216('0x2e')]);_0x112baf[_0x9216('0x32')]=_[_0x9216('0x30')](_0x2c9467['model'],qs[_0x9216('0x31')](_0x311b73[_0x9216('0x2e')][_0x9216('0x31')]));_0x112baf[_0x9216('0x32')]=_0x112baf[_0x9216('0x32')]['length']?_0x112baf[_0x9216('0x32')]:_0x2c9467['model'];if(_0x311b73[_0x9216('0x2e')]['includeAll']){_0x112baf[_0x9216('0x3f')]=[{'all':!![]}];}_0x112baf=_[_0x9216('0x3c')]({},_0x112baf,_0x311b73['options']);return db[_0x9216('0x26')]['find'](_0x112baf)[_0x9216('0x22')](handleEntityNotFound(_0x377540,null))[_0x9216('0x22')](respondWithResult(_0x377540,null))[_0x9216('0x43')](handleError(_0x377540,null));};exports[_0x9216('0x44')]=function(_0x1d5498,_0x107a32){return db[_0x9216('0x26')]['create'](_0x1d5498['body'],{})[_0x9216('0x22')](respondWithResult(_0x107a32,0xc9))['catch'](handleError(_0x107a32,null));};exports[_0x9216('0x45')]=function(_0x126e32,_0x1f506c){if(_0x126e32[_0x9216('0x46')]['id']){delete _0x126e32[_0x9216('0x46')]['id'];}return db[_0x9216('0x26')][_0x9216('0x47')]({'where':{'id':_0x126e32['params']['id']}})[_0x9216('0x22')](handleEntityNotFound(_0x1f506c,null))['then'](saveUpdates(_0x126e32[_0x9216('0x46')],null))[_0x9216('0x22')](respondWithResult(_0x1f506c,null))[_0x9216('0x43')](handleError(_0x1f506c,null));};exports[_0x9216('0x48')]=function(_0x2501ca,_0x26495a){return db[_0x9216('0x26')][_0x9216('0x47')]({'where':{'id':_0x2501ca[_0x9216('0x41')]['id']}})[_0x9216('0x22')](handleEntityNotFound(_0x26495a,null))['then'](removeEntity(_0x26495a,null))[_0x9216('0x43')](handleError(_0x26495a,null));};