Built motion from commit 10af8726.|2.6.34
[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 _0x2d95=['papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','undefined','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','error','name','index','map','ChatQueueReport','rawAttributes','fieldName','type','query','keys','filters','intersection','attributes','model','fields','nolimit','where','pick','merge','VIRTUAL','filter','options','findAll','rows','show','params','length','includeAll','include','find','catch','create','body','describe','eml-format','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring'];(function(_0x3bcf9e,_0x148a5d){var _0x1bb37c=function(_0xcaf5da){while(--_0xcaf5da){_0x3bcf9e['push'](_0x3bcf9e['shift']());}};_0x1bb37c(++_0x148a5d);}(_0x2d95,0xca));var _0x52d9=function(_0xb695e,_0x49a46b){_0xb695e=_0xb695e-0x0;var _0x59e193=_0x2d95[_0xb695e];return _0x59e193;};'use strict';var emlformat=require(_0x52d9('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x52d9('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x52d9('0x2'));var moment=require(_0x52d9('0x3'));var BPromise=require(_0x52d9('0x4'));var Mustache=require('mustache');var util=require(_0x52d9('0x5'));var path=require(_0x52d9('0x6'));var sox=require(_0x52d9('0x7'));var csv=require(_0x52d9('0x8'));var ejs=require(_0x52d9('0x9'));var fs=require('fs');var fs_extra=require(_0x52d9('0xa'));var _=require(_0x52d9('0xb'));var squel=require(_0x52d9('0xc'));var crypto=require(_0x52d9('0xd'));var jsforce=require(_0x52d9('0xe'));var deskjs=require(_0x52d9('0xf'));var toCsv=require(_0x52d9('0x8'));var querystring=require(_0x52d9('0x10'));var Papa=require(_0x52d9('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x52d9('0x12'));var hardwareService=require(_0x52d9('0x13'));var logger=require(_0x52d9('0x14'))(_0x52d9('0x15'));var utils=require(_0x52d9('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x52d9('0x17'));var db=require(_0x52d9('0x18'))['db'];function respondWithStatusCode(_0x17836c,_0x61623){_0x61623=_0x61623||0xcc;return function(_0x54abcf){if(_0x54abcf){return _0x17836c['sendStatus'](_0x61623);}return _0x17836c[_0x52d9('0x19')](_0x61623)[_0x52d9('0x1a')]();};}function respondWithResult(_0x16871b,_0x146ba1){_0x146ba1=_0x146ba1||0xc8;return function(_0x455339){if(_0x455339){return _0x16871b[_0x52d9('0x19')](_0x146ba1)['json'](_0x455339);}};}function respondWithFilteredResult(_0x1a330d,_0x1d5829){return function(_0x96753a){if(_0x96753a){var _0x45ed6c=typeof _0x1d5829['offset']===_0x52d9('0x1b')&&typeof _0x1d5829['limit']===_0x52d9('0x1b');var _0x569074=_0x96753a[_0x52d9('0x1c')];var _0x247e00=_0x45ed6c?0x0:_0x1d5829[_0x52d9('0x1d')];var _0x2bb1ae=_0x45ed6c?_0x96753a[_0x52d9('0x1c')]:_0x1d5829[_0x52d9('0x1d')]+_0x1d5829[_0x52d9('0x1e')];var _0x59c889;if(_0x2bb1ae>=_0x569074){_0x2bb1ae=_0x569074;_0x59c889=0xc8;}else{_0x59c889=0xce;}_0x1a330d[_0x52d9('0x19')](_0x59c889);return _0x1a330d[_0x52d9('0x1f')](_0x52d9('0x20'),_0x247e00+'-'+_0x2bb1ae+'/'+_0x569074)[_0x52d9('0x21')](_0x96753a);}return null;};}function patchUpdates(_0x5bd676){return function(_0x1f47c6){try{jsonpatch[_0x52d9('0x22')](_0x1f47c6,_0x5bd676,!![]);}catch(_0x5a8306){return BPromise[_0x52d9('0x23')](_0x5a8306);}return _0x1f47c6[_0x52d9('0x24')]();};}function saveUpdates(_0x2720d4,_0x5ef1ae){return function(_0x58c57a){if(_0x58c57a){return _0x58c57a[_0x52d9('0x25')](_0x2720d4)[_0x52d9('0x26')](function(_0x1b287b){return _0x1b287b;});}return null;};}function removeEntity(_0x28d8b5,_0x40bab5){return function(_0x3ccff9){if(_0x3ccff9){return _0x3ccff9['destroy']()['then'](function(){_0x28d8b5[_0x52d9('0x19')](0xcc)[_0x52d9('0x1a')]();});}};}function handleEntityNotFound(_0x2dc9af,_0x23feef){return function(_0x3802e2){if(!_0x3802e2){_0x2dc9af['sendStatus'](0x194);}return _0x3802e2;};}function handleError(_0x4bae55,_0x4d1c05){_0x4d1c05=_0x4d1c05||0x1f4;return function(_0x540b35){logger[_0x52d9('0x27')](_0x540b35['stack']);if(_0x540b35[_0x52d9('0x28')]){delete _0x540b35['name'];}_0x4bae55[_0x52d9('0x19')](_0x4d1c05)['send'](_0x540b35);};}exports[_0x52d9('0x29')]=function(_0x47227f,_0xe24be4){var _0x4bc59d={},_0x165883={},_0x3be41b={'count':0x0,'rows':[]};var _0x2574e9=_[_0x52d9('0x2a')](db[_0x52d9('0x2b')][_0x52d9('0x2c')],function(_0x39bc2f){return{'name':_0x39bc2f[_0x52d9('0x2d')],'type':_0x39bc2f[_0x52d9('0x2e')]['key']};});_0x165883['model']=_[_0x52d9('0x2a')](_0x2574e9,'name');_0x165883[_0x52d9('0x2f')]=_[_0x52d9('0x30')](_0x47227f['query']);_0x165883[_0x52d9('0x31')]=_[_0x52d9('0x32')](_0x165883['model'],_0x165883[_0x52d9('0x2f')]);_0x4bc59d[_0x52d9('0x33')]=_['intersection'](_0x165883[_0x52d9('0x34')],qs[_0x52d9('0x35')](_0x47227f[_0x52d9('0x2f')]['fields']));_0x4bc59d[_0x52d9('0x33')]=_0x4bc59d['attributes']['length']?_0x4bc59d[_0x52d9('0x33')]:_0x165883[_0x52d9('0x34')];if(!_0x47227f[_0x52d9('0x2f')]['hasOwnProperty'](_0x52d9('0x36'))){_0x4bc59d[_0x52d9('0x1e')]=qs[_0x52d9('0x1e')](_0x47227f[_0x52d9('0x2f')]['limit']);_0x4bc59d[_0x52d9('0x1d')]=qs[_0x52d9('0x1d')](_0x47227f[_0x52d9('0x2f')]['offset']);}_0x4bc59d['order']=qs['sort'](_0x47227f[_0x52d9('0x2f')]['sort']);_0x4bc59d[_0x52d9('0x37')]=qs['filters'](_[_0x52d9('0x38')](_0x47227f[_0x52d9('0x2f')],_0x165883[_0x52d9('0x31')]),_0x2574e9);if(_0x47227f[_0x52d9('0x2f')]['filter']){_0x4bc59d[_0x52d9('0x37')]=_[_0x52d9('0x39')](_0x4bc59d['where'],{'$or':_[_0x52d9('0x2a')](_0x2574e9,function(_0x3b43f2){if(_0x3b43f2['type']!==_0x52d9('0x3a')){var _0x46dbf9={};_0x46dbf9[_0x3b43f2[_0x52d9('0x28')]]={'$like':'%'+_0x47227f[_0x52d9('0x2f')][_0x52d9('0x3b')]+'%'};return _0x46dbf9;}})});}_0x4bc59d=_['merge']({},_0x4bc59d,_0x47227f[_0x52d9('0x3c')]);var _0x57fd9b={'where':_0x4bc59d[_0x52d9('0x37')]};return db[_0x52d9('0x2b')][_0x52d9('0x1c')](_0x57fd9b)[_0x52d9('0x26')](function(_0x562bec){_0x3be41b[_0x52d9('0x1c')]=_0x562bec;if(_0x47227f[_0x52d9('0x2f')]['includeAll']){_0x4bc59d['include']=[{'all':!![]}];}return db[_0x52d9('0x2b')][_0x52d9('0x3d')](_0x4bc59d);})[_0x52d9('0x26')](function(_0x46661e){_0x3be41b[_0x52d9('0x3e')]=_0x46661e;return _0x3be41b;})[_0x52d9('0x26')](respondWithFilteredResult(_0xe24be4,_0x4bc59d))['catch'](handleError(_0xe24be4,null));};exports[_0x52d9('0x3f')]=function(_0x577182,_0x40072c){var _0x5986a4={'raw':!![],'where':{'id':_0x577182[_0x52d9('0x40')]['id']}},_0x4be6f7={};_0x4be6f7['model']=_[_0x52d9('0x30')](db[_0x52d9('0x2b')]['rawAttributes']);_0x4be6f7[_0x52d9('0x2f')]=_[_0x52d9('0x30')](_0x577182[_0x52d9('0x2f')]);_0x4be6f7[_0x52d9('0x31')]=_['intersection'](_0x4be6f7[_0x52d9('0x34')],_0x4be6f7[_0x52d9('0x2f')]);_0x5986a4[_0x52d9('0x33')]=_[_0x52d9('0x32')](_0x4be6f7[_0x52d9('0x34')],qs[_0x52d9('0x35')](_0x577182['query'][_0x52d9('0x35')]));_0x5986a4['attributes']=_0x5986a4['attributes'][_0x52d9('0x41')]?_0x5986a4[_0x52d9('0x33')]:_0x4be6f7[_0x52d9('0x34')];if(_0x577182[_0x52d9('0x2f')][_0x52d9('0x42')]){_0x5986a4[_0x52d9('0x43')]=[{'all':!![]}];}_0x5986a4=_[_0x52d9('0x39')]({},_0x5986a4,_0x577182['options']);return db[_0x52d9('0x2b')][_0x52d9('0x44')](_0x5986a4)[_0x52d9('0x26')](handleEntityNotFound(_0x40072c,null))['then'](respondWithResult(_0x40072c,null))[_0x52d9('0x45')](handleError(_0x40072c,null));};exports[_0x52d9('0x46')]=function(_0x4b835e,_0x32f5d7){return db['ChatQueueReport'][_0x52d9('0x46')](_0x4b835e['body'],{})[_0x52d9('0x26')](respondWithResult(_0x32f5d7,0xc9))[_0x52d9('0x45')](handleError(_0x32f5d7,null));};exports[_0x52d9('0x25')]=function(_0x229069,_0x95f810){if(_0x229069[_0x52d9('0x47')]['id']){delete _0x229069[_0x52d9('0x47')]['id'];}return db[_0x52d9('0x2b')][_0x52d9('0x44')]({'where':{'id':_0x229069[_0x52d9('0x40')]['id']}})[_0x52d9('0x26')](handleEntityNotFound(_0x95f810,null))[_0x52d9('0x26')](saveUpdates(_0x229069[_0x52d9('0x47')],null))[_0x52d9('0x26')](respondWithResult(_0x95f810,null))[_0x52d9('0x45')](handleError(_0x95f810,null));};exports['destroy']=function(_0x84f180,_0x574dd2){return db[_0x52d9('0x2b')][_0x52d9('0x44')]({'where':{'id':_0x84f180['params']['id']}})['then'](handleEntityNotFound(_0x574dd2,null))[_0x52d9('0x26')](removeEntity(_0x574dd2,null))[_0x52d9('0x45')](handleError(_0x574dd2,null));};exports[_0x52d9('0x48')]=function(_0x19081d,_0x229b33){return db[_0x52d9('0x2b')][_0x52d9('0x48')]()[_0x52d9('0x26')](respondWithResult(_0x229b33,null))[_0x52d9('0x45')](handleError(_0x229b33,null));};