Built motion from commit 00bf23f6.|2.6.16
[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 _0x0309=['describe','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','status','end','offset','undefined','count','limit','set','json','apply','reject','then','destroy','sendStatus','stack','name','send','rawAttributes','fieldName','type','model','query','keys','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filters','pick','VIRTUAL','filter','merge','options','includeAll','ChatQueueReport','findAll','rows','show','create','body','update','find','catch','params'];(function(_0x3c05b2,_0x2a2dc3){var _0x586819=function(_0x52129b){while(--_0x52129b){_0x3c05b2['push'](_0x3c05b2['shift']());}};_0x586819(++_0x2a2dc3);}(_0x0309,0x8d));var _0x9030=function(_0x2ba3c5,_0x405d42){_0x2ba3c5=_0x2ba3c5-0x0;var _0x426eaf=_0x0309[_0x2ba3c5];return _0x426eaf;};'use strict';var emlformat=require(_0x9030('0x0'));var rimraf=require(_0x9030('0x1'));var zipdir=require(_0x9030('0x2'));var jsonpatch=require(_0x9030('0x3'));var rp=require(_0x9030('0x4'));var moment=require('moment');var BPromise=require(_0x9030('0x5'));var Mustache=require(_0x9030('0x6'));var util=require('util');var path=require('path');var sox=require(_0x9030('0x7'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x9030('0x8'));var squel=require('squel');var crypto=require(_0x9030('0x9'));var jsforce=require(_0x9030('0xa'));var deskjs=require(_0x9030('0xb'));var toCsv=require(_0x9030('0xc'));var querystring=require(_0x9030('0xd'));var Papa=require(_0x9030('0xe'));var Redis=require(_0x9030('0xf'));var authService=require(_0x9030('0x10'));var qs=require(_0x9030('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9030('0x12'));var logger=require('../../config/logger')(_0x9030('0x13'));var utils=require(_0x9030('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x9030('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x21ded6,_0x5096a0){_0x5096a0=_0x5096a0||0xcc;return function(_0x444132){if(_0x444132){return _0x21ded6['sendStatus'](_0x5096a0);}return _0x21ded6[_0x9030('0x16')](_0x5096a0)[_0x9030('0x17')]();};}function respondWithResult(_0x438211,_0x142a9e){_0x142a9e=_0x142a9e||0xc8;return function(_0x551021){if(_0x551021){return _0x438211['status'](_0x142a9e)['json'](_0x551021);}};}function respondWithFilteredResult(_0x493b5f,_0x14eb75){return function(_0x3b61cc){if(_0x3b61cc){var _0x4b8351=typeof _0x14eb75[_0x9030('0x18')]===_0x9030('0x19')&&typeof _0x14eb75['limit']===_0x9030('0x19');var _0x4bc394=_0x3b61cc[_0x9030('0x1a')];var _0x4960fd=_0x4b8351?0x0:_0x14eb75['offset'];var _0x36f91d=_0x4b8351?_0x3b61cc[_0x9030('0x1a')]:_0x14eb75[_0x9030('0x18')]+_0x14eb75[_0x9030('0x1b')];var _0x42207a;if(_0x36f91d>=_0x4bc394){_0x36f91d=_0x4bc394;_0x42207a=0xc8;}else{_0x42207a=0xce;}_0x493b5f[_0x9030('0x16')](_0x42207a);return _0x493b5f[_0x9030('0x1c')]('Content-Range',_0x4960fd+'-'+_0x36f91d+'/'+_0x4bc394)[_0x9030('0x1d')](_0x3b61cc);}return null;};}function patchUpdates(_0x3e0d21){return function(_0x279cd1){try{jsonpatch[_0x9030('0x1e')](_0x279cd1,_0x3e0d21,!![]);}catch(_0x56c9a5){return BPromise[_0x9030('0x1f')](_0x56c9a5);}return _0x279cd1['save']();};}function saveUpdates(_0x50a924,_0x2d1041){return function(_0x350ef3){if(_0x350ef3){return _0x350ef3['update'](_0x50a924)[_0x9030('0x20')](function(_0x2c26ed){return _0x2c26ed;});}return null;};}function removeEntity(_0x39fd02,_0x303885){return function(_0x2cb254){if(_0x2cb254){return _0x2cb254[_0x9030('0x21')]()[_0x9030('0x20')](function(){_0x39fd02[_0x9030('0x16')](0xcc)[_0x9030('0x17')]();});}};}function handleEntityNotFound(_0x46f19c,_0x1ae92e){return function(_0x53dbc2){if(!_0x53dbc2){_0x46f19c[_0x9030('0x22')](0x194);}return _0x53dbc2;};}function handleError(_0x434152,_0x5864e1){_0x5864e1=_0x5864e1||0x1f4;return function(_0x1761ee){logger['error'](_0x1761ee[_0x9030('0x23')]);if(_0x1761ee[_0x9030('0x24')]){delete _0x1761ee[_0x9030('0x24')];}_0x434152['status'](_0x5864e1)[_0x9030('0x25')](_0x1761ee);};}exports['index']=function(_0x4ab6d4,_0x3e0c85){var _0x3af16a={},_0x1afa08={},_0x5328c5={'count':0x0,'rows':[]};var _0xf71255=_['map'](db['ChatQueueReport'][_0x9030('0x26')],function(_0x25410e){return{'name':_0x25410e[_0x9030('0x27')],'type':_0x25410e[_0x9030('0x28')]['key']};});_0x1afa08[_0x9030('0x29')]=_['map'](_0xf71255,_0x9030('0x24'));_0x1afa08[_0x9030('0x2a')]=_[_0x9030('0x2b')](_0x4ab6d4[_0x9030('0x2a')]);_0x1afa08['filters']=_['intersection'](_0x1afa08[_0x9030('0x29')],_0x1afa08['query']);_0x3af16a[_0x9030('0x2c')]=_[_0x9030('0x2d')](_0x1afa08[_0x9030('0x29')],qs[_0x9030('0x2e')](_0x4ab6d4[_0x9030('0x2a')][_0x9030('0x2e')]));_0x3af16a[_0x9030('0x2c')]=_0x3af16a['attributes']['length']?_0x3af16a[_0x9030('0x2c')]:_0x1afa08[_0x9030('0x29')];if(!_0x4ab6d4['query'][_0x9030('0x2f')](_0x9030('0x30'))){_0x3af16a[_0x9030('0x1b')]=qs[_0x9030('0x1b')](_0x4ab6d4[_0x9030('0x2a')][_0x9030('0x1b')]);_0x3af16a[_0x9030('0x18')]=qs['offset'](_0x4ab6d4[_0x9030('0x2a')][_0x9030('0x18')]);}_0x3af16a[_0x9030('0x31')]=qs['sort'](_0x4ab6d4[_0x9030('0x2a')][_0x9030('0x32')]);_0x3af16a[_0x9030('0x33')]=qs[_0x9030('0x34')](_[_0x9030('0x35')](_0x4ab6d4[_0x9030('0x2a')],_0x1afa08['filters']),_0xf71255);if(_0x4ab6d4[_0x9030('0x2a')]['filter']){_0x3af16a['where']=_['merge'](_0x3af16a['where'],{'$or':_['map'](_0xf71255,function(_0x232e53){if(_0x232e53[_0x9030('0x28')]!==_0x9030('0x36')){var _0x1ca60a={};_0x1ca60a[_0x232e53[_0x9030('0x24')]]={'$like':'%'+_0x4ab6d4[_0x9030('0x2a')][_0x9030('0x37')]+'%'};return _0x1ca60a;}})});}_0x3af16a=_[_0x9030('0x38')]({},_0x3af16a,_0x4ab6d4[_0x9030('0x39')]);var _0xa13cc6={'where':_0x3af16a['where']};return db['ChatQueueReport'][_0x9030('0x1a')](_0xa13cc6)[_0x9030('0x20')](function(_0x4f4b46){_0x5328c5[_0x9030('0x1a')]=_0x4f4b46;if(_0x4ab6d4[_0x9030('0x2a')][_0x9030('0x3a')]){_0x3af16a['include']=[{'all':!![]}];}return db[_0x9030('0x3b')][_0x9030('0x3c')](_0x3af16a);})[_0x9030('0x20')](function(_0x11ccb2){_0x5328c5[_0x9030('0x3d')]=_0x11ccb2;return _0x5328c5;})[_0x9030('0x20')](respondWithFilteredResult(_0x3e0c85,_0x3af16a))['catch'](handleError(_0x3e0c85,null));};exports[_0x9030('0x3e')]=function(_0x45e99f,_0x26bd68){var _0x4640dd={'raw':!![],'where':{'id':_0x45e99f['params']['id']}},_0x5c95ec={};_0x5c95ec[_0x9030('0x29')]=_[_0x9030('0x2b')](db[_0x9030('0x3b')][_0x9030('0x26')]);_0x5c95ec[_0x9030('0x2a')]=_[_0x9030('0x2b')](_0x45e99f[_0x9030('0x2a')]);_0x5c95ec[_0x9030('0x34')]=_[_0x9030('0x2d')](_0x5c95ec[_0x9030('0x29')],_0x5c95ec[_0x9030('0x2a')]);_0x4640dd[_0x9030('0x2c')]=_[_0x9030('0x2d')](_0x5c95ec[_0x9030('0x29')],qs[_0x9030('0x2e')](_0x45e99f[_0x9030('0x2a')]['fields']));_0x4640dd['attributes']=_0x4640dd[_0x9030('0x2c')]['length']?_0x4640dd[_0x9030('0x2c')]:_0x5c95ec[_0x9030('0x29')];if(_0x45e99f[_0x9030('0x2a')][_0x9030('0x3a')]){_0x4640dd['include']=[{'all':!![]}];}_0x4640dd=_[_0x9030('0x38')]({},_0x4640dd,_0x45e99f[_0x9030('0x39')]);return db[_0x9030('0x3b')]['find'](_0x4640dd)[_0x9030('0x20')](handleEntityNotFound(_0x26bd68,null))[_0x9030('0x20')](respondWithResult(_0x26bd68,null))['catch'](handleError(_0x26bd68,null));};exports['create']=function(_0x587cfb,_0x35978a){return db[_0x9030('0x3b')][_0x9030('0x3f')](_0x587cfb[_0x9030('0x40')],{})[_0x9030('0x20')](respondWithResult(_0x35978a,0xc9))['catch'](handleError(_0x35978a,null));};exports[_0x9030('0x41')]=function(_0x2340e1,_0x35d0a9){if(_0x2340e1[_0x9030('0x40')]['id']){delete _0x2340e1[_0x9030('0x40')]['id'];}return db['ChatQueueReport'][_0x9030('0x42')]({'where':{'id':_0x2340e1['params']['id']}})[_0x9030('0x20')](handleEntityNotFound(_0x35d0a9,null))['then'](saveUpdates(_0x2340e1[_0x9030('0x40')],null))[_0x9030('0x20')](respondWithResult(_0x35d0a9,null))[_0x9030('0x43')](handleError(_0x35d0a9,null));};exports[_0x9030('0x21')]=function(_0x446173,_0x55c8b8){return db['ChatQueueReport'][_0x9030('0x42')]({'where':{'id':_0x446173[_0x9030('0x44')]['id']}})[_0x9030('0x20')](handleEntityNotFound(_0x55c8b8,null))[_0x9030('0x20')](removeEntity(_0x55c8b8,null))[_0x9030('0x43')](handleError(_0x55c8b8,null));};exports['describe']=function(_0xd04274,_0x52d097){return db[_0x9030('0x3b')][_0x9030('0x45')]()['then'](respondWithResult(_0x52d097,null))['catch'](handleError(_0x52d097,null));};