Built motion from commit (unavailable).|2.3.95
[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 _0xac35=['nolimit','limit','order','sort','pick','where','type','key','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','find','create','body','params','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','ioredis','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','error','name','index','Integration','rawAttributes','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty'];(function(_0x138adb,_0x193fee){var _0x1b27f2=function(_0x5e97a2){while(--_0x5e97a2){_0x138adb['push'](_0x138adb['shift']());}};_0x1b27f2(++_0x193fee);}(_0xac35,0x141));var _0x5ac3=function(_0x584667,_0x494c5f){_0x584667=_0x584667-0x0;var _0x1393ed=_0xac35[_0x584667];return _0x1393ed;};'use strict';var pdf=require(_0x5ac3('0x0'));var emlformat=require(_0x5ac3('0x1'));var rimraf=require(_0x5ac3('0x2'));var zipdir=require(_0x5ac3('0x3'));var jsonpatch=require(_0x5ac3('0x4'));var rp=require(_0x5ac3('0x5'));var moment=require(_0x5ac3('0x6'));var BPromise=require(_0x5ac3('0x7'));var Mustache=require(_0x5ac3('0x8'));var util=require(_0x5ac3('0x9'));var path=require(_0x5ac3('0xa'));var sox=require(_0x5ac3('0xb'));var csv=require(_0x5ac3('0xc'));var ejs=require(_0x5ac3('0xd'));var fs=require('fs');var _=require('lodash');var squel=require(_0x5ac3('0xe'));var crypto=require('crypto');var jsforce=require(_0x5ac3('0xf'));var deskjs=require(_0x5ac3('0x10'));var toCsv=require(_0x5ac3('0xc'));var querystring=require(_0x5ac3('0x11'));var Papa=require(_0x5ac3('0x12'));var authService=require(_0x5ac3('0x13'));var hardwareService=require('../../config/license/hardware');var Redis=require(_0x5ac3('0x14'));var qs=require('../../components/parsers/qs');var logger=require(_0x5ac3('0x15'))(_0x5ac3('0x16'));var utils=require(_0x5ac3('0x17'));var config=require(_0x5ac3('0x18'));var db=require(_0x5ac3('0x19'))['db'];function respondWithStatusCode(_0x43e407,_0x963aa5){_0x963aa5=_0x963aa5||0xcc;return function(_0x5921c6){if(_0x5921c6){return _0x43e407[_0x5ac3('0x1a')](_0x963aa5);}return _0x43e407[_0x5ac3('0x1b')](_0x963aa5)[_0x5ac3('0x1c')]();};}function respondWithResult(_0x1192d6,_0x297c33){_0x297c33=_0x297c33||0xc8;return function(_0x24ed02){if(_0x24ed02){return _0x1192d6[_0x5ac3('0x1b')](_0x297c33)[_0x5ac3('0x1d')](_0x24ed02);}};}function respondWithFilteredResult(_0x5b64a8,_0x585770){return function(_0x3926d0){if(_0x3926d0){var _0x388da8=_0x3926d0[_0x5ac3('0x1e')],_0x516c97=_0x585770[_0x5ac3('0x1f')],_0x2eec4a=_0x585770[_0x5ac3('0x1f')]+_0x585770['limit'],_0x4b718a;if(_0x2eec4a>=_0x388da8){_0x2eec4a=_0x388da8;_0x4b718a=0xc8;}else{_0x4b718a=0xce;}_0x5b64a8[_0x5ac3('0x1b')](_0x4b718a);return _0x5b64a8[_0x5ac3('0x20')](_0x5ac3('0x21'),_0x516c97+'-'+_0x2eec4a+'/'+_0x388da8)[_0x5ac3('0x1d')](_0x3926d0);}return null;};}function patchUpdates(_0x5aab00){return function(_0x22907d){try{jsonpatch[_0x5ac3('0x22')](_0x22907d,_0x5aab00,!![]);}catch(_0x16ca9a){return BPromise[_0x5ac3('0x23')](_0x16ca9a);}return _0x22907d[_0x5ac3('0x24')]();};}function saveUpdates(_0xeb7dea,_0x2039b1){return function(_0x2fcc26){if(_0x2fcc26){return _0x2fcc26[_0x5ac3('0x25')](_0xeb7dea)[_0x5ac3('0x26')](function(_0xe65817){return _0xe65817;});}return null;};}function removeEntity(_0x38486d,_0x579d76){return function(_0x462b1d){if(_0x462b1d){return _0x462b1d[_0x5ac3('0x27')]()[_0x5ac3('0x26')](function(){_0x38486d[_0x5ac3('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x11915f,_0x1e28f6){return function(_0x2aa7c9){if(!_0x2aa7c9){_0x11915f[_0x5ac3('0x1a')](0x194);}return _0x2aa7c9;};}function handleError(_0x5ec3fc,_0x1eb39c){_0x1eb39c=_0x1eb39c||0x1f4;return function(_0x567807){logger[_0x5ac3('0x28')](_0x567807['stack']);if(_0x567807['name']){delete _0x567807[_0x5ac3('0x29')];}_0x5ec3fc[_0x5ac3('0x1b')](_0x1eb39c)['send'](_0x567807);};}exports[_0x5ac3('0x2a')]=function(_0x3912f6,_0x2fd301){var _0x1f563e={},_0x4af783={},_0x452519={'count':0x0,'rows':[]};var _0x228deb=db[_0x5ac3('0x2b')][_0x5ac3('0x2c')];_0x4af783[_0x5ac3('0x2d')]=_[_0x5ac3('0x2e')](_0x228deb);_0x4af783[_0x5ac3('0x2f')]=_['keys'](_0x3912f6[_0x5ac3('0x2f')]);_0x4af783[_0x5ac3('0x30')]=_[_0x5ac3('0x31')](_0x4af783['model'],_0x4af783[_0x5ac3('0x2f')]);_0x1f563e[_0x5ac3('0x32')]=_[_0x5ac3('0x31')](_0x4af783['model'],qs[_0x5ac3('0x33')](_0x3912f6['query'][_0x5ac3('0x33')]));_0x1f563e['attributes']=_0x1f563e[_0x5ac3('0x32')][_0x5ac3('0x34')]?_0x1f563e['attributes']:_0x4af783['model'];if(!_0x3912f6['query'][_0x5ac3('0x35')](_0x5ac3('0x36'))){_0x1f563e['limit']=qs[_0x5ac3('0x37')](_0x3912f6[_0x5ac3('0x2f')][_0x5ac3('0x37')]);_0x1f563e[_0x5ac3('0x1f')]=qs[_0x5ac3('0x1f')](_0x3912f6[_0x5ac3('0x2f')]['offset']);}_0x1f563e[_0x5ac3('0x38')]=qs[_0x5ac3('0x39')](_0x3912f6[_0x5ac3('0x2f')][_0x5ac3('0x39')]);_0x1f563e['where']=qs['filters'](_[_0x5ac3('0x3a')](_0x3912f6['query'],_0x4af783[_0x5ac3('0x30')]));if(_0x3912f6[_0x5ac3('0x2f')]['filter']){_0x1f563e[_0x5ac3('0x3b')]=_['merge'](_0x1f563e[_0x5ac3('0x3b')],{'$or':_['map'](_0x228deb,function(_0x4fe034){if(_0x4fe034[_0x5ac3('0x3c')][_0x5ac3('0x3d')]!==_0x5ac3('0x3e')){var _0x301cf6={};_0x301cf6[_0x4fe034['field']]={'$like':'%'+_0x3912f6[_0x5ac3('0x2f')]['filter']+'%'};return _0x301cf6;}})});}_0x1f563e=_[_0x5ac3('0x3f')]({},_0x1f563e,_0x3912f6[_0x5ac3('0x40')]);var _0x264c12={'where':_0x1f563e[_0x5ac3('0x3b')]};return db[_0x5ac3('0x2b')]['count'](_0x264c12)[_0x5ac3('0x26')](function(_0x101fd3){_0x452519[_0x5ac3('0x1e')]=_0x101fd3;if(_0x3912f6[_0x5ac3('0x2f')][_0x5ac3('0x41')]){_0x1f563e[_0x5ac3('0x42')]=[{'all':!![]}];}return db[_0x5ac3('0x2b')][_0x5ac3('0x43')](_0x1f563e);})[_0x5ac3('0x26')](function(_0x5cba25){_0x452519[_0x5ac3('0x44')]=_0x5cba25;return _0x452519;})[_0x5ac3('0x26')](respondWithFilteredResult(_0x2fd301,_0x1f563e))[_0x5ac3('0x45')](handleError(_0x2fd301,null));};exports[_0x5ac3('0x46')]=function(_0x5bd8e6,_0x20c16c){var _0x35155b={'raw':![],'where':{'id':_0x5bd8e6['params']['id']}},_0x4fddb2={};_0x4fddb2[_0x5ac3('0x2d')]=_[_0x5ac3('0x2e')](db[_0x5ac3('0x2b')]['rawAttributes']);_0x4fddb2[_0x5ac3('0x2f')]=_[_0x5ac3('0x2e')](_0x5bd8e6[_0x5ac3('0x2f')]);_0x4fddb2[_0x5ac3('0x30')]=_[_0x5ac3('0x31')](_0x4fddb2[_0x5ac3('0x2d')],_0x4fddb2[_0x5ac3('0x2f')]);_0x35155b[_0x5ac3('0x32')]=_[_0x5ac3('0x31')](_0x4fddb2[_0x5ac3('0x2d')],qs[_0x5ac3('0x33')](_0x5bd8e6[_0x5ac3('0x2f')][_0x5ac3('0x33')]));_0x35155b['attributes']=_0x35155b['attributes']['length']?_0x35155b['attributes']:_0x4fddb2['model'];if(_0x5bd8e6['query'][_0x5ac3('0x41')]){_0x35155b[_0x5ac3('0x42')]=[{'all':!![]}];}_0x35155b=_[_0x5ac3('0x3f')]({},_0x35155b,_0x5bd8e6['options']);return db[_0x5ac3('0x2b')][_0x5ac3('0x47')](_0x35155b)[_0x5ac3('0x26')](handleEntityNotFound(_0x20c16c,null))[_0x5ac3('0x26')](respondWithResult(_0x20c16c,null))[_0x5ac3('0x45')](handleError(_0x20c16c,null));};exports['create']=function(_0x310d9c,_0x402d38){return db[_0x5ac3('0x2b')][_0x5ac3('0x48')](_0x310d9c[_0x5ac3('0x49')],{})['then'](respondWithResult(_0x402d38,0xc9))[_0x5ac3('0x45')](handleError(_0x402d38,null));};exports[_0x5ac3('0x25')]=function(_0x2a1c1b,_0x20c46d){if(_0x2a1c1b['body']['id']){delete _0x2a1c1b[_0x5ac3('0x49')]['id'];}return db[_0x5ac3('0x2b')][_0x5ac3('0x47')]({'where':{'id':_0x2a1c1b[_0x5ac3('0x4a')]['id']}})['then'](handleEntityNotFound(_0x20c46d,null))[_0x5ac3('0x26')](saveUpdates(_0x2a1c1b[_0x5ac3('0x49')],null))[_0x5ac3('0x26')](respondWithResult(_0x20c46d,null))[_0x5ac3('0x45')](handleError(_0x20c46d,null));};exports[_0x5ac3('0x27')]=function(_0x3a421f,_0x6293c3){return db['Integration']['find']({'where':{'id':_0x3a421f[_0x5ac3('0x4a')]['id']}})[_0x5ac3('0x26')](handleEntityNotFound(_0x6293c3,null))[_0x5ac3('0x26')](removeEntity(_0x6293c3,null))[_0x5ac3('0x45')](handleError(_0x6293c3,null));};