f3f9a1e4e17746c4d85a479129601c512ce1dad3
[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 _0x823f=['../../config/environment','../../config/license/util','../../mysqldb','status','end','count','offset','limit','set','Content-Range','json','reject','save','update','destroy','then','sendStatus','error','stack','name','index','map','ChatQueueReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','findAll','catch','show','params','include','find','create','body','describe','html-pdf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils'];(function(_0x18cd5b,_0x10240b){var _0x5eaa52=function(_0x2bccad){while(--_0x2bccad){_0x18cd5b['push'](_0x18cd5b['shift']());}};_0x5eaa52(++_0x10240b);}(_0x823f,0x161));var _0xf823=function(_0x5390a3,_0x4d60f7){_0x5390a3=_0x5390a3-0x0;var _0x45d220=_0x823f[_0x5390a3];return _0x45d220;};'use strict';var pdf=require(_0xf823('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xf823('0x1'));var jsonpatch=require(_0xf823('0x2'));var rp=require(_0xf823('0x3'));var moment=require(_0xf823('0x4'));var BPromise=require(_0xf823('0x5'));var Mustache=require('mustache');var util=require(_0xf823('0x6'));var path=require(_0xf823('0x7'));var sox=require(_0xf823('0x8'));var csv=require(_0xf823('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf823('0xa'));var squel=require(_0xf823('0xb'));var crypto=require(_0xf823('0xc'));var jsforce=require(_0xf823('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xf823('0x9'));var querystring=require(_0xf823('0xe'));var Papa=require(_0xf823('0xf'));var Redis=require('ioredis');var authService=require(_0xf823('0x10'));var qs=require(_0xf823('0x11'));var as=require(_0xf823('0x12'));var hardwareService=require(_0xf823('0x13'));var logger=require('../../config/logger')(_0xf823('0x14'));var utils=require(_0xf823('0x15'));var config=require(_0xf823('0x16'));var licenseUtil=require(_0xf823('0x17'));var db=require(_0xf823('0x18'))['db'];function respondWithStatusCode(_0x5b8ba9,_0x1a04a3){_0x1a04a3=_0x1a04a3||0xcc;return function(_0x3e676f){if(_0x3e676f){return _0x5b8ba9['sendStatus'](_0x1a04a3);}return _0x5b8ba9[_0xf823('0x19')](_0x1a04a3)[_0xf823('0x1a')]();};}function respondWithResult(_0x5ab1d0,_0x46d7db){_0x46d7db=_0x46d7db||0xc8;return function(_0x2e2795){if(_0x2e2795){return _0x5ab1d0['status'](_0x46d7db)['json'](_0x2e2795);}};}function respondWithFilteredResult(_0x56e99a,_0x3810d8){return function(_0x1f183b){if(_0x1f183b){var _0x1c00ca=_0x1f183b[_0xf823('0x1b')],_0x222b2f=_0x3810d8[_0xf823('0x1c')],_0x2bea02=_0x3810d8[_0xf823('0x1c')]+_0x3810d8[_0xf823('0x1d')],_0x2399c0;if(_0x2bea02>=_0x1c00ca){_0x2bea02=_0x1c00ca;_0x2399c0=0xc8;}else{_0x2399c0=0xce;}_0x56e99a[_0xf823('0x19')](_0x2399c0);return _0x56e99a[_0xf823('0x1e')](_0xf823('0x1f'),_0x222b2f+'-'+_0x2bea02+'/'+_0x1c00ca)[_0xf823('0x20')](_0x1f183b);}return null;};}function patchUpdates(_0x3cde30){return function(_0x20672c){try{jsonpatch['apply'](_0x20672c,_0x3cde30,!![]);}catch(_0x2373b4){return BPromise[_0xf823('0x21')](_0x2373b4);}return _0x20672c[_0xf823('0x22')]();};}function saveUpdates(_0x4a099e,_0x4ec5a7){return function(_0x122df6){if(_0x122df6){return _0x122df6[_0xf823('0x23')](_0x4a099e)['then'](function(_0x409da7){return _0x409da7;});}return null;};}function removeEntity(_0x2868b5,_0x3ca843){return function(_0x6bd316){if(_0x6bd316){return _0x6bd316[_0xf823('0x24')]()[_0xf823('0x25')](function(){_0x2868b5['status'](0xcc)[_0xf823('0x1a')]();});}};}function handleEntityNotFound(_0x394c92,_0x49f968){return function(_0x4e610a){if(!_0x4e610a){_0x394c92[_0xf823('0x26')](0x194);}return _0x4e610a;};}function handleError(_0x2a47d6,_0x5a236b){_0x5a236b=_0x5a236b||0x1f4;return function(_0xca43f3){logger[_0xf823('0x27')](_0xca43f3[_0xf823('0x28')]);if(_0xca43f3[_0xf823('0x29')]){delete _0xca43f3['name'];}_0x2a47d6[_0xf823('0x19')](_0x5a236b)['send'](_0xca43f3);};}exports[_0xf823('0x2a')]=function(_0x48d973,_0x561d90){var _0x2d90ad={},_0x5d0a53={},_0x545e2d={'count':0x0,'rows':[]};var _0x558e66=_[_0xf823('0x2b')](db[_0xf823('0x2c')][_0xf823('0x2d')],function(_0x322d40){return{'name':_0x322d40[_0xf823('0x2e')],'type':_0x322d40[_0xf823('0x2f')][_0xf823('0x30')]};});_0x5d0a53[_0xf823('0x31')]=_[_0xf823('0x2b')](_0x558e66,_0xf823('0x29'));_0x5d0a53[_0xf823('0x32')]=_[_0xf823('0x33')](_0x48d973[_0xf823('0x32')]);_0x5d0a53[_0xf823('0x34')]=_[_0xf823('0x35')](_0x5d0a53['model'],_0x5d0a53[_0xf823('0x32')]);_0x2d90ad[_0xf823('0x36')]=_[_0xf823('0x35')](_0x5d0a53[_0xf823('0x31')],qs[_0xf823('0x37')](_0x48d973[_0xf823('0x32')][_0xf823('0x37')]));_0x2d90ad[_0xf823('0x36')]=_0x2d90ad[_0xf823('0x36')][_0xf823('0x38')]?_0x2d90ad[_0xf823('0x36')]:_0x5d0a53[_0xf823('0x31')];if(!_0x48d973['query'][_0xf823('0x39')](_0xf823('0x3a'))){_0x2d90ad[_0xf823('0x1d')]=qs[_0xf823('0x1d')](_0x48d973[_0xf823('0x32')][_0xf823('0x1d')]);_0x2d90ad[_0xf823('0x1c')]=qs['offset'](_0x48d973[_0xf823('0x32')]['offset']);}_0x2d90ad[_0xf823('0x3b')]=qs[_0xf823('0x3c')](_0x48d973[_0xf823('0x32')][_0xf823('0x3c')]);_0x2d90ad[_0xf823('0x3d')]=qs[_0xf823('0x34')](_[_0xf823('0x3e')](_0x48d973['query'],_0x5d0a53[_0xf823('0x34')]),_0x558e66);if(_0x48d973['query']['filter']){_0x2d90ad['where']=_[_0xf823('0x3f')](_0x2d90ad[_0xf823('0x3d')],{'$or':_[_0xf823('0x2b')](_0x558e66,function(_0x93adb1){if(_0x93adb1[_0xf823('0x2f')]!==_0xf823('0x40')){var _0xe114={};_0xe114[_0x93adb1[_0xf823('0x29')]]={'$like':'%'+_0x48d973['query'][_0xf823('0x41')]+'%'};return _0xe114;}})});}_0x2d90ad=_[_0xf823('0x3f')]({},_0x2d90ad,_0x48d973['options']);var _0x19341f={'where':_0x2d90ad[_0xf823('0x3d')]};return db[_0xf823('0x2c')][_0xf823('0x1b')](_0x19341f)[_0xf823('0x25')](function(_0x3a1e29){_0x545e2d[_0xf823('0x1b')]=_0x3a1e29;if(_0x48d973[_0xf823('0x32')]['includeAll']){_0x2d90ad['include']=[{'all':!![]}];}return db[_0xf823('0x2c')][_0xf823('0x42')](_0x2d90ad);})[_0xf823('0x25')](function(_0x5a759e){_0x545e2d['rows']=_0x5a759e;return _0x545e2d;})[_0xf823('0x25')](respondWithFilteredResult(_0x561d90,_0x2d90ad))[_0xf823('0x43')](handleError(_0x561d90,null));};exports[_0xf823('0x44')]=function(_0xa93682,_0x2b11d4){var _0x2991f0={'raw':!![],'where':{'id':_0xa93682[_0xf823('0x45')]['id']}},_0x57cb5d={};_0x57cb5d['model']=_[_0xf823('0x33')](db[_0xf823('0x2c')]['rawAttributes']);_0x57cb5d['query']=_['keys'](_0xa93682[_0xf823('0x32')]);_0x57cb5d[_0xf823('0x34')]=_['intersection'](_0x57cb5d[_0xf823('0x31')],_0x57cb5d[_0xf823('0x32')]);_0x2991f0[_0xf823('0x36')]=_[_0xf823('0x35')](_0x57cb5d[_0xf823('0x31')],qs[_0xf823('0x37')](_0xa93682[_0xf823('0x32')][_0xf823('0x37')]));_0x2991f0[_0xf823('0x36')]=_0x2991f0['attributes'][_0xf823('0x38')]?_0x2991f0[_0xf823('0x36')]:_0x57cb5d[_0xf823('0x31')];if(_0xa93682[_0xf823('0x32')]['includeAll']){_0x2991f0[_0xf823('0x46')]=[{'all':!![]}];}_0x2991f0=_[_0xf823('0x3f')]({},_0x2991f0,_0xa93682['options']);return db[_0xf823('0x2c')][_0xf823('0x47')](_0x2991f0)['then'](handleEntityNotFound(_0x2b11d4,null))[_0xf823('0x25')](respondWithResult(_0x2b11d4,null))[_0xf823('0x43')](handleError(_0x2b11d4,null));};exports[_0xf823('0x48')]=function(_0x7d6da5,_0x2e57f7){return db['ChatQueueReport'][_0xf823('0x48')](_0x7d6da5[_0xf823('0x49')],{})[_0xf823('0x25')](respondWithResult(_0x2e57f7,0xc9))[_0xf823('0x43')](handleError(_0x2e57f7,null));};exports[_0xf823('0x23')]=function(_0x3e06b3,_0x2ae884){if(_0x3e06b3[_0xf823('0x49')]['id']){delete _0x3e06b3['body']['id'];}return db[_0xf823('0x2c')][_0xf823('0x47')]({'where':{'id':_0x3e06b3[_0xf823('0x45')]['id']}})['then'](handleEntityNotFound(_0x2ae884,null))['then'](saveUpdates(_0x3e06b3[_0xf823('0x49')],null))['then'](respondWithResult(_0x2ae884,null))[_0xf823('0x43')](handleError(_0x2ae884,null));};exports[_0xf823('0x24')]=function(_0x41af96,_0x1b4796){return db[_0xf823('0x2c')][_0xf823('0x47')]({'where':{'id':_0x41af96[_0xf823('0x45')]['id']}})[_0xf823('0x25')](handleEntityNotFound(_0x1b4796,null))['then'](removeEntity(_0x1b4796,null))[_0xf823('0x43')](handleError(_0x1b4796,null));};exports[_0xf823('0x4a')]=function(_0x529c55,_0x47ef44){return db[_0xf823('0x2c')][_0xf823('0x4a')]()['then'](respondWithResult(_0x47ef44,null))[_0xf823('0x43')](handleError(_0x47ef44,null));};