Built motion from commit 64440dd5.|2.6.29
[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 _0x01db=['crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','json','undefined','limit','offset','set','Content-Range','apply','reject','save','update','then','end','sendStatus','error','name','index','map','ChatQueueReport','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','count','includeAll','findAll','rows','catch','show','params','rawAttributes','include','options','create','body','find','destroy','describe','eml-format','fast-json-patch','request-promise','moment','mustache','sox','to-csv','ejs','fs-extra','lodash','squel'];(function(_0x1b8be9,_0x49dce5){var _0x5a544f=function(_0x4cd533){while(--_0x4cd533){_0x1b8be9['push'](_0x1b8be9['shift']());}};_0x5a544f(++_0x49dce5);}(_0x01db,0x171));var _0xb01d=function(_0x1e2d59,_0x58a35f){_0x1e2d59=_0x1e2d59-0x0;var _0x2cffb6=_0x01db[_0x1e2d59];return _0x2cffb6;};'use strict';var emlformat=require(_0xb01d('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xb01d('0x1'));var rp=require(_0xb01d('0x2'));var moment=require(_0xb01d('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xb01d('0x4'));var util=require('util');var path=require('path');var sox=require(_0xb01d('0x5'));var csv=require(_0xb01d('0x6'));var ejs=require(_0xb01d('0x7'));var fs=require('fs');var fs_extra=require(_0xb01d('0x8'));var _=require(_0xb01d('0x9'));var squel=require(_0xb01d('0xa'));var crypto=require(_0xb01d('0xb'));var jsforce=require(_0xb01d('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xb01d('0xd'));var Papa=require(_0xb01d('0xe'));var Redis=require(_0xb01d('0xf'));var authService=require(_0xb01d('0x10'));var qs=require(_0xb01d('0x11'));var as=require(_0xb01d('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xb01d('0x13'));var utils=require(_0xb01d('0x14'));var config=require(_0xb01d('0x15'));var licenseUtil=require(_0xb01d('0x16'));var db=require(_0xb01d('0x17'))['db'];function respondWithStatusCode(_0x447479,_0xbcc293){_0xbcc293=_0xbcc293||0xcc;return function(_0x48b905){if(_0x48b905){return _0x447479['sendStatus'](_0xbcc293);}return _0x447479[_0xb01d('0x18')](_0xbcc293)['end']();};}function respondWithResult(_0x246537,_0x2e1ec7){_0x2e1ec7=_0x2e1ec7||0xc8;return function(_0x4a7641){if(_0x4a7641){return _0x246537[_0xb01d('0x18')](_0x2e1ec7)[_0xb01d('0x19')](_0x4a7641);}};}function respondWithFilteredResult(_0x286c13,_0x219327){return function(_0x515789){if(_0x515789){var _0x135604=typeof _0x219327['offset']===_0xb01d('0x1a')&&typeof _0x219327[_0xb01d('0x1b')]===_0xb01d('0x1a');var _0x2009a2=_0x515789['count'];var _0xe47874=_0x135604?0x0:_0x219327[_0xb01d('0x1c')];var _0x39eaaf=_0x135604?_0x515789['count']:_0x219327[_0xb01d('0x1c')]+_0x219327['limit'];var _0x42961b;if(_0x39eaaf>=_0x2009a2){_0x39eaaf=_0x2009a2;_0x42961b=0xc8;}else{_0x42961b=0xce;}_0x286c13[_0xb01d('0x18')](_0x42961b);return _0x286c13[_0xb01d('0x1d')](_0xb01d('0x1e'),_0xe47874+'-'+_0x39eaaf+'/'+_0x2009a2)[_0xb01d('0x19')](_0x515789);}return null;};}function patchUpdates(_0x4d517e){return function(_0x2528ac){try{jsonpatch[_0xb01d('0x1f')](_0x2528ac,_0x4d517e,!![]);}catch(_0x149b50){return BPromise[_0xb01d('0x20')](_0x149b50);}return _0x2528ac[_0xb01d('0x21')]();};}function saveUpdates(_0x7de0a2,_0x28f643){return function(_0x42064d){if(_0x42064d){return _0x42064d[_0xb01d('0x22')](_0x7de0a2)[_0xb01d('0x23')](function(_0x1151ea){return _0x1151ea;});}return null;};}function removeEntity(_0x19ef37,_0x515d52){return function(_0x446824){if(_0x446824){return _0x446824['destroy']()[_0xb01d('0x23')](function(){_0x19ef37[_0xb01d('0x18')](0xcc)[_0xb01d('0x24')]();});}};}function handleEntityNotFound(_0x3ce3f8,_0xf92ae7){return function(_0x1d8f04){if(!_0x1d8f04){_0x3ce3f8[_0xb01d('0x25')](0x194);}return _0x1d8f04;};}function handleError(_0x1dcbcd,_0xe9e66e){_0xe9e66e=_0xe9e66e||0x1f4;return function(_0x1236c2){logger[_0xb01d('0x26')](_0x1236c2['stack']);if(_0x1236c2[_0xb01d('0x27')]){delete _0x1236c2[_0xb01d('0x27')];}_0x1dcbcd[_0xb01d('0x18')](_0xe9e66e)['send'](_0x1236c2);};}exports[_0xb01d('0x28')]=function(_0x1bd8d2,_0x1659fa){var _0x58b452={},_0x29b32c={},_0x5007d1={'count':0x0,'rows':[]};var _0x13345a=_[_0xb01d('0x29')](db[_0xb01d('0x2a')]['rawAttributes'],function(_0x2f3046){return{'name':_0x2f3046[_0xb01d('0x2b')],'type':_0x2f3046[_0xb01d('0x2c')][_0xb01d('0x2d')]};});_0x29b32c[_0xb01d('0x2e')]=_[_0xb01d('0x29')](_0x13345a,'name');_0x29b32c[_0xb01d('0x2f')]=_[_0xb01d('0x30')](_0x1bd8d2[_0xb01d('0x2f')]);_0x29b32c['filters']=_[_0xb01d('0x31')](_0x29b32c['model'],_0x29b32c['query']);_0x58b452[_0xb01d('0x32')]=_[_0xb01d('0x31')](_0x29b32c['model'],qs['fields'](_0x1bd8d2[_0xb01d('0x2f')][_0xb01d('0x33')]));_0x58b452[_0xb01d('0x32')]=_0x58b452[_0xb01d('0x32')][_0xb01d('0x34')]?_0x58b452[_0xb01d('0x32')]:_0x29b32c[_0xb01d('0x2e')];if(!_0x1bd8d2[_0xb01d('0x2f')][_0xb01d('0x35')]('nolimit')){_0x58b452[_0xb01d('0x1b')]=qs[_0xb01d('0x1b')](_0x1bd8d2[_0xb01d('0x2f')][_0xb01d('0x1b')]);_0x58b452['offset']=qs[_0xb01d('0x1c')](_0x1bd8d2['query'][_0xb01d('0x1c')]);}_0x58b452[_0xb01d('0x36')]=qs[_0xb01d('0x37')](_0x1bd8d2[_0xb01d('0x2f')]['sort']);_0x58b452[_0xb01d('0x38')]=qs[_0xb01d('0x39')](_[_0xb01d('0x3a')](_0x1bd8d2[_0xb01d('0x2f')],_0x29b32c[_0xb01d('0x39')]),_0x13345a);if(_0x1bd8d2['query'][_0xb01d('0x3b')]){_0x58b452[_0xb01d('0x38')]=_[_0xb01d('0x3c')](_0x58b452[_0xb01d('0x38')],{'$or':_[_0xb01d('0x29')](_0x13345a,function(_0x25c283){if(_0x25c283[_0xb01d('0x2c')]!=='VIRTUAL'){var _0x4b93f0={};_0x4b93f0[_0x25c283[_0xb01d('0x27')]]={'$like':'%'+_0x1bd8d2['query'][_0xb01d('0x3b')]+'%'};return _0x4b93f0;}})});}_0x58b452=_[_0xb01d('0x3c')]({},_0x58b452,_0x1bd8d2['options']);var _0x847853={'where':_0x58b452[_0xb01d('0x38')]};return db[_0xb01d('0x2a')][_0xb01d('0x3d')](_0x847853)['then'](function(_0x459f4a){_0x5007d1[_0xb01d('0x3d')]=_0x459f4a;if(_0x1bd8d2['query'][_0xb01d('0x3e')]){_0x58b452['include']=[{'all':!![]}];}return db[_0xb01d('0x2a')][_0xb01d('0x3f')](_0x58b452);})[_0xb01d('0x23')](function(_0x59023b){_0x5007d1[_0xb01d('0x40')]=_0x59023b;return _0x5007d1;})['then'](respondWithFilteredResult(_0x1659fa,_0x58b452))[_0xb01d('0x41')](handleError(_0x1659fa,null));};exports[_0xb01d('0x42')]=function(_0x2d29ad,_0x2f582f){var _0x5087cb={'raw':!![],'where':{'id':_0x2d29ad[_0xb01d('0x43')]['id']}},_0x502880={};_0x502880[_0xb01d('0x2e')]=_[_0xb01d('0x30')](db[_0xb01d('0x2a')][_0xb01d('0x44')]);_0x502880[_0xb01d('0x2f')]=_[_0xb01d('0x30')](_0x2d29ad[_0xb01d('0x2f')]);_0x502880[_0xb01d('0x39')]=_['intersection'](_0x502880['model'],_0x502880['query']);_0x5087cb[_0xb01d('0x32')]=_[_0xb01d('0x31')](_0x502880['model'],qs[_0xb01d('0x33')](_0x2d29ad['query']['fields']));_0x5087cb[_0xb01d('0x32')]=_0x5087cb[_0xb01d('0x32')]['length']?_0x5087cb[_0xb01d('0x32')]:_0x502880[_0xb01d('0x2e')];if(_0x2d29ad[_0xb01d('0x2f')][_0xb01d('0x3e')]){_0x5087cb[_0xb01d('0x45')]=[{'all':!![]}];}_0x5087cb=_[_0xb01d('0x3c')]({},_0x5087cb,_0x2d29ad[_0xb01d('0x46')]);return db['ChatQueueReport']['find'](_0x5087cb)[_0xb01d('0x23')](handleEntityNotFound(_0x2f582f,null))['then'](respondWithResult(_0x2f582f,null))['catch'](handleError(_0x2f582f,null));};exports[_0xb01d('0x47')]=function(_0x75b2e7,_0x361acb){return db['ChatQueueReport'][_0xb01d('0x47')](_0x75b2e7[_0xb01d('0x48')],{})[_0xb01d('0x23')](respondWithResult(_0x361acb,0xc9))['catch'](handleError(_0x361acb,null));};exports[_0xb01d('0x22')]=function(_0x500bff,_0x494b9c){if(_0x500bff[_0xb01d('0x48')]['id']){delete _0x500bff[_0xb01d('0x48')]['id'];}return db[_0xb01d('0x2a')][_0xb01d('0x49')]({'where':{'id':_0x500bff[_0xb01d('0x43')]['id']}})[_0xb01d('0x23')](handleEntityNotFound(_0x494b9c,null))[_0xb01d('0x23')](saveUpdates(_0x500bff[_0xb01d('0x48')],null))[_0xb01d('0x23')](respondWithResult(_0x494b9c,null))[_0xb01d('0x41')](handleError(_0x494b9c,null));};exports[_0xb01d('0x4a')]=function(_0x403786,_0xe9e895){return db[_0xb01d('0x2a')][_0xb01d('0x49')]({'where':{'id':_0x403786['params']['id']}})[_0xb01d('0x23')](handleEntityNotFound(_0xe9e895,null))[_0xb01d('0x23')](removeEntity(_0xe9e895,null))[_0xb01d('0x41')](handleError(_0xe9e895,null));};exports[_0xb01d('0x4b')]=function(_0x128512,_0x1332a3){return db['ChatQueueReport'][_0xb01d('0x4b')]()[_0xb01d('0x23')](respondWithResult(_0x1332a3,null))[_0xb01d('0x41')](handleError(_0x1332a3,null));};