Built motion from commit 1fa89557.|2.6.10
[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 _0xe0ae=['jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','Content-Range','apply','reject','save','then','destroy','error','name','send','map','rawAttributes','type','key','model','filters','intersection','fields','query','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','IntegrationReport','rows','catch','show','params','keys','includeAll','find','create','body','update','describe','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto'];(function(_0x131ab5,_0x114bff){var _0x82b610=function(_0xbde334){while(--_0xbde334){_0x131ab5['push'](_0x131ab5['shift']());}};_0x82b610(++_0x114bff);}(_0xe0ae,0x174));var _0xee0a=function(_0x1fd675,_0x165dfe){_0x1fd675=_0x1fd675-0x0;var _0x16b554=_0xe0ae[_0x1fd675];return _0x16b554;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xee0a('0x0'));var zipdir=require(_0xee0a('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xee0a('0x2'));var BPromise=require(_0xee0a('0x3'));var Mustache=require(_0xee0a('0x4'));var util=require(_0xee0a('0x5'));var path=require(_0xee0a('0x6'));var sox=require(_0xee0a('0x7'));var csv=require('to-csv');var ejs=require(_0xee0a('0x8'));var fs=require('fs');var fs_extra=require(_0xee0a('0x9'));var _=require(_0xee0a('0xa'));var squel=require(_0xee0a('0xb'));var crypto=require(_0xee0a('0xc'));var jsforce=require(_0xee0a('0xd'));var deskjs=require(_0xee0a('0xe'));var toCsv=require(_0xee0a('0xf'));var querystring=require(_0xee0a('0x10'));var Papa=require(_0xee0a('0x11'));var Redis=require(_0xee0a('0x12'));var authService=require(_0xee0a('0x13'));var qs=require(_0xee0a('0x14'));var as=require(_0xee0a('0x15'));var hardwareService=require(_0xee0a('0x16'));var logger=require(_0xee0a('0x17'))(_0xee0a('0x18'));var utils=require(_0xee0a('0x19'));var config=require(_0xee0a('0x1a'));var licenseUtil=require(_0xee0a('0x1b'));var db=require(_0xee0a('0x1c'))['db'];function respondWithStatusCode(_0x189288,_0x472927){_0x472927=_0x472927||0xcc;return function(_0x4d723a){if(_0x4d723a){return _0x189288[_0xee0a('0x1d')](_0x472927);}return _0x189288['status'](_0x472927)['end']();};}function respondWithResult(_0x186e0c,_0x3e049d){_0x3e049d=_0x3e049d||0xc8;return function(_0x3ce957){if(_0x3ce957){return _0x186e0c[_0xee0a('0x1e')](_0x3e049d)['json'](_0x3ce957);}};}function respondWithFilteredResult(_0xb18aa0,_0x141fd2){return function(_0x3b017f){if(_0x3b017f){var _0x25ed35=typeof _0x141fd2[_0xee0a('0x1f')]===_0xee0a('0x20')&&typeof _0x141fd2[_0xee0a('0x21')]===_0xee0a('0x20');var _0x3c5a0c=_0x3b017f[_0xee0a('0x22')];var _0xc9fd39=_0x25ed35?0x0:_0x141fd2[_0xee0a('0x1f')];var _0x57d726=_0x25ed35?_0x3b017f['count']:_0x141fd2[_0xee0a('0x1f')]+_0x141fd2[_0xee0a('0x21')];var _0x4f58f4;if(_0x57d726>=_0x3c5a0c){_0x57d726=_0x3c5a0c;_0x4f58f4=0xc8;}else{_0x4f58f4=0xce;}_0xb18aa0[_0xee0a('0x1e')](_0x4f58f4);return _0xb18aa0['set'](_0xee0a('0x23'),_0xc9fd39+'-'+_0x57d726+'/'+_0x3c5a0c)['json'](_0x3b017f);}return null;};}function patchUpdates(_0x1eeafc){return function(_0x4fbe9a){try{jsonpatch[_0xee0a('0x24')](_0x4fbe9a,_0x1eeafc,!![]);}catch(_0x5a81ea){return BPromise[_0xee0a('0x25')](_0x5a81ea);}return _0x4fbe9a[_0xee0a('0x26')]();};}function saveUpdates(_0x4095b1,_0x359dc6){return function(_0x475b27){if(_0x475b27){return _0x475b27['update'](_0x4095b1)[_0xee0a('0x27')](function(_0x3a4fbe){return _0x3a4fbe;});}return null;};}function removeEntity(_0x142573,_0x5c4388){return function(_0x591ac7){if(_0x591ac7){return _0x591ac7[_0xee0a('0x28')]()[_0xee0a('0x27')](function(){_0x142573[_0xee0a('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x37710b,_0x311c64){return function(_0x58c10a){if(!_0x58c10a){_0x37710b[_0xee0a('0x1d')](0x194);}return _0x58c10a;};}function handleError(_0x32ea02,_0x387210){_0x387210=_0x387210||0x1f4;return function(_0x3c3034){logger[_0xee0a('0x29')](_0x3c3034['stack']);if(_0x3c3034[_0xee0a('0x2a')]){delete _0x3c3034['name'];}_0x32ea02[_0xee0a('0x1e')](_0x387210)[_0xee0a('0x2b')](_0x3c3034);};}exports['index']=function(_0x1e75ae,_0x27c566){var _0x1f6d04={},_0x1f1915={},_0x3a2574={'count':0x0,'rows':[]};var _0x100a91=_[_0xee0a('0x2c')](db['IntegrationReport'][_0xee0a('0x2d')],function(_0xd0a031){return{'name':_0xd0a031['fieldName'],'type':_0xd0a031[_0xee0a('0x2e')][_0xee0a('0x2f')]};});_0x1f1915[_0xee0a('0x30')]=_[_0xee0a('0x2c')](_0x100a91,'name');_0x1f1915['query']=_['keys'](_0x1e75ae['query']);_0x1f1915[_0xee0a('0x31')]=_[_0xee0a('0x32')](_0x1f1915[_0xee0a('0x30')],_0x1f1915['query']);_0x1f6d04['attributes']=_[_0xee0a('0x32')](_0x1f1915[_0xee0a('0x30')],qs[_0xee0a('0x33')](_0x1e75ae[_0xee0a('0x34')][_0xee0a('0x33')]));_0x1f6d04[_0xee0a('0x35')]=_0x1f6d04[_0xee0a('0x35')][_0xee0a('0x36')]?_0x1f6d04[_0xee0a('0x35')]:_0x1f1915[_0xee0a('0x30')];if(!_0x1e75ae['query'][_0xee0a('0x37')](_0xee0a('0x38'))){_0x1f6d04['limit']=qs[_0xee0a('0x21')](_0x1e75ae[_0xee0a('0x34')][_0xee0a('0x21')]);_0x1f6d04[_0xee0a('0x1f')]=qs[_0xee0a('0x1f')](_0x1e75ae[_0xee0a('0x34')][_0xee0a('0x1f')]);}_0x1f6d04[_0xee0a('0x39')]=qs[_0xee0a('0x3a')](_0x1e75ae[_0xee0a('0x34')]['sort']);_0x1f6d04[_0xee0a('0x3b')]=qs[_0xee0a('0x31')](_[_0xee0a('0x3c')](_0x1e75ae[_0xee0a('0x34')],_0x1f1915[_0xee0a('0x31')]),_0x100a91);if(_0x1e75ae[_0xee0a('0x34')][_0xee0a('0x3d')]){_0x1f6d04['where']=_[_0xee0a('0x3e')](_0x1f6d04[_0xee0a('0x3b')],{'$or':_[_0xee0a('0x2c')](_0x100a91,function(_0x378d50){if(_0x378d50[_0xee0a('0x2e')]!==_0xee0a('0x3f')){var _0x5a0e83={};_0x5a0e83[_0x378d50['name']]={'$like':'%'+_0x1e75ae[_0xee0a('0x34')][_0xee0a('0x3d')]+'%'};return _0x5a0e83;}})});}_0x1f6d04=_[_0xee0a('0x3e')]({},_0x1f6d04,_0x1e75ae[_0xee0a('0x40')]);var _0x56e565={'where':_0x1f6d04[_0xee0a('0x3b')]};return db[_0xee0a('0x41')][_0xee0a('0x22')](_0x56e565)['then'](function(_0x523881){_0x3a2574[_0xee0a('0x22')]=_0x523881;if(_0x1e75ae['query']['includeAll']){_0x1f6d04['include']=[{'all':!![]}];}return db['IntegrationReport']['findAll'](_0x1f6d04);})[_0xee0a('0x27')](function(_0x2dde08){_0x3a2574[_0xee0a('0x42')]=_0x2dde08;return _0x3a2574;})[_0xee0a('0x27')](respondWithFilteredResult(_0x27c566,_0x1f6d04))[_0xee0a('0x43')](handleError(_0x27c566,null));};exports[_0xee0a('0x44')]=function(_0x5738e5,_0x1fb63e){var _0x28232e={'raw':![],'where':{'id':_0x5738e5[_0xee0a('0x45')]['id']}},_0x27e0e1={};_0x27e0e1[_0xee0a('0x30')]=_[_0xee0a('0x46')](db[_0xee0a('0x41')][_0xee0a('0x2d')]);_0x27e0e1[_0xee0a('0x34')]=_[_0xee0a('0x46')](_0x5738e5[_0xee0a('0x34')]);_0x27e0e1['filters']=_[_0xee0a('0x32')](_0x27e0e1[_0xee0a('0x30')],_0x27e0e1['query']);_0x28232e[_0xee0a('0x35')]=_[_0xee0a('0x32')](_0x27e0e1['model'],qs[_0xee0a('0x33')](_0x5738e5[_0xee0a('0x34')][_0xee0a('0x33')]));_0x28232e['attributes']=_0x28232e[_0xee0a('0x35')]['length']?_0x28232e[_0xee0a('0x35')]:_0x27e0e1[_0xee0a('0x30')];if(_0x5738e5[_0xee0a('0x34')][_0xee0a('0x47')]){_0x28232e['include']=[{'all':!![]}];}_0x28232e=_[_0xee0a('0x3e')]({},_0x28232e,_0x5738e5[_0xee0a('0x40')]);return db['IntegrationReport'][_0xee0a('0x48')](_0x28232e)[_0xee0a('0x27')](handleEntityNotFound(_0x1fb63e,null))['then'](respondWithResult(_0x1fb63e,null))['catch'](handleError(_0x1fb63e,null));};exports[_0xee0a('0x49')]=function(_0x4f5d35,_0xfb243b){return db[_0xee0a('0x41')][_0xee0a('0x49')](_0x4f5d35[_0xee0a('0x4a')],{})[_0xee0a('0x27')](respondWithResult(_0xfb243b,0xc9))['catch'](handleError(_0xfb243b,null));};exports[_0xee0a('0x4b')]=function(_0x2e49c5,_0x1bc072){if(_0x2e49c5['body']['id']){delete _0x2e49c5[_0xee0a('0x4a')]['id'];}return db['IntegrationReport'][_0xee0a('0x48')]({'where':{'id':_0x2e49c5[_0xee0a('0x45')]['id']}})[_0xee0a('0x27')](handleEntityNotFound(_0x1bc072,null))[_0xee0a('0x27')](saveUpdates(_0x2e49c5['body'],null))['then'](respondWithResult(_0x1bc072,null))[_0xee0a('0x43')](handleError(_0x1bc072,null));};exports[_0xee0a('0x28')]=function(_0x209022,_0x4ede28){return db[_0xee0a('0x41')][_0xee0a('0x48')]({'where':{'id':_0x209022['params']['id']}})['then'](handleEntityNotFound(_0x4ede28,null))[_0xee0a('0x27')](removeEntity(_0x4ede28,null))['catch'](handleError(_0x4ede28,null));};exports[_0xee0a('0x4c')]=function(_0x207883,_0x42605d){return db[_0xee0a('0x41')][_0xee0a('0x4c')]()[_0xee0a('0x27')](respondWithResult(_0x42605d,null))[_0xee0a('0x43')](handleError(_0x42605d,null));};