42e3add8e348fa4c4634dfba0f4b2d937f8c472b
[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 _0xbe12=['fast-json-patch','request-promise','bluebird','path','to-csv','ejs','squel','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','end','status','json','count','offset','limit','set','Content-Range','reject','then','destroy','error','stack','name','send','index','IntegrationReport','rawAttributes','fieldName','key','model','map','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','include','findAll','catch','show','params','intersection','includeAll','find','create','body','update','describe','html-pdf','eml-format','rimraf','zip-dir'];(function(_0x4ddbd8,_0x54faed){var _0xe5d736=function(_0x459b51){while(--_0x459b51){_0x4ddbd8['push'](_0x4ddbd8['shift']());}};_0xe5d736(++_0x54faed);}(_0xbe12,0xd1));var _0x2be1=function(_0xf47460,_0x157512){_0xf47460=_0xf47460-0x0;var _0x304d81=_0xbe12[_0xf47460];return _0x304d81;};'use strict';var pdf=require(_0x2be1('0x0'));var emlformat=require(_0x2be1('0x1'));var rimraf=require(_0x2be1('0x2'));var zipdir=require(_0x2be1('0x3'));var jsonpatch=require(_0x2be1('0x4'));var rp=require(_0x2be1('0x5'));var moment=require('moment');var BPromise=require(_0x2be1('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0x2be1('0x7'));var sox=require('sox');var csv=require(_0x2be1('0x8'));var ejs=require(_0x2be1('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x2be1('0xa'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x2be1('0x8'));var querystring=require(_0x2be1('0xb'));var Papa=require(_0x2be1('0xc'));var Redis=require(_0x2be1('0xd'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2be1('0xe'));var hardwareService=require(_0x2be1('0xf'));var logger=require(_0x2be1('0x10'))(_0x2be1('0x11'));var utils=require('../../config/utils');var config=require(_0x2be1('0x12'));var db=require(_0x2be1('0x13'))['db'];function respondWithStatusCode(_0x9e3e4,_0x3b7850){_0x3b7850=_0x3b7850||0xcc;return function(_0x3bbabd){if(_0x3bbabd){return _0x9e3e4[_0x2be1('0x14')](_0x3b7850);}return _0x9e3e4['status'](_0x3b7850)[_0x2be1('0x15')]();};}function respondWithResult(_0x506f2d,_0xa54d2d){_0xa54d2d=_0xa54d2d||0xc8;return function(_0x3b74cf){if(_0x3b74cf){return _0x506f2d[_0x2be1('0x16')](_0xa54d2d)[_0x2be1('0x17')](_0x3b74cf);}};}function respondWithFilteredResult(_0x41de37,_0x165d84){return function(_0x1ddd47){if(_0x1ddd47){var _0x3895ab=_0x1ddd47[_0x2be1('0x18')],_0x211e85=_0x165d84['offset'],_0x28b30a=_0x165d84[_0x2be1('0x19')]+_0x165d84[_0x2be1('0x1a')],_0x15bc65;if(_0x28b30a>=_0x3895ab){_0x28b30a=_0x3895ab;_0x15bc65=0xc8;}else{_0x15bc65=0xce;}_0x41de37['status'](_0x15bc65);return _0x41de37[_0x2be1('0x1b')](_0x2be1('0x1c'),_0x211e85+'-'+_0x28b30a+'/'+_0x3895ab)[_0x2be1('0x17')](_0x1ddd47);}return null;};}function patchUpdates(_0x5d9ed5){return function(_0x482f16){try{jsonpatch['apply'](_0x482f16,_0x5d9ed5,!![]);}catch(_0x4be2aa){return BPromise[_0x2be1('0x1d')](_0x4be2aa);}return _0x482f16['save']();};}function saveUpdates(_0x50cf83,_0x56e190){return function(_0x11a8e8){if(_0x11a8e8){return _0x11a8e8['update'](_0x50cf83)[_0x2be1('0x1e')](function(_0x1e86f0){return _0x1e86f0;});}return null;};}function removeEntity(_0x4aba25,_0x2b85c5){return function(_0x3a3551){if(_0x3a3551){return _0x3a3551[_0x2be1('0x1f')]()[_0x2be1('0x1e')](function(){_0x4aba25[_0x2be1('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x433e5a,_0x5e0a91){return function(_0x1cb070){if(!_0x1cb070){_0x433e5a['sendStatus'](0x194);}return _0x1cb070;};}function handleError(_0x6637e8,_0xf3c8b2){_0xf3c8b2=_0xf3c8b2||0x1f4;return function(_0x46c199){logger[_0x2be1('0x20')](_0x46c199[_0x2be1('0x21')]);if(_0x46c199[_0x2be1('0x22')]){delete _0x46c199['name'];}_0x6637e8[_0x2be1('0x16')](_0xf3c8b2)[_0x2be1('0x23')](_0x46c199);};}exports[_0x2be1('0x24')]=function(_0x5595b6,_0x3ebfce){var _0x3cba20={},_0x41a5a9={},_0x3f55d9={'count':0x0,'rows':[]};var _0x22b868=_['map'](db[_0x2be1('0x25')][_0x2be1('0x26')],function(_0x4230c5){return{'name':_0x4230c5[_0x2be1('0x27')],'type':_0x4230c5['type'][_0x2be1('0x28')]};});_0x41a5a9[_0x2be1('0x29')]=_[_0x2be1('0x2a')](_0x22b868,'name');_0x41a5a9[_0x2be1('0x2b')]=_[_0x2be1('0x2c')](_0x5595b6[_0x2be1('0x2b')]);_0x41a5a9[_0x2be1('0x2d')]=_['intersection'](_0x41a5a9['model'],_0x41a5a9[_0x2be1('0x2b')]);_0x3cba20[_0x2be1('0x2e')]=_['intersection'](_0x41a5a9[_0x2be1('0x29')],qs[_0x2be1('0x2f')](_0x5595b6[_0x2be1('0x2b')]['fields']));_0x3cba20[_0x2be1('0x2e')]=_0x3cba20['attributes'][_0x2be1('0x30')]?_0x3cba20[_0x2be1('0x2e')]:_0x41a5a9[_0x2be1('0x29')];if(!_0x5595b6['query'][_0x2be1('0x31')](_0x2be1('0x32'))){_0x3cba20[_0x2be1('0x1a')]=qs[_0x2be1('0x1a')](_0x5595b6[_0x2be1('0x2b')][_0x2be1('0x1a')]);_0x3cba20['offset']=qs['offset'](_0x5595b6[_0x2be1('0x2b')]['offset']);}_0x3cba20[_0x2be1('0x33')]=qs[_0x2be1('0x34')](_0x5595b6[_0x2be1('0x2b')][_0x2be1('0x34')]);_0x3cba20[_0x2be1('0x35')]=qs[_0x2be1('0x2d')](_[_0x2be1('0x36')](_0x5595b6[_0x2be1('0x2b')],_0x41a5a9['filters']),_0x22b868);if(_0x5595b6[_0x2be1('0x2b')]['filter']){_0x3cba20[_0x2be1('0x35')]=_[_0x2be1('0x37')](_0x3cba20[_0x2be1('0x35')],{'$or':_[_0x2be1('0x2a')](_0x22b868,function(_0x3d0c6e){if(_0x3d0c6e['type']!==_0x2be1('0x38')){var _0x136112={};_0x136112[_0x3d0c6e[_0x2be1('0x22')]]={'$like':'%'+_0x5595b6[_0x2be1('0x2b')][_0x2be1('0x39')]+'%'};return _0x136112;}})});}_0x3cba20=_[_0x2be1('0x37')]({},_0x3cba20,_0x5595b6[_0x2be1('0x3a')]);var _0xe4b9d8={'where':_0x3cba20[_0x2be1('0x35')]};return db[_0x2be1('0x25')][_0x2be1('0x18')](_0xe4b9d8)['then'](function(_0xcbac94){_0x3f55d9[_0x2be1('0x18')]=_0xcbac94;if(_0x5595b6['query']['includeAll']){_0x3cba20[_0x2be1('0x3b')]=[{'all':!![]}];}return db['IntegrationReport'][_0x2be1('0x3c')](_0x3cba20);})[_0x2be1('0x1e')](function(_0x59ec72){_0x3f55d9['rows']=_0x59ec72;return _0x3f55d9;})[_0x2be1('0x1e')](respondWithFilteredResult(_0x3ebfce,_0x3cba20))[_0x2be1('0x3d')](handleError(_0x3ebfce,null));};exports[_0x2be1('0x3e')]=function(_0x3e707c,_0xeb7137){var _0x3ed26e={'raw':![],'where':{'id':_0x3e707c[_0x2be1('0x3f')]['id']}},_0x4caa64={};_0x4caa64[_0x2be1('0x29')]=_[_0x2be1('0x2c')](db['IntegrationReport'][_0x2be1('0x26')]);_0x4caa64['query']=_[_0x2be1('0x2c')](_0x3e707c[_0x2be1('0x2b')]);_0x4caa64[_0x2be1('0x2d')]=_[_0x2be1('0x40')](_0x4caa64[_0x2be1('0x29')],_0x4caa64['query']);_0x3ed26e[_0x2be1('0x2e')]=_[_0x2be1('0x40')](_0x4caa64[_0x2be1('0x29')],qs[_0x2be1('0x2f')](_0x3e707c['query'][_0x2be1('0x2f')]));_0x3ed26e[_0x2be1('0x2e')]=_0x3ed26e[_0x2be1('0x2e')][_0x2be1('0x30')]?_0x3ed26e[_0x2be1('0x2e')]:_0x4caa64['model'];if(_0x3e707c[_0x2be1('0x2b')][_0x2be1('0x41')]){_0x3ed26e[_0x2be1('0x3b')]=[{'all':!![]}];}_0x3ed26e=_[_0x2be1('0x37')]({},_0x3ed26e,_0x3e707c[_0x2be1('0x3a')]);return db[_0x2be1('0x25')][_0x2be1('0x42')](_0x3ed26e)[_0x2be1('0x1e')](handleEntityNotFound(_0xeb7137,null))[_0x2be1('0x1e')](respondWithResult(_0xeb7137,null))[_0x2be1('0x3d')](handleError(_0xeb7137,null));};exports[_0x2be1('0x43')]=function(_0x1cf7c8,_0xb9df13){return db[_0x2be1('0x25')][_0x2be1('0x43')](_0x1cf7c8[_0x2be1('0x44')],{})[_0x2be1('0x1e')](respondWithResult(_0xb9df13,0xc9))[_0x2be1('0x3d')](handleError(_0xb9df13,null));};exports[_0x2be1('0x45')]=function(_0x4ebbca,_0x312b3a){if(_0x4ebbca['body']['id']){delete _0x4ebbca[_0x2be1('0x44')]['id'];}return db[_0x2be1('0x25')]['find']({'where':{'id':_0x4ebbca[_0x2be1('0x3f')]['id']}})[_0x2be1('0x1e')](handleEntityNotFound(_0x312b3a,null))[_0x2be1('0x1e')](saveUpdates(_0x4ebbca[_0x2be1('0x44')],null))[_0x2be1('0x1e')](respondWithResult(_0x312b3a,null))[_0x2be1('0x3d')](handleError(_0x312b3a,null));};exports[_0x2be1('0x1f')]=function(_0x3f6e98,_0x37c5f5){return db[_0x2be1('0x25')]['find']({'where':{'id':_0x3f6e98['params']['id']}})[_0x2be1('0x1e')](handleEntityNotFound(_0x37c5f5,null))[_0x2be1('0x1e')](removeEntity(_0x37c5f5,null))[_0x2be1('0x3d')](handleError(_0x37c5f5,null));};exports[_0x2be1('0x46')]=function(_0x37fdd0,_0x1961e3){return db['IntegrationReport'][_0x2be1('0x46')]()[_0x2be1('0x1e')](respondWithResult(_0x1961e3,null))[_0x2be1('0x3d')](handleError(_0x1961e3,null));};