Built motion from commit 9d0783e6.|2.6.13
[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 _0x869e=['undefined','count','set','Content-Range','json','apply','reject','save','update','then','destroy','sendStatus','error','name','send','index','map','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','nolimit','limit','order','sort','where','pick','merge','VIRTUAL','filter','options','ChatQueueReport','includeAll','findAll','catch','params','length','include','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','status','end','offset'];(function(_0x30ae5e,_0x391fc4){var _0x1f2e93=function(_0x60307d){while(--_0x60307d){_0x30ae5e['push'](_0x30ae5e['shift']());}};_0x1f2e93(++_0x391fc4);}(_0x869e,0x15c));var _0xe869=function(_0x9bb804,_0x47d494){_0x9bb804=_0x9bb804-0x0;var _0x2f6536=_0x869e[_0x9bb804];return _0x2f6536;};'use strict';var emlformat=require(_0xe869('0x0'));var rimraf=require(_0xe869('0x1'));var zipdir=require(_0xe869('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe869('0x3'));var moment=require(_0xe869('0x4'));var BPromise=require(_0xe869('0x5'));var Mustache=require(_0xe869('0x6'));var util=require(_0xe869('0x7'));var path=require('path');var sox=require(_0xe869('0x8'));var csv=require(_0xe869('0x9'));var ejs=require(_0xe869('0xa'));var fs=require('fs');var fs_extra=require(_0xe869('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xe869('0xc'));var jsforce=require(_0xe869('0xd'));var deskjs=require(_0xe869('0xe'));var toCsv=require(_0xe869('0x9'));var querystring=require(_0xe869('0xf'));var Papa=require(_0xe869('0x10'));var Redis=require(_0xe869('0x11'));var authService=require(_0xe869('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe869('0x13'));var logger=require(_0xe869('0x14'))(_0xe869('0x15'));var utils=require(_0xe869('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xe869('0x17'))['db'];function respondWithStatusCode(_0x5a5197,_0x907d3f){_0x907d3f=_0x907d3f||0xcc;return function(_0x412429){if(_0x412429){return _0x5a5197['sendStatus'](_0x907d3f);}return _0x5a5197[_0xe869('0x18')](_0x907d3f)[_0xe869('0x19')]();};}function respondWithResult(_0x3239d1,_0x17ee8f){_0x17ee8f=_0x17ee8f||0xc8;return function(_0x4046e4){if(_0x4046e4){return _0x3239d1['status'](_0x17ee8f)['json'](_0x4046e4);}};}function respondWithFilteredResult(_0x52fd40,_0x262f2f){return function(_0x4ed173){if(_0x4ed173){var _0x201091=typeof _0x262f2f[_0xe869('0x1a')]===_0xe869('0x1b')&&typeof _0x262f2f['limit']===_0xe869('0x1b');var _0x10f5e1=_0x4ed173['count'];var _0x33f5a7=_0x201091?0x0:_0x262f2f['offset'];var _0x26c67c=_0x201091?_0x4ed173[_0xe869('0x1c')]:_0x262f2f['offset']+_0x262f2f['limit'];var _0x40692c;if(_0x26c67c>=_0x10f5e1){_0x26c67c=_0x10f5e1;_0x40692c=0xc8;}else{_0x40692c=0xce;}_0x52fd40['status'](_0x40692c);return _0x52fd40[_0xe869('0x1d')](_0xe869('0x1e'),_0x33f5a7+'-'+_0x26c67c+'/'+_0x10f5e1)[_0xe869('0x1f')](_0x4ed173);}return null;};}function patchUpdates(_0x3e8c47){return function(_0x171c18){try{jsonpatch[_0xe869('0x20')](_0x171c18,_0x3e8c47,!![]);}catch(_0xa13c53){return BPromise[_0xe869('0x21')](_0xa13c53);}return _0x171c18[_0xe869('0x22')]();};}function saveUpdates(_0x10de1e,_0x59e73f){return function(_0x1a30e8){if(_0x1a30e8){return _0x1a30e8[_0xe869('0x23')](_0x10de1e)[_0xe869('0x24')](function(_0x342640){return _0x342640;});}return null;};}function removeEntity(_0x9c22cd,_0x4ddc31){return function(_0x429301){if(_0x429301){return _0x429301[_0xe869('0x25')]()[_0xe869('0x24')](function(){_0x9c22cd[_0xe869('0x18')](0xcc)[_0xe869('0x19')]();});}};}function handleEntityNotFound(_0x42320b,_0x311be8){return function(_0x44efa3){if(!_0x44efa3){_0x42320b[_0xe869('0x26')](0x194);}return _0x44efa3;};}function handleError(_0x30df68,_0x2775bc){_0x2775bc=_0x2775bc||0x1f4;return function(_0x31fec7){logger[_0xe869('0x27')](_0x31fec7['stack']);if(_0x31fec7[_0xe869('0x28')]){delete _0x31fec7[_0xe869('0x28')];}_0x30df68[_0xe869('0x18')](_0x2775bc)[_0xe869('0x29')](_0x31fec7);};}exports[_0xe869('0x2a')]=function(_0x22a823,_0x4f0e7f){var _0x367969={},_0x3f3574={},_0x57e22c={'count':0x0,'rows':[]};var _0x558c32=_[_0xe869('0x2b')](db['ChatQueueReport'][_0xe869('0x2c')],function(_0x4ed370){return{'name':_0x4ed370['fieldName'],'type':_0x4ed370[_0xe869('0x2d')][_0xe869('0x2e')]};});_0x3f3574[_0xe869('0x2f')]=_['map'](_0x558c32,_0xe869('0x28'));_0x3f3574['query']=_[_0xe869('0x30')](_0x22a823[_0xe869('0x31')]);_0x3f3574[_0xe869('0x32')]=_[_0xe869('0x33')](_0x3f3574[_0xe869('0x2f')],_0x3f3574[_0xe869('0x31')]);_0x367969[_0xe869('0x34')]=_['intersection'](_0x3f3574[_0xe869('0x2f')],qs[_0xe869('0x35')](_0x22a823[_0xe869('0x31')]['fields']));_0x367969['attributes']=_0x367969[_0xe869('0x34')]['length']?_0x367969['attributes']:_0x3f3574[_0xe869('0x2f')];if(!_0x22a823[_0xe869('0x31')]['hasOwnProperty'](_0xe869('0x36'))){_0x367969[_0xe869('0x37')]=qs[_0xe869('0x37')](_0x22a823[_0xe869('0x31')]['limit']);_0x367969[_0xe869('0x1a')]=qs[_0xe869('0x1a')](_0x22a823[_0xe869('0x31')]['offset']);}_0x367969[_0xe869('0x38')]=qs[_0xe869('0x39')](_0x22a823['query'][_0xe869('0x39')]);_0x367969[_0xe869('0x3a')]=qs['filters'](_[_0xe869('0x3b')](_0x22a823['query'],_0x3f3574[_0xe869('0x32')]),_0x558c32);if(_0x22a823[_0xe869('0x31')]['filter']){_0x367969[_0xe869('0x3a')]=_[_0xe869('0x3c')](_0x367969[_0xe869('0x3a')],{'$or':_[_0xe869('0x2b')](_0x558c32,function(_0x15502e){if(_0x15502e['type']!==_0xe869('0x3d')){var _0xee8898={};_0xee8898[_0x15502e[_0xe869('0x28')]]={'$like':'%'+_0x22a823['query'][_0xe869('0x3e')]+'%'};return _0xee8898;}})});}_0x367969=_[_0xe869('0x3c')]({},_0x367969,_0x22a823[_0xe869('0x3f')]);var _0x3bf052={'where':_0x367969[_0xe869('0x3a')]};return db[_0xe869('0x40')]['count'](_0x3bf052)[_0xe869('0x24')](function(_0x3352a7){_0x57e22c[_0xe869('0x1c')]=_0x3352a7;if(_0x22a823['query'][_0xe869('0x41')]){_0x367969['include']=[{'all':!![]}];}return db[_0xe869('0x40')][_0xe869('0x42')](_0x367969);})[_0xe869('0x24')](function(_0x14398a){_0x57e22c['rows']=_0x14398a;return _0x57e22c;})[_0xe869('0x24')](respondWithFilteredResult(_0x4f0e7f,_0x367969))[_0xe869('0x43')](handleError(_0x4f0e7f,null));};exports['show']=function(_0x1e550e,_0x3d55df){var _0x26ebd8={'raw':!![],'where':{'id':_0x1e550e[_0xe869('0x44')]['id']}},_0x4130a6={};_0x4130a6[_0xe869('0x2f')]=_['keys'](db[_0xe869('0x40')]['rawAttributes']);_0x4130a6[_0xe869('0x31')]=_[_0xe869('0x30')](_0x1e550e[_0xe869('0x31')]);_0x4130a6[_0xe869('0x32')]=_[_0xe869('0x33')](_0x4130a6[_0xe869('0x2f')],_0x4130a6[_0xe869('0x31')]);_0x26ebd8[_0xe869('0x34')]=_[_0xe869('0x33')](_0x4130a6[_0xe869('0x2f')],qs[_0xe869('0x35')](_0x1e550e[_0xe869('0x31')][_0xe869('0x35')]));_0x26ebd8[_0xe869('0x34')]=_0x26ebd8['attributes'][_0xe869('0x45')]?_0x26ebd8[_0xe869('0x34')]:_0x4130a6['model'];if(_0x1e550e[_0xe869('0x31')]['includeAll']){_0x26ebd8[_0xe869('0x46')]=[{'all':!![]}];}_0x26ebd8=_[_0xe869('0x3c')]({},_0x26ebd8,_0x1e550e[_0xe869('0x3f')]);return db[_0xe869('0x40')][_0xe869('0x47')](_0x26ebd8)[_0xe869('0x24')](handleEntityNotFound(_0x3d55df,null))[_0xe869('0x24')](respondWithResult(_0x3d55df,null))[_0xe869('0x43')](handleError(_0x3d55df,null));};exports[_0xe869('0x48')]=function(_0x39e5e9,_0x5d5349){return db[_0xe869('0x40')][_0xe869('0x48')](_0x39e5e9[_0xe869('0x49')],{})[_0xe869('0x24')](respondWithResult(_0x5d5349,0xc9))[_0xe869('0x43')](handleError(_0x5d5349,null));};exports[_0xe869('0x23')]=function(_0x5aa2b5,_0x1976c0){if(_0x5aa2b5['body']['id']){delete _0x5aa2b5[_0xe869('0x49')]['id'];}return db['ChatQueueReport']['find']({'where':{'id':_0x5aa2b5[_0xe869('0x44')]['id']}})['then'](handleEntityNotFound(_0x1976c0,null))['then'](saveUpdates(_0x5aa2b5[_0xe869('0x49')],null))[_0xe869('0x24')](respondWithResult(_0x1976c0,null))[_0xe869('0x43')](handleError(_0x1976c0,null));};exports[_0xe869('0x25')]=function(_0x2acfee,_0x59bae1){return db['ChatQueueReport']['find']({'where':{'id':_0x2acfee[_0xe869('0x44')]['id']}})['then'](handleEntityNotFound(_0x59bae1,null))[_0xe869('0x24')](removeEntity(_0x59bae1,null))[_0xe869('0x43')](handleError(_0x59bae1,null));};exports['describe']=function(_0x98ee8f,_0x5ec184){return db[_0xe869('0x40')][_0xe869('0x4a')]()[_0xe869('0x24')](respondWithResult(_0x5ec184,null))[_0xe869('0x43')](handleError(_0x5ec184,null));};