235db87bf67d8cdc83cdd68f045eb7ab3c4e2bad
[motion2.git] / server / api / integrationReport / integrationReport.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 _0xcddf=['keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','filter','where','merge','VIRTUAL','options','include','rows','catch','show','find','create','body','params','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','count','offset','limit','set','json','update','then','destroy','error','stack','name','send','index','map','IntegrationReport','rawAttributes','fieldName','type','key','model','query'];(function(_0x2a2a0f,_0x1047e4){var _0x22212d=function(_0x57dd00){while(--_0x57dd00){_0x2a2a0f['push'](_0x2a2a0f['shift']());}};_0x22212d(++_0x1047e4);}(_0xcddf,0x65));var _0xfcdd=function(_0x48f555,_0x1a8199){_0x48f555=_0x48f555-0x0;var _0x5a26f0=_0xcddf[_0x48f555];return _0x5a26f0;};'use strict';var pdf=require(_0xfcdd('0x0'));var emlformat=require(_0xfcdd('0x1'));var rimraf=require(_0xfcdd('0x2'));var zipdir=require(_0xfcdd('0x3'));var jsonpatch=require(_0xfcdd('0x4'));var rp=require('request-promise');var moment=require(_0xfcdd('0x5'));var BPromise=require(_0xfcdd('0x6'));var Mustache=require(_0xfcdd('0x7'));var util=require(_0xfcdd('0x8'));var path=require(_0xfcdd('0x9'));var sox=require(_0xfcdd('0xa'));var csv=require(_0xfcdd('0xb'));var ejs=require(_0xfcdd('0xc'));var fs=require('fs');var _=require(_0xfcdd('0xd'));var squel=require(_0xfcdd('0xe'));var crypto=require('crypto');var jsforce=require(_0xfcdd('0xf'));var deskjs=require(_0xfcdd('0x10'));var toCsv=require(_0xfcdd('0xb'));var querystring=require(_0xfcdd('0x11'));var Papa=require('papaparse');var Redis=require(_0xfcdd('0x12'));var authService=require(_0xfcdd('0x13'));var qs=require(_0xfcdd('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfcdd('0x15'));var logger=require(_0xfcdd('0x16'))(_0xfcdd('0x17'));var utils=require(_0xfcdd('0x18'));var config=require(_0xfcdd('0x19'));var licenseUtil=require(_0xfcdd('0x1a'));var db=require(_0xfcdd('0x1b'))['db'];function respondWithStatusCode(_0x6370fd,_0x58853a){_0x58853a=_0x58853a||0xcc;return function(_0x4345d3){if(_0x4345d3){return _0x6370fd[_0xfcdd('0x1c')](_0x58853a);}return _0x6370fd['status'](_0x58853a)['end']();};}function respondWithResult(_0x40911a,_0x4ef17b){_0x4ef17b=_0x4ef17b||0xc8;return function(_0xe88dad){if(_0xe88dad){return _0x40911a[_0xfcdd('0x1d')](_0x4ef17b)['json'](_0xe88dad);}};}function respondWithFilteredResult(_0xa737a6,_0x51a0d8){return function(_0x3df07c){if(_0x3df07c){var _0x28c005=_0x3df07c[_0xfcdd('0x1e')],_0x151ed6=_0x51a0d8[_0xfcdd('0x1f')],_0x5f0228=_0x51a0d8[_0xfcdd('0x1f')]+_0x51a0d8[_0xfcdd('0x20')],_0x2ff827;if(_0x5f0228>=_0x28c005){_0x5f0228=_0x28c005;_0x2ff827=0xc8;}else{_0x2ff827=0xce;}_0xa737a6[_0xfcdd('0x1d')](_0x2ff827);return _0xa737a6[_0xfcdd('0x21')]('Content-Range',_0x151ed6+'-'+_0x5f0228+'/'+_0x28c005)[_0xfcdd('0x22')](_0x3df07c);}return null;};}function patchUpdates(_0x392e1d){return function(_0x44b474){try{jsonpatch['apply'](_0x44b474,_0x392e1d,!![]);}catch(_0xa7258d){return BPromise['reject'](_0xa7258d);}return _0x44b474['save']();};}function saveUpdates(_0x2432b5,_0x3400d2){return function(_0xa2536c){if(_0xa2536c){return _0xa2536c[_0xfcdd('0x23')](_0x2432b5)[_0xfcdd('0x24')](function(_0x3fbc68){return _0x3fbc68;});}return null;};}function removeEntity(_0x48f6c8,_0x53dc10){return function(_0x81433f){if(_0x81433f){return _0x81433f[_0xfcdd('0x25')]()[_0xfcdd('0x24')](function(){_0x48f6c8[_0xfcdd('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3aeaf5,_0x7d7a9){return function(_0x384205){if(!_0x384205){_0x3aeaf5[_0xfcdd('0x1c')](0x194);}return _0x384205;};}function handleError(_0x33349e,_0x2a4395){_0x2a4395=_0x2a4395||0x1f4;return function(_0x2f2273){logger[_0xfcdd('0x26')](_0x2f2273[_0xfcdd('0x27')]);if(_0x2f2273[_0xfcdd('0x28')]){delete _0x2f2273[_0xfcdd('0x28')];}_0x33349e[_0xfcdd('0x1d')](_0x2a4395)[_0xfcdd('0x29')](_0x2f2273);};}exports[_0xfcdd('0x2a')]=function(_0x584324,_0x26c7df){var _0x31e48d={},_0x1e150e={},_0x3c51fc={'count':0x0,'rows':[]};var _0x439609=_[_0xfcdd('0x2b')](db[_0xfcdd('0x2c')][_0xfcdd('0x2d')],function(_0x5c232e){return{'name':_0x5c232e[_0xfcdd('0x2e')],'type':_0x5c232e[_0xfcdd('0x2f')][_0xfcdd('0x30')]};});_0x1e150e[_0xfcdd('0x31')]=_['map'](_0x439609,_0xfcdd('0x28'));_0x1e150e[_0xfcdd('0x32')]=_[_0xfcdd('0x33')](_0x584324[_0xfcdd('0x32')]);_0x1e150e['filters']=_[_0xfcdd('0x34')](_0x1e150e[_0xfcdd('0x31')],_0x1e150e[_0xfcdd('0x32')]);_0x31e48d[_0xfcdd('0x35')]=_[_0xfcdd('0x34')](_0x1e150e[_0xfcdd('0x31')],qs[_0xfcdd('0x36')](_0x584324['query']['fields']));_0x31e48d[_0xfcdd('0x35')]=_0x31e48d[_0xfcdd('0x35')][_0xfcdd('0x37')]?_0x31e48d[_0xfcdd('0x35')]:_0x1e150e[_0xfcdd('0x31')];if(!_0x584324[_0xfcdd('0x32')][_0xfcdd('0x38')](_0xfcdd('0x39'))){_0x31e48d[_0xfcdd('0x20')]=qs[_0xfcdd('0x20')](_0x584324[_0xfcdd('0x32')][_0xfcdd('0x20')]);_0x31e48d[_0xfcdd('0x1f')]=qs['offset'](_0x584324[_0xfcdd('0x32')]['offset']);}_0x31e48d[_0xfcdd('0x3a')]=qs[_0xfcdd('0x3b')](_0x584324[_0xfcdd('0x32')][_0xfcdd('0x3b')]);_0x31e48d['where']=qs[_0xfcdd('0x3c')](_[_0xfcdd('0x3d')](_0x584324[_0xfcdd('0x32')],_0x1e150e[_0xfcdd('0x3c')]),_0x439609);if(_0x584324['query'][_0xfcdd('0x3e')]){_0x31e48d[_0xfcdd('0x3f')]=_[_0xfcdd('0x40')](_0x31e48d['where'],{'$or':_['map'](_0x439609,function(_0x3ce357){if(_0x3ce357[_0xfcdd('0x2f')]!==_0xfcdd('0x41')){var _0x5e3a35={};_0x5e3a35[_0x3ce357[_0xfcdd('0x28')]]={'$like':'%'+_0x584324[_0xfcdd('0x32')][_0xfcdd('0x3e')]+'%'};return _0x5e3a35;}})});}_0x31e48d=_[_0xfcdd('0x40')]({},_0x31e48d,_0x584324[_0xfcdd('0x42')]);var _0x547c16={'where':_0x31e48d[_0xfcdd('0x3f')]};return db[_0xfcdd('0x2c')][_0xfcdd('0x1e')](_0x547c16)[_0xfcdd('0x24')](function(_0x533aef){_0x3c51fc[_0xfcdd('0x1e')]=_0x533aef;if(_0x584324[_0xfcdd('0x32')]['includeAll']){_0x31e48d[_0xfcdd('0x43')]=[{'all':!![]}];}return db[_0xfcdd('0x2c')]['findAll'](_0x31e48d);})[_0xfcdd('0x24')](function(_0x37c99c){_0x3c51fc[_0xfcdd('0x44')]=_0x37c99c;return _0x3c51fc;})[_0xfcdd('0x24')](respondWithFilteredResult(_0x26c7df,_0x31e48d))[_0xfcdd('0x45')](handleError(_0x26c7df,null));};exports[_0xfcdd('0x46')]=function(_0x4c5ffe,_0x321a8c){var _0x4c8bc5={'raw':![],'where':{'id':_0x4c5ffe['params']['id']}},_0x4edcb5={};_0x4edcb5[_0xfcdd('0x31')]=_['keys'](db[_0xfcdd('0x2c')][_0xfcdd('0x2d')]);_0x4edcb5[_0xfcdd('0x32')]=_[_0xfcdd('0x33')](_0x4c5ffe[_0xfcdd('0x32')]);_0x4edcb5[_0xfcdd('0x3c')]=_[_0xfcdd('0x34')](_0x4edcb5[_0xfcdd('0x31')],_0x4edcb5[_0xfcdd('0x32')]);_0x4c8bc5[_0xfcdd('0x35')]=_[_0xfcdd('0x34')](_0x4edcb5[_0xfcdd('0x31')],qs[_0xfcdd('0x36')](_0x4c5ffe['query'][_0xfcdd('0x36')]));_0x4c8bc5['attributes']=_0x4c8bc5[_0xfcdd('0x35')]['length']?_0x4c8bc5['attributes']:_0x4edcb5[_0xfcdd('0x31')];if(_0x4c5ffe[_0xfcdd('0x32')]['includeAll']){_0x4c8bc5['include']=[{'all':!![]}];}_0x4c8bc5=_[_0xfcdd('0x40')]({},_0x4c8bc5,_0x4c5ffe[_0xfcdd('0x42')]);return db[_0xfcdd('0x2c')][_0xfcdd('0x47')](_0x4c8bc5)['then'](handleEntityNotFound(_0x321a8c,null))['then'](respondWithResult(_0x321a8c,null))[_0xfcdd('0x45')](handleError(_0x321a8c,null));};exports[_0xfcdd('0x48')]=function(_0x533365,_0x145f4e){return db['IntegrationReport'][_0xfcdd('0x48')](_0x533365[_0xfcdd('0x49')],{})['then'](respondWithResult(_0x145f4e,0xc9))[_0xfcdd('0x45')](handleError(_0x145f4e,null));};exports[_0xfcdd('0x23')]=function(_0x1d4bdd,_0x32bf9a){if(_0x1d4bdd['body']['id']){delete _0x1d4bdd[_0xfcdd('0x49')]['id'];}return db[_0xfcdd('0x2c')][_0xfcdd('0x47')]({'where':{'id':_0x1d4bdd[_0xfcdd('0x4a')]['id']}})[_0xfcdd('0x24')](handleEntityNotFound(_0x32bf9a,null))[_0xfcdd('0x24')](saveUpdates(_0x1d4bdd[_0xfcdd('0x49')],null))[_0xfcdd('0x24')](respondWithResult(_0x32bf9a,null))[_0xfcdd('0x45')](handleError(_0x32bf9a,null));};exports[_0xfcdd('0x25')]=function(_0xeb0f70,_0x7c503d){return db[_0xfcdd('0x2c')][_0xfcdd('0x47')]({'where':{'id':_0xeb0f70[_0xfcdd('0x4a')]['id']}})[_0xfcdd('0x24')](handleEntityNotFound(_0x7c503d,null))['then'](removeEntity(_0x7c503d,null))[_0xfcdd('0x45')](handleError(_0x7c503d,null));};exports[_0xfcdd('0x4b')]=function(_0x27f701,_0x4cd710){return db[_0xfcdd('0x2c')][_0xfcdd('0x4b')]()[_0xfcdd('0x24')](respondWithResult(_0x4cd710,null))[_0xfcdd('0x45')](handleError(_0x4cd710,null));};