1f01a44f0d400a2e58e24aa6cb6b46a29aead7de
[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 _0x7723=['include','findAll','rows','catch','show','includeAll','find','create','body','update','params','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','stack','name','index','map','IntegrationReport','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','pick','filter','where','VIRTUAL','merge','options'];(function(_0x4a12b3,_0x21afb8){var _0x36069f=function(_0x47cc67){while(--_0x47cc67){_0x4a12b3['push'](_0x4a12b3['shift']());}};_0x36069f(++_0x21afb8);}(_0x7723,0x17e));var _0x3772=function(_0x273d7c,_0x32b0fe){_0x273d7c=_0x273d7c-0x0;var _0x3ef775=_0x7723[_0x273d7c];return _0x3ef775;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3772('0x0'));var rimraf=require(_0x3772('0x1'));var zipdir=require(_0x3772('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3772('0x3'));var moment=require(_0x3772('0x4'));var BPromise=require(_0x3772('0x5'));var Mustache=require('mustache');var util=require(_0x3772('0x6'));var path=require(_0x3772('0x7'));var sox=require(_0x3772('0x8'));var csv=require(_0x3772('0x9'));var ejs=require(_0x3772('0xa'));var fs=require('fs');var _=require(_0x3772('0xb'));var squel=require(_0x3772('0xc'));var crypto=require(_0x3772('0xd'));var jsforce=require(_0x3772('0xe'));var deskjs=require(_0x3772('0xf'));var toCsv=require(_0x3772('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x3772('0x10'));var authService=require(_0x3772('0x11'));var qs=require(_0x3772('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3772('0x13'));var logger=require(_0x3772('0x14'))(_0x3772('0x15'));var utils=require(_0x3772('0x16'));var config=require(_0x3772('0x17'));var licenseUtil=require(_0x3772('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4dcd3a,_0x1939d5){_0x1939d5=_0x1939d5||0xcc;return function(_0x53198f){if(_0x53198f){return _0x4dcd3a['sendStatus'](_0x1939d5);}return _0x4dcd3a[_0x3772('0x19')](_0x1939d5)[_0x3772('0x1a')]();};}function respondWithResult(_0x2687b2,_0x5ef1ce){_0x5ef1ce=_0x5ef1ce||0xc8;return function(_0x48e8f9){if(_0x48e8f9){return _0x2687b2['status'](_0x5ef1ce)['json'](_0x48e8f9);}};}function respondWithFilteredResult(_0x4a8494,_0x4ab07b){return function(_0x49194d){if(_0x49194d){var _0x640871=_0x49194d[_0x3772('0x1b')],_0x5903dc=_0x4ab07b[_0x3772('0x1c')],_0x2afd97=_0x4ab07b[_0x3772('0x1c')]+_0x4ab07b[_0x3772('0x1d')],_0x23d782;if(_0x2afd97>=_0x640871){_0x2afd97=_0x640871;_0x23d782=0xc8;}else{_0x23d782=0xce;}_0x4a8494[_0x3772('0x19')](_0x23d782);return _0x4a8494[_0x3772('0x1e')](_0x3772('0x1f'),_0x5903dc+'-'+_0x2afd97+'/'+_0x640871)[_0x3772('0x20')](_0x49194d);}return null;};}function patchUpdates(_0x3ed308){return function(_0x183514){try{jsonpatch[_0x3772('0x21')](_0x183514,_0x3ed308,!![]);}catch(_0x2032d0){return BPromise[_0x3772('0x22')](_0x2032d0);}return _0x183514[_0x3772('0x23')]();};}function saveUpdates(_0x4bda24,_0x4ce6a4){return function(_0x252798){if(_0x252798){return _0x252798['update'](_0x4bda24)[_0x3772('0x24')](function(_0x23f53f){return _0x23f53f;});}return null;};}function removeEntity(_0x2761da,_0x5b652a){return function(_0x448ec4){if(_0x448ec4){return _0x448ec4[_0x3772('0x25')]()['then'](function(){_0x2761da[_0x3772('0x19')](0xcc)[_0x3772('0x1a')]();});}};}function handleEntityNotFound(_0x57a022,_0x571313){return function(_0x3f1d34){if(!_0x3f1d34){_0x57a022['sendStatus'](0x194);}return _0x3f1d34;};}function handleError(_0x4fbf29,_0x472558){_0x472558=_0x472558||0x1f4;return function(_0x12bc90){logger['error'](_0x12bc90[_0x3772('0x26')]);if(_0x12bc90[_0x3772('0x27')]){delete _0x12bc90[_0x3772('0x27')];}_0x4fbf29['status'](_0x472558)['send'](_0x12bc90);};}exports[_0x3772('0x28')]=function(_0x1f551a,_0x57e7e7){var _0x234df0={},_0x4dcd0a={},_0x44de94={'count':0x0,'rows':[]};var _0x1d4944=_[_0x3772('0x29')](db[_0x3772('0x2a')][_0x3772('0x2b')],function(_0x424c1a){return{'name':_0x424c1a[_0x3772('0x2c')],'type':_0x424c1a[_0x3772('0x2d')]['key']};});_0x4dcd0a['model']=_[_0x3772('0x29')](_0x1d4944,'name');_0x4dcd0a[_0x3772('0x2e')]=_[_0x3772('0x2f')](_0x1f551a[_0x3772('0x2e')]);_0x4dcd0a[_0x3772('0x30')]=_[_0x3772('0x31')](_0x4dcd0a[_0x3772('0x32')],_0x4dcd0a[_0x3772('0x2e')]);_0x234df0[_0x3772('0x33')]=_[_0x3772('0x31')](_0x4dcd0a['model'],qs[_0x3772('0x34')](_0x1f551a['query'][_0x3772('0x34')]));_0x234df0[_0x3772('0x33')]=_0x234df0['attributes'][_0x3772('0x35')]?_0x234df0['attributes']:_0x4dcd0a['model'];if(!_0x1f551a[_0x3772('0x2e')][_0x3772('0x36')]('nolimit')){_0x234df0[_0x3772('0x1d')]=qs['limit'](_0x1f551a['query'][_0x3772('0x1d')]);_0x234df0[_0x3772('0x1c')]=qs['offset'](_0x1f551a[_0x3772('0x2e')]['offset']);}_0x234df0['order']=qs[_0x3772('0x37')](_0x1f551a[_0x3772('0x2e')][_0x3772('0x37')]);_0x234df0['where']=qs[_0x3772('0x30')](_[_0x3772('0x38')](_0x1f551a[_0x3772('0x2e')],_0x4dcd0a[_0x3772('0x30')]),_0x1d4944);if(_0x1f551a[_0x3772('0x2e')][_0x3772('0x39')]){_0x234df0['where']=_['merge'](_0x234df0[_0x3772('0x3a')],{'$or':_[_0x3772('0x29')](_0x1d4944,function(_0x1cebb5){if(_0x1cebb5[_0x3772('0x2d')]!==_0x3772('0x3b')){var _0x535bf1={};_0x535bf1[_0x1cebb5[_0x3772('0x27')]]={'$like':'%'+_0x1f551a[_0x3772('0x2e')][_0x3772('0x39')]+'%'};return _0x535bf1;}})});}_0x234df0=_[_0x3772('0x3c')]({},_0x234df0,_0x1f551a[_0x3772('0x3d')]);var _0x3b9d39={'where':_0x234df0[_0x3772('0x3a')]};return db[_0x3772('0x2a')]['count'](_0x3b9d39)['then'](function(_0x5a4de8){_0x44de94['count']=_0x5a4de8;if(_0x1f551a['query']['includeAll']){_0x234df0[_0x3772('0x3e')]=[{'all':!![]}];}return db[_0x3772('0x2a')][_0x3772('0x3f')](_0x234df0);})[_0x3772('0x24')](function(_0x208e13){_0x44de94[_0x3772('0x40')]=_0x208e13;return _0x44de94;})[_0x3772('0x24')](respondWithFilteredResult(_0x57e7e7,_0x234df0))[_0x3772('0x41')](handleError(_0x57e7e7,null));};exports[_0x3772('0x42')]=function(_0x4e6dec,_0x2bbb63){var _0x4baa43={'raw':![],'where':{'id':_0x4e6dec['params']['id']}},_0xb50e18={};_0xb50e18[_0x3772('0x32')]=_[_0x3772('0x2f')](db[_0x3772('0x2a')][_0x3772('0x2b')]);_0xb50e18[_0x3772('0x2e')]=_[_0x3772('0x2f')](_0x4e6dec[_0x3772('0x2e')]);_0xb50e18[_0x3772('0x30')]=_[_0x3772('0x31')](_0xb50e18[_0x3772('0x32')],_0xb50e18['query']);_0x4baa43[_0x3772('0x33')]=_[_0x3772('0x31')](_0xb50e18['model'],qs[_0x3772('0x34')](_0x4e6dec['query']['fields']));_0x4baa43[_0x3772('0x33')]=_0x4baa43[_0x3772('0x33')][_0x3772('0x35')]?_0x4baa43['attributes']:_0xb50e18[_0x3772('0x32')];if(_0x4e6dec['query'][_0x3772('0x43')]){_0x4baa43[_0x3772('0x3e')]=[{'all':!![]}];}_0x4baa43=_[_0x3772('0x3c')]({},_0x4baa43,_0x4e6dec[_0x3772('0x3d')]);return db['IntegrationReport'][_0x3772('0x44')](_0x4baa43)['then'](handleEntityNotFound(_0x2bbb63,null))[_0x3772('0x24')](respondWithResult(_0x2bbb63,null))[_0x3772('0x41')](handleError(_0x2bbb63,null));};exports[_0x3772('0x45')]=function(_0x11007a,_0x551e91){return db['IntegrationReport'][_0x3772('0x45')](_0x11007a[_0x3772('0x46')],{})[_0x3772('0x24')](respondWithResult(_0x551e91,0xc9))['catch'](handleError(_0x551e91,null));};exports[_0x3772('0x47')]=function(_0x4b4b51,_0x36d94a){if(_0x4b4b51['body']['id']){delete _0x4b4b51['body']['id'];}return db[_0x3772('0x2a')][_0x3772('0x44')]({'where':{'id':_0x4b4b51[_0x3772('0x48')]['id']}})[_0x3772('0x24')](handleEntityNotFound(_0x36d94a,null))[_0x3772('0x24')](saveUpdates(_0x4b4b51[_0x3772('0x46')],null))[_0x3772('0x24')](respondWithResult(_0x36d94a,null))[_0x3772('0x41')](handleError(_0x36d94a,null));};exports[_0x3772('0x25')]=function(_0x133b4a,_0x34358d){return db['IntegrationReport'][_0x3772('0x44')]({'where':{'id':_0x133b4a[_0x3772('0x48')]['id']}})[_0x3772('0x24')](handleEntityNotFound(_0x34358d,null))[_0x3772('0x24')](removeEntity(_0x34358d,null))[_0x3772('0x41')](handleError(_0x34358d,null));};exports[_0x3772('0x49')]=function(_0x485d8c,_0x16709f){return db[_0x3772('0x2a')][_0x3772('0x49')]()['then'](respondWithResult(_0x16709f,null))['catch'](handleError(_0x16709f,null));};