bf156530252a86029dd0d2405bc4ff20dde32586
[motion2.git] / server / api / chatQueueReport / chatQueueReport.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 _0xe860=['hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','ChatQueueReport','includeAll','include','show','params','filtears','find','catch','create','body','destroy','html-pdf','eml-format','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','end','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','length'];(function(_0x5206d2,_0x11146c){var _0x298559=function(_0x429687){while(--_0x429687){_0x5206d2['push'](_0x5206d2['shift']());}};_0x298559(++_0x11146c);}(_0xe860,0x153));var _0x0e86=function(_0x2dea24,_0x2fc021){_0x2dea24=_0x2dea24-0x0;var _0x309d58=_0xe860[_0x2dea24];return _0x309d58;};'use strict';var pdf=require(_0x0e86('0x0'));var emlformat=require(_0x0e86('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x0e86('0x2'));var rp=require(_0x0e86('0x3'));var moment=require(_0x0e86('0x4'));var BPromise=require(_0x0e86('0x5'));var Mustache=require('mustache');var util=require(_0x0e86('0x6'));var path=require(_0x0e86('0x7'));var sox=require(_0x0e86('0x8'));var csv=require(_0x0e86('0x9'));var ejs=require(_0x0e86('0xa'));var fs=require('fs');var _=require(_0x0e86('0xb'));var squel=require(_0x0e86('0xc'));var crypto=require(_0x0e86('0xd'));var jsforce=require(_0x0e86('0xe'));var deskjs=require(_0x0e86('0xf'));var toCsv=require(_0x0e86('0x9'));var querystring=require('querystring');var Papa=require(_0x0e86('0x10'));var Redis=require(_0x0e86('0x11'));var authService=require(_0x0e86('0x12'));var qs=require(_0x0e86('0x13'));var as=require(_0x0e86('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0e86('0x15'))(_0x0e86('0x16'));var utils=require(_0x0e86('0x17'));var config=require(_0x0e86('0x18'));var licenseUtil=require(_0x0e86('0x19'));var db=require(_0x0e86('0x1a'))['db'];function respondWithStatusCode(_0x5d056a,_0x396945){_0x396945=_0x396945||0xcc;return function(_0x5942d1){if(_0x5942d1){return _0x5d056a[_0x0e86('0x1b')](_0x396945);}return _0x5d056a[_0x0e86('0x1c')](_0x396945)['end']();};}function respondWithResult(_0x2222f1,_0x432c44){_0x432c44=_0x432c44||0xc8;return function(_0x9ab989){if(_0x9ab989){return _0x2222f1[_0x0e86('0x1c')](_0x432c44)[_0x0e86('0x1d')](_0x9ab989);}};}function respondWithFilteredResult(_0x4822af,_0x1cac99){return function(_0x25f4ce){if(_0x25f4ce){var _0x215695=_0x25f4ce[_0x0e86('0x1e')],_0x430525=_0x1cac99[_0x0e86('0x1f')],_0x3da606=_0x1cac99['offset']+_0x1cac99['limit'],_0x8eaeb7;if(_0x3da606>=_0x215695){_0x3da606=_0x215695;_0x8eaeb7=0xc8;}else{_0x8eaeb7=0xce;}_0x4822af[_0x0e86('0x1c')](_0x8eaeb7);return _0x4822af[_0x0e86('0x20')](_0x0e86('0x21'),_0x430525+'-'+_0x3da606+'/'+_0x215695)[_0x0e86('0x1d')](_0x25f4ce);}return null;};}function patchUpdates(_0x1a18b4){return function(_0x49e364){try{jsonpatch[_0x0e86('0x22')](_0x49e364,_0x1a18b4,!![]);}catch(_0x19b238){return BPromise[_0x0e86('0x23')](_0x19b238);}return _0x49e364[_0x0e86('0x24')]();};}function saveUpdates(_0x3cbf86,_0x1d9079){return function(_0x1a0a3c){if(_0x1a0a3c){return _0x1a0a3c[_0x0e86('0x25')](_0x3cbf86)[_0x0e86('0x26')](function(_0x220879){return _0x220879;});}return null;};}function removeEntity(_0x5b205e,_0xaf2d7e){return function(_0x42feb5){if(_0x42feb5){return _0x42feb5['destroy']()['then'](function(){_0x5b205e['status'](0xcc)[_0x0e86('0x27')]();});}};}function handleEntityNotFound(_0x4b3e19,_0x6d6ef6){return function(_0xb9cebe){if(!_0xb9cebe){_0x4b3e19[_0x0e86('0x1b')](0x194);}return _0xb9cebe;};}function handleError(_0x260116,_0x229741){_0x229741=_0x229741||0x1f4;return function(_0x1d27a6){logger[_0x0e86('0x28')](_0x1d27a6['stack']);if(_0x1d27a6[_0x0e86('0x29')]){delete _0x1d27a6['name'];}_0x260116['status'](_0x229741)[_0x0e86('0x2a')](_0x1d27a6);};}exports[_0x0e86('0x2b')]=function(_0xc0783,_0x36d624){var _0x48726f={},_0x506372={},_0x4ebf63={'count':0x0,'rows':[]};var _0x478ee1=_[_0x0e86('0x2c')](db['ChatQueueReport'][_0x0e86('0x2d')],function(_0x3a0bf3){return{'name':_0x3a0bf3[_0x0e86('0x2e')],'type':_0x3a0bf3[_0x0e86('0x2f')][_0x0e86('0x30')]};});_0x506372[_0x0e86('0x31')]=_[_0x0e86('0x2c')](_0x478ee1,'name');_0x506372[_0x0e86('0x32')]=_[_0x0e86('0x33')](_0xc0783[_0x0e86('0x32')]);_0x506372['filters']=_[_0x0e86('0x34')](_0x506372[_0x0e86('0x31')],_0x506372[_0x0e86('0x32')]);_0x48726f['attributes']=_[_0x0e86('0x34')](_0x506372['model'],qs[_0x0e86('0x35')](_0xc0783[_0x0e86('0x32')][_0x0e86('0x35')]));_0x48726f['attributes']=_0x48726f[_0x0e86('0x36')][_0x0e86('0x37')]?_0x48726f['attributes']:_0x506372[_0x0e86('0x31')];if(!_0xc0783[_0x0e86('0x32')][_0x0e86('0x38')](_0x0e86('0x39'))){_0x48726f[_0x0e86('0x3a')]=qs[_0x0e86('0x3a')](_0xc0783[_0x0e86('0x32')][_0x0e86('0x3a')]);_0x48726f[_0x0e86('0x1f')]=qs['offset'](_0xc0783[_0x0e86('0x32')]['offset']);}_0x48726f[_0x0e86('0x3b')]=qs[_0x0e86('0x3c')](_0xc0783[_0x0e86('0x32')][_0x0e86('0x3c')]);_0x48726f[_0x0e86('0x3d')]=qs[_0x0e86('0x3e')](_[_0x0e86('0x3f')](_0xc0783[_0x0e86('0x32')],_0x506372[_0x0e86('0x3e')]),_0x478ee1);if(_0xc0783[_0x0e86('0x32')]['filter']){_0x48726f[_0x0e86('0x3d')]=_[_0x0e86('0x40')](_0x48726f[_0x0e86('0x3d')],{'$or':_[_0x0e86('0x2c')](_0x478ee1,function(_0x29fe92){if(_0x29fe92[_0x0e86('0x2f')]!==_0x0e86('0x41')){var _0x1601ea={};_0x1601ea[_0x29fe92[_0x0e86('0x29')]]={'$like':'%'+_0xc0783['query'][_0x0e86('0x42')]+'%'};return _0x1601ea;}})});}_0x48726f=_[_0x0e86('0x40')]({},_0x48726f,_0xc0783[_0x0e86('0x43')]);var _0x7ee8f9={'where':_0x48726f[_0x0e86('0x3d')]};return db[_0x0e86('0x44')][_0x0e86('0x1e')](_0x7ee8f9)['then'](function(_0x49220f){_0x4ebf63['count']=_0x49220f;if(_0xc0783[_0x0e86('0x32')][_0x0e86('0x45')]){_0x48726f[_0x0e86('0x46')]=[{'all':!![]}];}return db[_0x0e86('0x44')]['findAll'](_0x48726f);})[_0x0e86('0x26')](function(_0x270a4a){_0x4ebf63['rows']=_0x270a4a;return _0x4ebf63;})[_0x0e86('0x26')](respondWithFilteredResult(_0x36d624,_0x48726f))['catch'](handleError(_0x36d624,null));};exports[_0x0e86('0x47')]=function(_0x29f55a,_0x24eb51){var _0x20c9d8={'raw':!![],'where':{'id':_0x29f55a[_0x0e86('0x48')]['id']}},_0x13f117={};_0x13f117['model']=_[_0x0e86('0x33')](db[_0x0e86('0x44')]['rawAttributes']);_0x13f117[_0x0e86('0x32')]=_[_0x0e86('0x33')](_0x29f55a[_0x0e86('0x32')]);_0x13f117[_0x0e86('0x49')]=_['intersection'](_0x13f117[_0x0e86('0x31')],_0x13f117[_0x0e86('0x32')]);_0x20c9d8[_0x0e86('0x36')]=_[_0x0e86('0x34')](_0x13f117[_0x0e86('0x31')],qs[_0x0e86('0x35')](_0x29f55a['query']['fields']));_0x20c9d8[_0x0e86('0x36')]=_0x20c9d8['attributes'][_0x0e86('0x37')]?_0x20c9d8[_0x0e86('0x36')]:_0x13f117[_0x0e86('0x31')];if(_0x29f55a[_0x0e86('0x32')]['includeAll']){_0x20c9d8[_0x0e86('0x46')]=[{'all':!![]}];}_0x20c9d8=_['merge']({},_0x20c9d8,_0x29f55a[_0x0e86('0x43')]);return db[_0x0e86('0x44')][_0x0e86('0x4a')](_0x20c9d8)['then'](handleEntityNotFound(_0x24eb51,null))[_0x0e86('0x26')](respondWithResult(_0x24eb51,null))[_0x0e86('0x4b')](handleError(_0x24eb51,null));};exports[_0x0e86('0x4c')]=function(_0x118156,_0x142faf){return db[_0x0e86('0x44')][_0x0e86('0x4c')](_0x118156[_0x0e86('0x4d')],{})['then'](respondWithResult(_0x142faf,0xc9))[_0x0e86('0x4b')](handleError(_0x142faf,null));};exports[_0x0e86('0x25')]=function(_0x30cc58,_0x5bdff8){if(_0x30cc58['body']['id']){delete _0x30cc58[_0x0e86('0x4d')]['id'];}return db[_0x0e86('0x44')][_0x0e86('0x4a')]({'where':{'id':_0x30cc58[_0x0e86('0x48')]['id']}})['then'](handleEntityNotFound(_0x5bdff8,null))[_0x0e86('0x26')](saveUpdates(_0x30cc58[_0x0e86('0x4d')],null))[_0x0e86('0x26')](respondWithResult(_0x5bdff8,null))[_0x0e86('0x4b')](handleError(_0x5bdff8,null));};exports[_0x0e86('0x4e')]=function(_0x4c48ea,_0x2879f2){return db['ChatQueueReport']['find']({'where':{'id':_0x4c48ea['params']['id']}})[_0x0e86('0x26')](handleEntityNotFound(_0x2879f2,null))['then'](removeEntity(_0x2879f2,null))[_0x0e86('0x4b')](handleError(_0x2879f2,null));};exports['describe']=function(_0x1d115c,_0x3d325e){return db['ChatQueueReport']['describe']()[_0x0e86('0x26')](respondWithResult(_0x3d325e,null))['catch'](handleError(_0x3d325e,null));};