Built motion from commit (unavailable).|2.5.2
[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 _0xe90e=['fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','options','includeAll','then','catch','show','params','include','find','create','body','destroy','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../mysqldb','status','end','count','offset','limit','Content-Range','json','apply','reject','update','sendStatus','error','stack','name','send','index','Integration','fieldName','type','key','query','keys','filters','intersection','model','attributes'];(function(_0x58cf5,_0x461671){var _0x1a8bcb=function(_0x291f2d){while(--_0x291f2d){_0x58cf5['push'](_0x58cf5['shift']());}};_0x1a8bcb(++_0x461671);}(_0xe90e,0xe3));var _0xee90=function(_0x227bd1,_0x2fad80){_0x227bd1=_0x227bd1-0x0;var _0x49d538=_0xe90e[_0x227bd1];return _0x49d538;};'use strict';var pdf=require(_0xee90('0x0'));var emlformat=require(_0xee90('0x1'));var rimraf=require(_0xee90('0x2'));var zipdir=require(_0xee90('0x3'));var jsonpatch=require(_0xee90('0x4'));var rp=require('request-promise');var moment=require(_0xee90('0x5'));var BPromise=require(_0xee90('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xee90('0x7'));var sox=require(_0xee90('0x8'));var csv=require(_0xee90('0x9'));var ejs=require(_0xee90('0xa'));var fs=require('fs');var _=require(_0xee90('0xb'));var squel=require(_0xee90('0xc'));var crypto=require(_0xee90('0xd'));var jsforce=require(_0xee90('0xe'));var deskjs=require(_0xee90('0xf'));var toCsv=require(_0xee90('0x9'));var querystring=require('querystring');var Papa=require(_0xee90('0x10'));var Redis=require(_0xee90('0x11'));var authService=require(_0xee90('0x12'));var qs=require(_0xee90('0x13'));var as=require(_0xee90('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xee90('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xee90('0x16'))['db'];function respondWithStatusCode(_0x3a001e,_0x5e9fb3){_0x5e9fb3=_0x5e9fb3||0xcc;return function(_0x5ead34){if(_0x5ead34){return _0x3a001e['sendStatus'](_0x5e9fb3);}return _0x3a001e[_0xee90('0x17')](_0x5e9fb3)[_0xee90('0x18')]();};}function respondWithResult(_0x5634a4,_0x49bfc9){_0x49bfc9=_0x49bfc9||0xc8;return function(_0x39b24e){if(_0x39b24e){return _0x5634a4[_0xee90('0x17')](_0x49bfc9)['json'](_0x39b24e);}};}function respondWithFilteredResult(_0x1d2b85,_0x463dee){return function(_0x5529b0){if(_0x5529b0){var _0x7d19b0=_0x5529b0[_0xee90('0x19')],_0x39c13b=_0x463dee[_0xee90('0x1a')],_0x252a24=_0x463dee[_0xee90('0x1a')]+_0x463dee[_0xee90('0x1b')],_0x267ef6;if(_0x252a24>=_0x7d19b0){_0x252a24=_0x7d19b0;_0x267ef6=0xc8;}else{_0x267ef6=0xce;}_0x1d2b85['status'](_0x267ef6);return _0x1d2b85['set'](_0xee90('0x1c'),_0x39c13b+'-'+_0x252a24+'/'+_0x7d19b0)[_0xee90('0x1d')](_0x5529b0);}return null;};}function patchUpdates(_0x21b12b){return function(_0xe2f27e){try{jsonpatch[_0xee90('0x1e')](_0xe2f27e,_0x21b12b,!![]);}catch(_0x124ad4){return BPromise[_0xee90('0x1f')](_0x124ad4);}return _0xe2f27e['save']();};}function saveUpdates(_0x58b5af,_0x55179f){return function(_0x30568d){if(_0x30568d){return _0x30568d[_0xee90('0x20')](_0x58b5af)['then'](function(_0xe63ee7){return _0xe63ee7;});}return null;};}function removeEntity(_0x443616,_0x5acb9a){return function(_0x46895f){if(_0x46895f){return _0x46895f['destroy']()['then'](function(){_0x443616[_0xee90('0x17')](0xcc)[_0xee90('0x18')]();});}};}function handleEntityNotFound(_0x55d755,_0x3f1ec4){return function(_0x553882){if(!_0x553882){_0x55d755[_0xee90('0x21')](0x194);}return _0x553882;};}function handleError(_0x27c9ab,_0x191e35){_0x191e35=_0x191e35||0x1f4;return function(_0x497af2){logger[_0xee90('0x22')](_0x497af2[_0xee90('0x23')]);if(_0x497af2[_0xee90('0x24')]){delete _0x497af2[_0xee90('0x24')];}_0x27c9ab[_0xee90('0x17')](_0x191e35)[_0xee90('0x25')](_0x497af2);};}exports[_0xee90('0x26')]=function(_0x6a0a5d,_0xce368b){var _0x3c8571={},_0x5ca2d5={},_0x2a73a6={'count':0x0,'rows':[]};var _0x1f428e=_['map'](db[_0xee90('0x27')]['rawAttributes'],function(_0x193d94){return{'name':_0x193d94[_0xee90('0x28')],'type':_0x193d94[_0xee90('0x29')][_0xee90('0x2a')]};});_0x5ca2d5['model']=_['map'](_0x1f428e,_0xee90('0x24'));_0x5ca2d5[_0xee90('0x2b')]=_[_0xee90('0x2c')](_0x6a0a5d[_0xee90('0x2b')]);_0x5ca2d5[_0xee90('0x2d')]=_[_0xee90('0x2e')](_0x5ca2d5[_0xee90('0x2f')],_0x5ca2d5['query']);_0x3c8571[_0xee90('0x30')]=_[_0xee90('0x2e')](_0x5ca2d5[_0xee90('0x2f')],qs[_0xee90('0x31')](_0x6a0a5d['query']['fields']));_0x3c8571['attributes']=_0x3c8571[_0xee90('0x30')][_0xee90('0x32')]?_0x3c8571[_0xee90('0x30')]:_0x5ca2d5[_0xee90('0x2f')];if(!_0x6a0a5d[_0xee90('0x2b')][_0xee90('0x33')](_0xee90('0x34'))){_0x3c8571[_0xee90('0x1b')]=qs[_0xee90('0x1b')](_0x6a0a5d[_0xee90('0x2b')][_0xee90('0x1b')]);_0x3c8571[_0xee90('0x1a')]=qs[_0xee90('0x1a')](_0x6a0a5d[_0xee90('0x2b')][_0xee90('0x1a')]);}_0x3c8571['order']=qs[_0xee90('0x35')](_0x6a0a5d['query'][_0xee90('0x35')]);_0x3c8571[_0xee90('0x36')]=qs[_0xee90('0x2d')](_[_0xee90('0x37')](_0x6a0a5d[_0xee90('0x2b')],_0x5ca2d5[_0xee90('0x2d')]),_0x1f428e);if(_0x6a0a5d[_0xee90('0x2b')]['filter']){_0x3c8571[_0xee90('0x36')]=_[_0xee90('0x38')](_0x3c8571[_0xee90('0x36')],{'$or':_['map'](_0x1f428e,function(_0x39c49c){if(_0x39c49c['type']!==_0xee90('0x39')){var _0x59038b={};_0x59038b[_0x39c49c[_0xee90('0x24')]]={'$like':'%'+_0x6a0a5d[_0xee90('0x2b')]['filter']+'%'};return _0x59038b;}})});}_0x3c8571=_[_0xee90('0x38')]({},_0x3c8571,_0x6a0a5d[_0xee90('0x3a')]);var _0x5d7066={'where':_0x3c8571['where']};return db[_0xee90('0x27')]['count'](_0x5d7066)['then'](function(_0x2d5f2c){_0x2a73a6[_0xee90('0x19')]=_0x2d5f2c;if(_0x6a0a5d[_0xee90('0x2b')][_0xee90('0x3b')]){_0x3c8571['include']=[{'all':!![]}];}return db[_0xee90('0x27')]['findAll'](_0x3c8571);})[_0xee90('0x3c')](function(_0x118d8b){_0x2a73a6['rows']=_0x118d8b;return _0x2a73a6;})[_0xee90('0x3c')](respondWithFilteredResult(_0xce368b,_0x3c8571))[_0xee90('0x3d')](handleError(_0xce368b,null));};exports[_0xee90('0x3e')]=function(_0x581643,_0x5ca764){var _0x14dc88={'raw':![],'where':{'id':_0x581643[_0xee90('0x3f')]['id']}},_0x401217={};_0x401217[_0xee90('0x2f')]=_[_0xee90('0x2c')](db['Integration']['rawAttributes']);_0x401217[_0xee90('0x2b')]=_[_0xee90('0x2c')](_0x581643[_0xee90('0x2b')]);_0x401217['filters']=_[_0xee90('0x2e')](_0x401217[_0xee90('0x2f')],_0x401217[_0xee90('0x2b')]);_0x14dc88[_0xee90('0x30')]=_[_0xee90('0x2e')](_0x401217['model'],qs['fields'](_0x581643[_0xee90('0x2b')]['fields']));_0x14dc88['attributes']=_0x14dc88[_0xee90('0x30')][_0xee90('0x32')]?_0x14dc88['attributes']:_0x401217[_0xee90('0x2f')];if(_0x581643[_0xee90('0x2b')][_0xee90('0x3b')]){_0x14dc88[_0xee90('0x40')]=[{'all':!![]}];}_0x14dc88=_[_0xee90('0x38')]({},_0x14dc88,_0x581643['options']);return db[_0xee90('0x27')][_0xee90('0x41')](_0x14dc88)['then'](handleEntityNotFound(_0x5ca764,null))['then'](respondWithResult(_0x5ca764,null))[_0xee90('0x3d')](handleError(_0x5ca764,null));};exports[_0xee90('0x42')]=function(_0x2af4e8,_0x41bedc){return db[_0xee90('0x27')]['create'](_0x2af4e8[_0xee90('0x43')],{})[_0xee90('0x3c')](respondWithResult(_0x41bedc,0xc9))[_0xee90('0x3d')](handleError(_0x41bedc,null));};exports[_0xee90('0x20')]=function(_0x4f65ca,_0x47adda){if(_0x4f65ca[_0xee90('0x43')]['id']){delete _0x4f65ca[_0xee90('0x43')]['id'];}return db[_0xee90('0x27')][_0xee90('0x41')]({'where':{'id':_0x4f65ca['params']['id']}})[_0xee90('0x3c')](handleEntityNotFound(_0x47adda,null))['then'](saveUpdates(_0x4f65ca[_0xee90('0x43')],null))[_0xee90('0x3c')](respondWithResult(_0x47adda,null))[_0xee90('0x3d')](handleError(_0x47adda,null));};exports[_0xee90('0x44')]=function(_0x461ea5,_0x14a525){return db[_0xee90('0x27')]['find']({'where':{'id':_0x461ea5['params']['id']}})['then'](handleEntityNotFound(_0x14a525,null))[_0xee90('0x3c')](removeEntity(_0x14a525,null))[_0xee90('0x3d')](handleError(_0x14a525,null));};