Built motion from commit (unavailable).|2.4.17
[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 _0x8cb9=['error','name','send','index','map','Integration','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','nolimit','limit','sort','where','pick','filter','VIRTUAL','options','includeAll','include','findAll','catch','show','length','merge','find','body','params','html-pdf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','save','update','destroy','then','end'];(function(_0x51600e,_0x18fd7e){var _0x15f9af=function(_0x4f1cf6){while(--_0x4f1cf6){_0x51600e['push'](_0x51600e['shift']());}};_0x15f9af(++_0x18fd7e);}(_0x8cb9,0xfd));var _0x98cb=function(_0x58244c,_0x2d8d26){_0x58244c=_0x58244c-0x0;var _0x60b958=_0x8cb9[_0x58244c];return _0x60b958;};'use strict';var pdf=require(_0x98cb('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x98cb('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x98cb('0x2'));var moment=require(_0x98cb('0x3'));var BPromise=require(_0x98cb('0x4'));var Mustache=require(_0x98cb('0x5'));var util=require(_0x98cb('0x6'));var path=require(_0x98cb('0x7'));var sox=require(_0x98cb('0x8'));var csv=require(_0x98cb('0x9'));var ejs=require(_0x98cb('0xa'));var fs=require('fs');var _=require(_0x98cb('0xb'));var squel=require(_0x98cb('0xc'));var crypto=require(_0x98cb('0xd'));var jsforce=require(_0x98cb('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x98cb('0xf'));var Papa=require(_0x98cb('0x10'));var Redis=require(_0x98cb('0x11'));var authService=require(_0x98cb('0x12'));var qs=require(_0x98cb('0x13'));var as=require(_0x98cb('0x14'));var hardwareService=require(_0x98cb('0x15'));var logger=require(_0x98cb('0x16'))(_0x98cb('0x17'));var utils=require(_0x98cb('0x18'));var config=require(_0x98cb('0x19'));var db=require(_0x98cb('0x1a'))['db'];function respondWithStatusCode(_0xd7f477,_0x672ae2){_0x672ae2=_0x672ae2||0xcc;return function(_0x57df28){if(_0x57df28){return _0xd7f477[_0x98cb('0x1b')](_0x672ae2);}return _0xd7f477[_0x98cb('0x1c')](_0x672ae2)['end']();};}function respondWithResult(_0x1ae84c,_0x54c36d){_0x54c36d=_0x54c36d||0xc8;return function(_0x5bde5){if(_0x5bde5){return _0x1ae84c[_0x98cb('0x1c')](_0x54c36d)[_0x98cb('0x1d')](_0x5bde5);}};}function respondWithFilteredResult(_0xd7887b,_0x2c49aa){return function(_0x7bff42){if(_0x7bff42){var _0x3d6986=_0x7bff42[_0x98cb('0x1e')],_0x17921f=_0x2c49aa[_0x98cb('0x1f')],_0x4f2288=_0x2c49aa[_0x98cb('0x1f')]+_0x2c49aa['limit'],_0x2e5968;if(_0x4f2288>=_0x3d6986){_0x4f2288=_0x3d6986;_0x2e5968=0xc8;}else{_0x2e5968=0xce;}_0xd7887b[_0x98cb('0x1c')](_0x2e5968);return _0xd7887b[_0x98cb('0x20')](_0x98cb('0x21'),_0x17921f+'-'+_0x4f2288+'/'+_0x3d6986)[_0x98cb('0x1d')](_0x7bff42);}return null;};}function patchUpdates(_0x503af0){return function(_0x634c0c){try{jsonpatch['apply'](_0x634c0c,_0x503af0,!![]);}catch(_0x392b4d){return BPromise['reject'](_0x392b4d);}return _0x634c0c[_0x98cb('0x22')]();};}function saveUpdates(_0x2b04e5,_0xcc439e){return function(_0x5771b0){if(_0x5771b0){return _0x5771b0[_0x98cb('0x23')](_0x2b04e5)['then'](function(_0x4749ae){return _0x4749ae;});}return null;};}function removeEntity(_0x1e2fa2,_0x4e9e59){return function(_0x122951){if(_0x122951){return _0x122951[_0x98cb('0x24')]()[_0x98cb('0x25')](function(){_0x1e2fa2[_0x98cb('0x1c')](0xcc)[_0x98cb('0x26')]();});}};}function handleEntityNotFound(_0x3601f7,_0x3d298e){return function(_0x1152ed){if(!_0x1152ed){_0x3601f7['sendStatus'](0x194);}return _0x1152ed;};}function handleError(_0xe60ff7,_0x2bd746){_0x2bd746=_0x2bd746||0x1f4;return function(_0x48ea66){logger[_0x98cb('0x27')](_0x48ea66['stack']);if(_0x48ea66[_0x98cb('0x28')]){delete _0x48ea66['name'];}_0xe60ff7[_0x98cb('0x1c')](_0x2bd746)[_0x98cb('0x29')](_0x48ea66);};}exports[_0x98cb('0x2a')]=function(_0x450d9e,_0x4c1012){var _0x18aa23={},_0xc38697={},_0x3fbe2f={'count':0x0,'rows':[]};var _0x9d3d3b=_[_0x98cb('0x2b')](db[_0x98cb('0x2c')][_0x98cb('0x2d')],function(_0x42282a){return{'name':_0x42282a[_0x98cb('0x2e')],'type':_0x42282a[_0x98cb('0x2f')]['key']};});_0xc38697['model']=_[_0x98cb('0x2b')](_0x9d3d3b,'name');_0xc38697[_0x98cb('0x30')]=_[_0x98cb('0x31')](_0x450d9e['query']);_0xc38697[_0x98cb('0x32')]=_[_0x98cb('0x33')](_0xc38697[_0x98cb('0x34')],_0xc38697[_0x98cb('0x30')]);_0x18aa23[_0x98cb('0x35')]=_[_0x98cb('0x33')](_0xc38697['model'],qs['fields'](_0x450d9e[_0x98cb('0x30')][_0x98cb('0x36')]));_0x18aa23[_0x98cb('0x35')]=_0x18aa23[_0x98cb('0x35')]['length']?_0x18aa23['attributes']:_0xc38697[_0x98cb('0x34')];if(!_0x450d9e[_0x98cb('0x30')]['hasOwnProperty'](_0x98cb('0x37'))){_0x18aa23[_0x98cb('0x38')]=qs['limit'](_0x450d9e[_0x98cb('0x30')][_0x98cb('0x38')]);_0x18aa23[_0x98cb('0x1f')]=qs['offset'](_0x450d9e[_0x98cb('0x30')]['offset']);}_0x18aa23['order']=qs[_0x98cb('0x39')](_0x450d9e[_0x98cb('0x30')][_0x98cb('0x39')]);_0x18aa23[_0x98cb('0x3a')]=qs[_0x98cb('0x32')](_[_0x98cb('0x3b')](_0x450d9e[_0x98cb('0x30')],_0xc38697[_0x98cb('0x32')]));if(_0x450d9e[_0x98cb('0x30')][_0x98cb('0x3c')]){_0x18aa23[_0x98cb('0x3a')]=_['merge'](_0x18aa23[_0x98cb('0x3a')],{'$or':_[_0x98cb('0x2b')](_0x9d3d3b,function(_0x56df14){if(_0x56df14[_0x98cb('0x2f')]!==_0x98cb('0x3d')){var _0x52daf6={};_0x52daf6[_0x56df14[_0x98cb('0x28')]]={'$like':'%'+_0x450d9e[_0x98cb('0x30')]['filter']+'%'};return _0x52daf6;}})});}_0x18aa23=_['merge']({},_0x18aa23,_0x450d9e[_0x98cb('0x3e')]);var _0x277edb={'where':_0x18aa23[_0x98cb('0x3a')]};return db[_0x98cb('0x2c')][_0x98cb('0x1e')](_0x277edb)['then'](function(_0x5cc27d){_0x3fbe2f[_0x98cb('0x1e')]=_0x5cc27d;if(_0x450d9e[_0x98cb('0x30')][_0x98cb('0x3f')]){_0x18aa23[_0x98cb('0x40')]=[{'all':!![]}];}return db[_0x98cb('0x2c')][_0x98cb('0x41')](_0x18aa23);})[_0x98cb('0x25')](function(_0x1300d2){_0x3fbe2f['rows']=_0x1300d2;return _0x3fbe2f;})[_0x98cb('0x25')](respondWithFilteredResult(_0x4c1012,_0x18aa23))[_0x98cb('0x42')](handleError(_0x4c1012,null));};exports[_0x98cb('0x43')]=function(_0x7f3008,_0x53d466){var _0x105028={'raw':![],'where':{'id':_0x7f3008['params']['id']}},_0x2055bf={};_0x2055bf['model']=_[_0x98cb('0x31')](db['Integration'][_0x98cb('0x2d')]);_0x2055bf['query']=_[_0x98cb('0x31')](_0x7f3008[_0x98cb('0x30')]);_0x2055bf[_0x98cb('0x32')]=_[_0x98cb('0x33')](_0x2055bf[_0x98cb('0x34')],_0x2055bf[_0x98cb('0x30')]);_0x105028[_0x98cb('0x35')]=_[_0x98cb('0x33')](_0x2055bf[_0x98cb('0x34')],qs[_0x98cb('0x36')](_0x7f3008[_0x98cb('0x30')]['fields']));_0x105028[_0x98cb('0x35')]=_0x105028['attributes'][_0x98cb('0x44')]?_0x105028['attributes']:_0x2055bf[_0x98cb('0x34')];if(_0x7f3008['query'][_0x98cb('0x3f')]){_0x105028[_0x98cb('0x40')]=[{'all':!![]}];}_0x105028=_[_0x98cb('0x45')]({},_0x105028,_0x7f3008[_0x98cb('0x3e')]);return db[_0x98cb('0x2c')][_0x98cb('0x46')](_0x105028)['then'](handleEntityNotFound(_0x53d466,null))[_0x98cb('0x25')](respondWithResult(_0x53d466,null))['catch'](handleError(_0x53d466,null));};exports['create']=function(_0x59b4b1,_0x54d3ee){return db[_0x98cb('0x2c')]['create'](_0x59b4b1[_0x98cb('0x47')],{})[_0x98cb('0x25')](respondWithResult(_0x54d3ee,0xc9))['catch'](handleError(_0x54d3ee,null));};exports[_0x98cb('0x23')]=function(_0x25404a,_0x3ed473){if(_0x25404a['body']['id']){delete _0x25404a[_0x98cb('0x47')]['id'];}return db['Integration'][_0x98cb('0x46')]({'where':{'id':_0x25404a[_0x98cb('0x48')]['id']}})[_0x98cb('0x25')](handleEntityNotFound(_0x3ed473,null))[_0x98cb('0x25')](saveUpdates(_0x25404a[_0x98cb('0x47')],null))[_0x98cb('0x25')](respondWithResult(_0x3ed473,null))[_0x98cb('0x42')](handleError(_0x3ed473,null));};exports[_0x98cb('0x24')]=function(_0x3bd875,_0x442f9b){return db[_0x98cb('0x2c')]['find']({'where':{'id':_0x3bd875['params']['id']}})[_0x98cb('0x25')](handleEntityNotFound(_0x442f9b,null))[_0x98cb('0x25')](removeEntity(_0x442f9b,null))[_0x98cb('0x42')](handleError(_0x442f9b,null));};