Built motion from commit 14588770.|2.5.38
[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 _0xfd2e=['end','error','stack','name','send','map','ChatQueueReport','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','catch','rawAttributes','find','create','body','params','describe','eml-format','zip-dir','request-promise','bluebird','mustache','util','path','sox','fs-extra','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','save','update','then','destroy'];(function(_0x53e1db,_0x1cf8d5){var _0x244501=function(_0x534aa3){while(--_0x534aa3){_0x53e1db['push'](_0x53e1db['shift']());}};_0x244501(++_0x1cf8d5);}(_0xfd2e,0x6e));var _0xefd2=function(_0x4548f9,_0x44ac14){_0x4548f9=_0x4548f9-0x0;var _0x4cc044=_0xfd2e[_0x4548f9];return _0x4cc044;};'use strict';var emlformat=require(_0xefd2('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xefd2('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xefd2('0x2'));var moment=require('moment');var BPromise=require(_0xefd2('0x3'));var Mustache=require(_0xefd2('0x4'));var util=require(_0xefd2('0x5'));var path=require(_0xefd2('0x6'));var sox=require(_0xefd2('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xefd2('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xefd2('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xefd2('0xa'));var toCsv=require(_0xefd2('0xb'));var querystring=require(_0xefd2('0xc'));var Papa=require(_0xefd2('0xd'));var Redis=require(_0xefd2('0xe'));var authService=require(_0xefd2('0xf'));var qs=require(_0xefd2('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xefd2('0x11'));var logger=require(_0xefd2('0x12'))(_0xefd2('0x13'));var utils=require(_0xefd2('0x14'));var config=require(_0xefd2('0x15'));var licenseUtil=require(_0xefd2('0x16'));var db=require(_0xefd2('0x17'))['db'];function respondWithStatusCode(_0x2f1472,_0x53d09b){_0x53d09b=_0x53d09b||0xcc;return function(_0x5b6df5){if(_0x5b6df5){return _0x2f1472[_0xefd2('0x18')](_0x53d09b);}return _0x2f1472['status'](_0x53d09b)['end']();};}function respondWithResult(_0x87493c,_0x2b4d24){_0x2b4d24=_0x2b4d24||0xc8;return function(_0x1150ec){if(_0x1150ec){return _0x87493c[_0xefd2('0x19')](_0x2b4d24)[_0xefd2('0x1a')](_0x1150ec);}};}function respondWithFilteredResult(_0x518354,_0x1a35b7){return function(_0x20192b){if(_0x20192b){var _0x2e706a=typeof _0x1a35b7[_0xefd2('0x1b')]===_0xefd2('0x1c')&&typeof _0x1a35b7[_0xefd2('0x1d')]==='undefined';var _0x48ef07=_0x20192b[_0xefd2('0x1e')];var _0x111d7b=_0x2e706a?0x0:_0x1a35b7[_0xefd2('0x1b')];var _0x471175=_0x2e706a?_0x20192b[_0xefd2('0x1e')]:_0x1a35b7['offset']+_0x1a35b7[_0xefd2('0x1d')];var _0x1ca355;if(_0x471175>=_0x48ef07){_0x471175=_0x48ef07;_0x1ca355=0xc8;}else{_0x1ca355=0xce;}_0x518354[_0xefd2('0x19')](_0x1ca355);return _0x518354[_0xefd2('0x1f')]('Content-Range',_0x111d7b+'-'+_0x471175+'/'+_0x48ef07)[_0xefd2('0x1a')](_0x20192b);}return null;};}function patchUpdates(_0x387398){return function(_0x22ff6a){try{jsonpatch[_0xefd2('0x20')](_0x22ff6a,_0x387398,!![]);}catch(_0x570473){return BPromise[_0xefd2('0x21')](_0x570473);}return _0x22ff6a[_0xefd2('0x22')]();};}function saveUpdates(_0xfd1d0f,_0x25196e){return function(_0x2aaa1b){if(_0x2aaa1b){return _0x2aaa1b[_0xefd2('0x23')](_0xfd1d0f)[_0xefd2('0x24')](function(_0x49146f){return _0x49146f;});}return null;};}function removeEntity(_0x491286,_0x31180b){return function(_0x2636a5){if(_0x2636a5){return _0x2636a5[_0xefd2('0x25')]()[_0xefd2('0x24')](function(){_0x491286[_0xefd2('0x19')](0xcc)[_0xefd2('0x26')]();});}};}function handleEntityNotFound(_0x42e4e6,_0x35ea40){return function(_0x159a53){if(!_0x159a53){_0x42e4e6[_0xefd2('0x18')](0x194);}return _0x159a53;};}function handleError(_0x3f9663,_0x50dc75){_0x50dc75=_0x50dc75||0x1f4;return function(_0x348019){logger[_0xefd2('0x27')](_0x348019[_0xefd2('0x28')]);if(_0x348019[_0xefd2('0x29')]){delete _0x348019[_0xefd2('0x29')];}_0x3f9663[_0xefd2('0x19')](_0x50dc75)[_0xefd2('0x2a')](_0x348019);};}exports['index']=function(_0x386ee1,_0x12a0f5){var _0x25f25a={},_0x46e68d={},_0x168a43={'count':0x0,'rows':[]};var _0x50b245=_[_0xefd2('0x2b')](db[_0xefd2('0x2c')]['rawAttributes'],function(_0x2ebfdc){return{'name':_0x2ebfdc[_0xefd2('0x2d')],'type':_0x2ebfdc[_0xefd2('0x2e')][_0xefd2('0x2f')]};});_0x46e68d[_0xefd2('0x30')]=_[_0xefd2('0x2b')](_0x50b245,_0xefd2('0x29'));_0x46e68d[_0xefd2('0x31')]=_[_0xefd2('0x32')](_0x386ee1[_0xefd2('0x31')]);_0x46e68d[_0xefd2('0x33')]=_['intersection'](_0x46e68d[_0xefd2('0x30')],_0x46e68d[_0xefd2('0x31')]);_0x25f25a[_0xefd2('0x34')]=_[_0xefd2('0x35')](_0x46e68d[_0xefd2('0x30')],qs[_0xefd2('0x36')](_0x386ee1[_0xefd2('0x31')][_0xefd2('0x36')]));_0x25f25a[_0xefd2('0x34')]=_0x25f25a[_0xefd2('0x34')][_0xefd2('0x37')]?_0x25f25a['attributes']:_0x46e68d[_0xefd2('0x30')];if(!_0x386ee1[_0xefd2('0x31')]['hasOwnProperty'](_0xefd2('0x38'))){_0x25f25a[_0xefd2('0x1d')]=qs['limit'](_0x386ee1['query'][_0xefd2('0x1d')]);_0x25f25a['offset']=qs[_0xefd2('0x1b')](_0x386ee1[_0xefd2('0x31')][_0xefd2('0x1b')]);}_0x25f25a[_0xefd2('0x39')]=qs[_0xefd2('0x3a')](_0x386ee1['query'][_0xefd2('0x3a')]);_0x25f25a[_0xefd2('0x3b')]=qs[_0xefd2('0x33')](_[_0xefd2('0x3c')](_0x386ee1[_0xefd2('0x31')],_0x46e68d[_0xefd2('0x33')]),_0x50b245);if(_0x386ee1[_0xefd2('0x31')][_0xefd2('0x3d')]){_0x25f25a[_0xefd2('0x3b')]=_[_0xefd2('0x3e')](_0x25f25a[_0xefd2('0x3b')],{'$or':_[_0xefd2('0x2b')](_0x50b245,function(_0x11cbfb){if(_0x11cbfb[_0xefd2('0x2e')]!==_0xefd2('0x3f')){var _0x40f773={};_0x40f773[_0x11cbfb[_0xefd2('0x29')]]={'$like':'%'+_0x386ee1[_0xefd2('0x31')][_0xefd2('0x3d')]+'%'};return _0x40f773;}})});}_0x25f25a=_[_0xefd2('0x3e')]({},_0x25f25a,_0x386ee1[_0xefd2('0x40')]);var _0x4d5492={'where':_0x25f25a[_0xefd2('0x3b')]};return db['ChatQueueReport'][_0xefd2('0x1e')](_0x4d5492)['then'](function(_0x5586ba){_0x168a43[_0xefd2('0x1e')]=_0x5586ba;if(_0x386ee1[_0xefd2('0x31')][_0xefd2('0x41')]){_0x25f25a[_0xefd2('0x42')]=[{'all':!![]}];}return db[_0xefd2('0x2c')]['findAll'](_0x25f25a);})['then'](function(_0x235f52){_0x168a43['rows']=_0x235f52;return _0x168a43;})[_0xefd2('0x24')](respondWithFilteredResult(_0x12a0f5,_0x25f25a))[_0xefd2('0x43')](handleError(_0x12a0f5,null));};exports['show']=function(_0x10f2fa,_0xc43985){var _0x3602ed={'raw':!![],'where':{'id':_0x10f2fa['params']['id']}},_0x476698={};_0x476698[_0xefd2('0x30')]=_[_0xefd2('0x32')](db['ChatQueueReport'][_0xefd2('0x44')]);_0x476698['query']=_[_0xefd2('0x32')](_0x10f2fa['query']);_0x476698['filters']=_[_0xefd2('0x35')](_0x476698[_0xefd2('0x30')],_0x476698['query']);_0x3602ed[_0xefd2('0x34')]=_['intersection'](_0x476698[_0xefd2('0x30')],qs['fields'](_0x10f2fa[_0xefd2('0x31')][_0xefd2('0x36')]));_0x3602ed[_0xefd2('0x34')]=_0x3602ed['attributes'][_0xefd2('0x37')]?_0x3602ed[_0xefd2('0x34')]:_0x476698['model'];if(_0x10f2fa['query'][_0xefd2('0x41')]){_0x3602ed[_0xefd2('0x42')]=[{'all':!![]}];}_0x3602ed=_['merge']({},_0x3602ed,_0x10f2fa[_0xefd2('0x40')]);return db[_0xefd2('0x2c')][_0xefd2('0x45')](_0x3602ed)[_0xefd2('0x24')](handleEntityNotFound(_0xc43985,null))['then'](respondWithResult(_0xc43985,null))[_0xefd2('0x43')](handleError(_0xc43985,null));};exports[_0xefd2('0x46')]=function(_0x165231,_0x5222a4){return db[_0xefd2('0x2c')]['create'](_0x165231[_0xefd2('0x47')],{})['then'](respondWithResult(_0x5222a4,0xc9))[_0xefd2('0x43')](handleError(_0x5222a4,null));};exports[_0xefd2('0x23')]=function(_0x501288,_0x2a4f7b){if(_0x501288[_0xefd2('0x47')]['id']){delete _0x501288[_0xefd2('0x47')]['id'];}return db['ChatQueueReport']['find']({'where':{'id':_0x501288[_0xefd2('0x48')]['id']}})['then'](handleEntityNotFound(_0x2a4f7b,null))[_0xefd2('0x24')](saveUpdates(_0x501288[_0xefd2('0x47')],null))[_0xefd2('0x24')](respondWithResult(_0x2a4f7b,null))['catch'](handleError(_0x2a4f7b,null));};exports['destroy']=function(_0x53fbbb,_0x290a46){return db[_0xefd2('0x2c')][_0xefd2('0x45')]({'where':{'id':_0x53fbbb[_0xefd2('0x48')]['id']}})[_0xefd2('0x24')](handleEntityNotFound(_0x290a46,null))['then'](removeEntity(_0x290a46,null))[_0xefd2('0x43')](handleError(_0x290a46,null));};exports[_0xefd2('0x49')]=function(_0x3d654b,_0xb0691a){return db[_0xefd2('0x2c')][_0xefd2('0x49')]()[_0xefd2('0x24')](respondWithResult(_0xb0691a,null))[_0xefd2('0x43')](handleError(_0xb0691a,null));};