Built motion from commit (unavailable).|2.5.12
[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 _0x8f73=['save','update','then','destroy','error','stack','name','send','index','map','Integration','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','catch','show','params','includeAll','find','create','body','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','reject'];(function(_0x3a9674,_0x57aa5a){var _0x5f4a8b=function(_0x20e339){while(--_0x20e339){_0x3a9674['push'](_0x3a9674['shift']());}};_0x5f4a8b(++_0x57aa5a);}(_0x8f73,0x79));var _0x38f7=function(_0x2dea24,_0x2fc021){_0x2dea24=_0x2dea24-0x0;var _0x309d58=_0x8f73[_0x2dea24];return _0x309d58;};'use strict';var pdf=require(_0x38f7('0x0'));var emlformat=require(_0x38f7('0x1'));var rimraf=require(_0x38f7('0x2'));var zipdir=require(_0x38f7('0x3'));var jsonpatch=require(_0x38f7('0x4'));var rp=require(_0x38f7('0x5'));var moment=require(_0x38f7('0x6'));var BPromise=require('bluebird');var Mustache=require(_0x38f7('0x7'));var util=require(_0x38f7('0x8'));var path=require(_0x38f7('0x9'));var sox=require(_0x38f7('0xa'));var csv=require(_0x38f7('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x38f7('0xc'));var squel=require(_0x38f7('0xd'));var crypto=require('crypto');var jsforce=require(_0x38f7('0xe'));var deskjs=require(_0x38f7('0xf'));var toCsv=require(_0x38f7('0xb'));var querystring=require(_0x38f7('0x10'));var Papa=require('papaparse');var Redis=require(_0x38f7('0x11'));var authService=require(_0x38f7('0x12'));var qs=require(_0x38f7('0x13'));var as=require(_0x38f7('0x14'));var hardwareService=require(_0x38f7('0x15'));var logger=require('../../config/logger')(_0x38f7('0x16'));var utils=require(_0x38f7('0x17'));var config=require(_0x38f7('0x18'));var licenseUtil=require(_0x38f7('0x19'));var db=require(_0x38f7('0x1a'))['db'];function respondWithStatusCode(_0x552524,_0x11b8d5){_0x11b8d5=_0x11b8d5||0xcc;return function(_0x1d4af2){if(_0x1d4af2){return _0x552524[_0x38f7('0x1b')](_0x11b8d5);}return _0x552524[_0x38f7('0x1c')](_0x11b8d5)[_0x38f7('0x1d')]();};}function respondWithResult(_0x451160,_0x482f43){_0x482f43=_0x482f43||0xc8;return function(_0x5581a5){if(_0x5581a5){return _0x451160[_0x38f7('0x1c')](_0x482f43)['json'](_0x5581a5);}};}function respondWithFilteredResult(_0xa918d2,_0x52279c){return function(_0xd6f54b){if(_0xd6f54b){var _0x173a44=_0xd6f54b[_0x38f7('0x1e')],_0x4e6b9f=_0x52279c[_0x38f7('0x1f')],_0x9f807d=_0x52279c[_0x38f7('0x1f')]+_0x52279c[_0x38f7('0x20')],_0x399af2;if(_0x9f807d>=_0x173a44){_0x9f807d=_0x173a44;_0x399af2=0xc8;}else{_0x399af2=0xce;}_0xa918d2['status'](_0x399af2);return _0xa918d2[_0x38f7('0x21')](_0x38f7('0x22'),_0x4e6b9f+'-'+_0x9f807d+'/'+_0x173a44)[_0x38f7('0x23')](_0xd6f54b);}return null;};}function patchUpdates(_0xfbccb4){return function(_0x37d05d){try{jsonpatch['apply'](_0x37d05d,_0xfbccb4,!![]);}catch(_0x530ed4){return BPromise[_0x38f7('0x24')](_0x530ed4);}return _0x37d05d[_0x38f7('0x25')]();};}function saveUpdates(_0x259379,_0x56d320){return function(_0x23c399){if(_0x23c399){return _0x23c399[_0x38f7('0x26')](_0x259379)[_0x38f7('0x27')](function(_0x258207){return _0x258207;});}return null;};}function removeEntity(_0x17177e,_0x5c9421){return function(_0x28cbbe){if(_0x28cbbe){return _0x28cbbe[_0x38f7('0x28')]()[_0x38f7('0x27')](function(){_0x17177e[_0x38f7('0x1c')](0xcc)[_0x38f7('0x1d')]();});}};}function handleEntityNotFound(_0x26d0e6,_0x45bb89){return function(_0x3d4f7d){if(!_0x3d4f7d){_0x26d0e6[_0x38f7('0x1b')](0x194);}return _0x3d4f7d;};}function handleError(_0x4c7e37,_0x4a3cc5){_0x4a3cc5=_0x4a3cc5||0x1f4;return function(_0x37c09e){logger[_0x38f7('0x29')](_0x37c09e[_0x38f7('0x2a')]);if(_0x37c09e['name']){delete _0x37c09e[_0x38f7('0x2b')];}_0x4c7e37[_0x38f7('0x1c')](_0x4a3cc5)[_0x38f7('0x2c')](_0x37c09e);};}exports[_0x38f7('0x2d')]=function(_0x57518b,_0x40efbd){var _0x5b41df={},_0x16154a={},_0x55a645={'count':0x0,'rows':[]};var _0xab82e7=_[_0x38f7('0x2e')](db[_0x38f7('0x2f')][_0x38f7('0x30')],function(_0x426314){return{'name':_0x426314[_0x38f7('0x31')],'type':_0x426314[_0x38f7('0x32')][_0x38f7('0x33')]};});_0x16154a[_0x38f7('0x34')]=_[_0x38f7('0x2e')](_0xab82e7,_0x38f7('0x2b'));_0x16154a[_0x38f7('0x35')]=_[_0x38f7('0x36')](_0x57518b[_0x38f7('0x35')]);_0x16154a[_0x38f7('0x37')]=_['intersection'](_0x16154a[_0x38f7('0x34')],_0x16154a[_0x38f7('0x35')]);_0x5b41df[_0x38f7('0x38')]=_[_0x38f7('0x39')](_0x16154a[_0x38f7('0x34')],qs[_0x38f7('0x3a')](_0x57518b[_0x38f7('0x35')]['fields']));_0x5b41df[_0x38f7('0x38')]=_0x5b41df[_0x38f7('0x38')][_0x38f7('0x3b')]?_0x5b41df[_0x38f7('0x38')]:_0x16154a[_0x38f7('0x34')];if(!_0x57518b['query'][_0x38f7('0x3c')](_0x38f7('0x3d'))){_0x5b41df[_0x38f7('0x20')]=qs[_0x38f7('0x20')](_0x57518b[_0x38f7('0x35')]['limit']);_0x5b41df[_0x38f7('0x1f')]=qs[_0x38f7('0x1f')](_0x57518b[_0x38f7('0x35')][_0x38f7('0x1f')]);}_0x5b41df[_0x38f7('0x3e')]=qs['sort'](_0x57518b['query'][_0x38f7('0x3f')]);_0x5b41df[_0x38f7('0x40')]=qs['filters'](_[_0x38f7('0x41')](_0x57518b[_0x38f7('0x35')],_0x16154a['filters']),_0xab82e7);if(_0x57518b[_0x38f7('0x35')]['filter']){_0x5b41df['where']=_[_0x38f7('0x42')](_0x5b41df[_0x38f7('0x40')],{'$or':_[_0x38f7('0x2e')](_0xab82e7,function(_0x2fde77){if(_0x2fde77[_0x38f7('0x32')]!==_0x38f7('0x43')){var _0x2a66a6={};_0x2a66a6[_0x2fde77[_0x38f7('0x2b')]]={'$like':'%'+_0x57518b['query'][_0x38f7('0x44')]+'%'};return _0x2a66a6;}})});}_0x5b41df=_['merge']({},_0x5b41df,_0x57518b[_0x38f7('0x45')]);var _0x80be35={'where':_0x5b41df[_0x38f7('0x40')]};return db['Integration']['count'](_0x80be35)[_0x38f7('0x27')](function(_0x41630){_0x55a645['count']=_0x41630;if(_0x57518b[_0x38f7('0x35')]['includeAll']){_0x5b41df[_0x38f7('0x46')]=[{'all':!![]}];}return db['Integration'][_0x38f7('0x47')](_0x5b41df);})[_0x38f7('0x27')](function(_0x5a2109){_0x55a645['rows']=_0x5a2109;return _0x55a645;})[_0x38f7('0x27')](respondWithFilteredResult(_0x40efbd,_0x5b41df))[_0x38f7('0x48')](handleError(_0x40efbd,null));};exports[_0x38f7('0x49')]=function(_0x401373,_0xffa89b){var _0x4a0134={'raw':![],'where':{'id':_0x401373[_0x38f7('0x4a')]['id']}},_0x38c638={};_0x38c638[_0x38f7('0x34')]=_[_0x38f7('0x36')](db['Integration'][_0x38f7('0x30')]);_0x38c638['query']=_[_0x38f7('0x36')](_0x401373['query']);_0x38c638[_0x38f7('0x37')]=_[_0x38f7('0x39')](_0x38c638[_0x38f7('0x34')],_0x38c638['query']);_0x4a0134[_0x38f7('0x38')]=_[_0x38f7('0x39')](_0x38c638[_0x38f7('0x34')],qs[_0x38f7('0x3a')](_0x401373[_0x38f7('0x35')][_0x38f7('0x3a')]));_0x4a0134[_0x38f7('0x38')]=_0x4a0134[_0x38f7('0x38')][_0x38f7('0x3b')]?_0x4a0134['attributes']:_0x38c638[_0x38f7('0x34')];if(_0x401373['query'][_0x38f7('0x4b')]){_0x4a0134[_0x38f7('0x46')]=[{'all':!![]}];}_0x4a0134=_['merge']({},_0x4a0134,_0x401373[_0x38f7('0x45')]);return db['Integration'][_0x38f7('0x4c')](_0x4a0134)[_0x38f7('0x27')](handleEntityNotFound(_0xffa89b,null))[_0x38f7('0x27')](respondWithResult(_0xffa89b,null))[_0x38f7('0x48')](handleError(_0xffa89b,null));};exports[_0x38f7('0x4d')]=function(_0x11c136,_0x7a996a){return db[_0x38f7('0x2f')][_0x38f7('0x4d')](_0x11c136[_0x38f7('0x4e')],{})[_0x38f7('0x27')](respondWithResult(_0x7a996a,0xc9))[_0x38f7('0x48')](handleError(_0x7a996a,null));};exports['update']=function(_0x512f0c,_0x3f3223){if(_0x512f0c['body']['id']){delete _0x512f0c[_0x38f7('0x4e')]['id'];}return db[_0x38f7('0x2f')]['find']({'where':{'id':_0x512f0c[_0x38f7('0x4a')]['id']}})[_0x38f7('0x27')](handleEntityNotFound(_0x3f3223,null))[_0x38f7('0x27')](saveUpdates(_0x512f0c['body'],null))[_0x38f7('0x27')](respondWithResult(_0x3f3223,null))[_0x38f7('0x48')](handleError(_0x3f3223,null));};exports['destroy']=function(_0x507d8c,_0x13d6ad){return db[_0x38f7('0x2f')][_0x38f7('0x4c')]({'where':{'id':_0x507d8c[_0x38f7('0x4a')]['id']}})[_0x38f7('0x27')](handleEntityNotFound(_0x13d6ad,null))['then'](removeEntity(_0x13d6ad,null))[_0x38f7('0x48')](handleError(_0x13d6ad,null));};