b6be08feca7c83b43a10e4a46a8166ddefdd3752
[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 _0x8622=['params','length','include','find','create','body','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','to-csv','ejs','lodash','squel','jsforce','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','set','update','destroy','then','end','stack','name','index','rawAttributes','fieldName','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','limit','sort','where','pick','filter','merge','type','VIRTUAL','options','IntegrationReport','includeAll','rows','catch','show'];(function(_0xbfa241,_0x575378){var _0x555082=function(_0xc55cf6){while(--_0xc55cf6){_0xbfa241['push'](_0xbfa241['shift']());}};_0x555082(++_0x575378);}(_0x8622,0x18d));var _0x2862=function(_0xa464c9,_0x7c86d8){_0xa464c9=_0xa464c9-0x0;var _0x3d73c4=_0x8622[_0xa464c9];return _0x3d73c4;};'use strict';var pdf=require(_0x2862('0x0'));var emlformat=require(_0x2862('0x1'));var rimraf=require(_0x2862('0x2'));var zipdir=require(_0x2862('0x3'));var jsonpatch=require(_0x2862('0x4'));var rp=require('request-promise');var moment=require(_0x2862('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x2862('0x6'));var ejs=require(_0x2862('0x7'));var fs=require('fs');var _=require(_0x2862('0x8'));var squel=require(_0x2862('0x9'));var crypto=require('crypto');var jsforce=require(_0x2862('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x2862('0x6'));var querystring=require(_0x2862('0xb'));var Papa=require(_0x2862('0xc'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x2862('0xd'));var as=require(_0x2862('0xe'));var hardwareService=require(_0x2862('0xf'));var logger=require('../../config/logger')(_0x2862('0x10'));var utils=require('../../config/utils');var config=require(_0x2862('0x11'));var licenseUtil=require(_0x2862('0x12'));var db=require(_0x2862('0x13'))['db'];function respondWithStatusCode(_0x1a5bf7,_0x3f671d){_0x3f671d=_0x3f671d||0xcc;return function(_0xb35840){if(_0xb35840){return _0x1a5bf7[_0x2862('0x14')](_0x3f671d);}return _0x1a5bf7[_0x2862('0x15')](_0x3f671d)['end']();};}function respondWithResult(_0x1b5d47,_0x14eb1b){_0x14eb1b=_0x14eb1b||0xc8;return function(_0x58fdae){if(_0x58fdae){return _0x1b5d47[_0x2862('0x15')](_0x14eb1b)[_0x2862('0x16')](_0x58fdae);}};}function respondWithFilteredResult(_0x91466d,_0x5e8568){return function(_0xfe6bbb){if(_0xfe6bbb){var _0x29b607=_0xfe6bbb[_0x2862('0x17')],_0x4a0073=_0x5e8568[_0x2862('0x18')],_0x2ce7c8=_0x5e8568['offset']+_0x5e8568['limit'],_0x30ff4;if(_0x2ce7c8>=_0x29b607){_0x2ce7c8=_0x29b607;_0x30ff4=0xc8;}else{_0x30ff4=0xce;}_0x91466d[_0x2862('0x15')](_0x30ff4);return _0x91466d[_0x2862('0x19')]('Content-Range',_0x4a0073+'-'+_0x2ce7c8+'/'+_0x29b607)[_0x2862('0x16')](_0xfe6bbb);}return null;};}function patchUpdates(_0xfcedd0){return function(_0x340dd9){try{jsonpatch['apply'](_0x340dd9,_0xfcedd0,!![]);}catch(_0x562d2e){return BPromise['reject'](_0x562d2e);}return _0x340dd9['save']();};}function saveUpdates(_0x28e36b,_0x1ecebe){return function(_0x1ae56b){if(_0x1ae56b){return _0x1ae56b[_0x2862('0x1a')](_0x28e36b)['then'](function(_0x73f85b){return _0x73f85b;});}return null;};}function removeEntity(_0x389e7c,_0x5806b0){return function(_0x528f17){if(_0x528f17){return _0x528f17[_0x2862('0x1b')]()[_0x2862('0x1c')](function(){_0x389e7c[_0x2862('0x15')](0xcc)[_0x2862('0x1d')]();});}};}function handleEntityNotFound(_0xe97c01,_0x2942a7){return function(_0x4044fd){if(!_0x4044fd){_0xe97c01[_0x2862('0x14')](0x194);}return _0x4044fd;};}function handleError(_0x8b40ed,_0x270d82){_0x270d82=_0x270d82||0x1f4;return function(_0x5f510b){logger['error'](_0x5f510b[_0x2862('0x1e')]);if(_0x5f510b[_0x2862('0x1f')]){delete _0x5f510b['name'];}_0x8b40ed['status'](_0x270d82)['send'](_0x5f510b);};}exports[_0x2862('0x20')]=function(_0x5d1d4c,_0x2864ec){var _0x8eb2de={},_0x10ea41={},_0x12a251={'count':0x0,'rows':[]};var _0x368c2e=_['map'](db['IntegrationReport'][_0x2862('0x21')],function(_0x39c82f){return{'name':_0x39c82f[_0x2862('0x22')],'type':_0x39c82f['type']['key']};});_0x10ea41[_0x2862('0x23')]=_[_0x2862('0x24')](_0x368c2e,'name');_0x10ea41[_0x2862('0x25')]=_[_0x2862('0x26')](_0x5d1d4c[_0x2862('0x25')]);_0x10ea41[_0x2862('0x27')]=_[_0x2862('0x28')](_0x10ea41['model'],_0x10ea41['query']);_0x8eb2de[_0x2862('0x29')]=_[_0x2862('0x28')](_0x10ea41[_0x2862('0x23')],qs['fields'](_0x5d1d4c[_0x2862('0x25')][_0x2862('0x2a')]));_0x8eb2de[_0x2862('0x29')]=_0x8eb2de[_0x2862('0x29')]['length']?_0x8eb2de['attributes']:_0x10ea41['model'];if(!_0x5d1d4c[_0x2862('0x25')][_0x2862('0x2b')]('nolimit')){_0x8eb2de[_0x2862('0x2c')]=qs[_0x2862('0x2c')](_0x5d1d4c['query'][_0x2862('0x2c')]);_0x8eb2de[_0x2862('0x18')]=qs[_0x2862('0x18')](_0x5d1d4c[_0x2862('0x25')][_0x2862('0x18')]);}_0x8eb2de['order']=qs[_0x2862('0x2d')](_0x5d1d4c[_0x2862('0x25')][_0x2862('0x2d')]);_0x8eb2de[_0x2862('0x2e')]=qs[_0x2862('0x27')](_[_0x2862('0x2f')](_0x5d1d4c[_0x2862('0x25')],_0x10ea41[_0x2862('0x27')]),_0x368c2e);if(_0x5d1d4c[_0x2862('0x25')][_0x2862('0x30')]){_0x8eb2de[_0x2862('0x2e')]=_[_0x2862('0x31')](_0x8eb2de[_0x2862('0x2e')],{'$or':_[_0x2862('0x24')](_0x368c2e,function(_0x2394f0){if(_0x2394f0[_0x2862('0x32')]!==_0x2862('0x33')){var _0x22ff53={};_0x22ff53[_0x2394f0[_0x2862('0x1f')]]={'$like':'%'+_0x5d1d4c[_0x2862('0x25')][_0x2862('0x30')]+'%'};return _0x22ff53;}})});}_0x8eb2de=_[_0x2862('0x31')]({},_0x8eb2de,_0x5d1d4c[_0x2862('0x34')]);var _0x2a2bb3={'where':_0x8eb2de[_0x2862('0x2e')]};return db[_0x2862('0x35')][_0x2862('0x17')](_0x2a2bb3)[_0x2862('0x1c')](function(_0x13a7ce){_0x12a251[_0x2862('0x17')]=_0x13a7ce;if(_0x5d1d4c[_0x2862('0x25')][_0x2862('0x36')]){_0x8eb2de['include']=[{'all':!![]}];}return db[_0x2862('0x35')]['findAll'](_0x8eb2de);})[_0x2862('0x1c')](function(_0x416d01){_0x12a251[_0x2862('0x37')]=_0x416d01;return _0x12a251;})[_0x2862('0x1c')](respondWithFilteredResult(_0x2864ec,_0x8eb2de))[_0x2862('0x38')](handleError(_0x2864ec,null));};exports[_0x2862('0x39')]=function(_0x1d0887,_0x5b41df){var _0x1dedc9={'raw':![],'where':{'id':_0x1d0887[_0x2862('0x3a')]['id']}},_0x4b9584={};_0x4b9584[_0x2862('0x23')]=_[_0x2862('0x26')](db[_0x2862('0x35')]['rawAttributes']);_0x4b9584[_0x2862('0x25')]=_[_0x2862('0x26')](_0x1d0887[_0x2862('0x25')]);_0x4b9584['filters']=_[_0x2862('0x28')](_0x4b9584[_0x2862('0x23')],_0x4b9584[_0x2862('0x25')]);_0x1dedc9[_0x2862('0x29')]=_['intersection'](_0x4b9584['model'],qs[_0x2862('0x2a')](_0x1d0887[_0x2862('0x25')][_0x2862('0x2a')]));_0x1dedc9[_0x2862('0x29')]=_0x1dedc9[_0x2862('0x29')][_0x2862('0x3b')]?_0x1dedc9['attributes']:_0x4b9584[_0x2862('0x23')];if(_0x1d0887['query'][_0x2862('0x36')]){_0x1dedc9[_0x2862('0x3c')]=[{'all':!![]}];}_0x1dedc9=_[_0x2862('0x31')]({},_0x1dedc9,_0x1d0887['options']);return db['IntegrationReport'][_0x2862('0x3d')](_0x1dedc9)[_0x2862('0x1c')](handleEntityNotFound(_0x5b41df,null))[_0x2862('0x1c')](respondWithResult(_0x5b41df,null))[_0x2862('0x38')](handleError(_0x5b41df,null));};exports[_0x2862('0x3e')]=function(_0x25d934,_0x4add0b){return db[_0x2862('0x35')][_0x2862('0x3e')](_0x25d934[_0x2862('0x3f')],{})[_0x2862('0x1c')](respondWithResult(_0x4add0b,0xc9))[_0x2862('0x38')](handleError(_0x4add0b,null));};exports[_0x2862('0x1a')]=function(_0x456f05,_0x197950){if(_0x456f05[_0x2862('0x3f')]['id']){delete _0x456f05[_0x2862('0x3f')]['id'];}return db[_0x2862('0x35')][_0x2862('0x3d')]({'where':{'id':_0x456f05[_0x2862('0x3a')]['id']}})['then'](handleEntityNotFound(_0x197950,null))['then'](saveUpdates(_0x456f05[_0x2862('0x3f')],null))['then'](respondWithResult(_0x197950,null))[_0x2862('0x38')](handleError(_0x197950,null));};exports[_0x2862('0x1b')]=function(_0x2418b9,_0x1d3d59){return db['IntegrationReport'][_0x2862('0x3d')]({'where':{'id':_0x2418b9[_0x2862('0x3a')]['id']}})['then'](handleEntityNotFound(_0x1d3d59,null))[_0x2862('0x1c')](removeEntity(_0x1d3d59,null))[_0x2862('0x38')](handleError(_0x1d3d59,null));};exports['describe']=function(_0x3bd3cc,_0xbbdaf3){return db[_0x2862('0x35')][_0x2862('0x40')]()[_0x2862('0x1c')](respondWithResult(_0xbbdaf3,null))[_0x2862('0x38')](handleError(_0xbbdaf3,null));};