c6f0dafd64e4befdabbb59d9df174906da9555a6
[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 _0x9e69=['ChatQueueReport','rawAttributes','fieldName','type','key','query','intersection','model','fields','attributes','length','nolimit','order','sort','filters','pick','filter','where','merge','options','includeAll','include','findAll','rows','catch','show','keys','create','body','find','params','describe','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','offset','undefined','limit','count','status','set','Content-Range','json','apply','save','update','then','destroy','error','stack','name','send','map'];(function(_0x1269c6,_0x1c8942){var _0x4868c7=function(_0x1661bc){while(--_0x1661bc){_0x1269c6['push'](_0x1269c6['shift']());}};_0x4868c7(++_0x1c8942);}(_0x9e69,0x150));var _0x99e6=function(_0x5f0789,_0x487895){_0x5f0789=_0x5f0789-0x0;var _0xb30640=_0x9e69[_0x5f0789];return _0xb30640;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x99e6('0x0'));var zipdir=require(_0x99e6('0x1'));var jsonpatch=require(_0x99e6('0x2'));var rp=require(_0x99e6('0x3'));var moment=require('moment');var BPromise=require(_0x99e6('0x4'));var Mustache=require(_0x99e6('0x5'));var util=require('util');var path=require(_0x99e6('0x6'));var sox=require(_0x99e6('0x7'));var csv=require(_0x99e6('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x99e6('0x9'));var _=require(_0x99e6('0xa'));var squel=require(_0x99e6('0xb'));var crypto=require('crypto');var jsforce=require(_0x99e6('0xc'));var deskjs=require(_0x99e6('0xd'));var toCsv=require('to-csv');var querystring=require(_0x99e6('0xe'));var Papa=require(_0x99e6('0xf'));var Redis=require('ioredis');var authService=require(_0x99e6('0x10'));var qs=require(_0x99e6('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x99e6('0x12'))(_0x99e6('0x13'));var utils=require(_0x99e6('0x14'));var config=require(_0x99e6('0x15'));var licenseUtil=require(_0x99e6('0x16'));var db=require(_0x99e6('0x17'))['db'];function respondWithStatusCode(_0x51de85,_0x13a62b){_0x13a62b=_0x13a62b||0xcc;return function(_0x4033c5){if(_0x4033c5){return _0x51de85[_0x99e6('0x18')](_0x13a62b);}return _0x51de85['status'](_0x13a62b)[_0x99e6('0x19')]();};}function respondWithResult(_0x4061b2,_0x2cf6a4){_0x2cf6a4=_0x2cf6a4||0xc8;return function(_0x57111c){if(_0x57111c){return _0x4061b2['status'](_0x2cf6a4)['json'](_0x57111c);}};}function respondWithFilteredResult(_0x40fdb8,_0x4741c9){return function(_0x1d910a){if(_0x1d910a){var _0x5d5cd5=typeof _0x4741c9[_0x99e6('0x1a')]===_0x99e6('0x1b')&&typeof _0x4741c9[_0x99e6('0x1c')]===_0x99e6('0x1b');var _0x3a302d=_0x1d910a['count'];var _0x2e9e24=_0x5d5cd5?0x0:_0x4741c9['offset'];var _0x2749bf=_0x5d5cd5?_0x1d910a[_0x99e6('0x1d')]:_0x4741c9['offset']+_0x4741c9[_0x99e6('0x1c')];var _0x3c4cc8;if(_0x2749bf>=_0x3a302d){_0x2749bf=_0x3a302d;_0x3c4cc8=0xc8;}else{_0x3c4cc8=0xce;}_0x40fdb8[_0x99e6('0x1e')](_0x3c4cc8);return _0x40fdb8[_0x99e6('0x1f')](_0x99e6('0x20'),_0x2e9e24+'-'+_0x2749bf+'/'+_0x3a302d)[_0x99e6('0x21')](_0x1d910a);}return null;};}function patchUpdates(_0x41a32b){return function(_0x95a8e5){try{jsonpatch[_0x99e6('0x22')](_0x95a8e5,_0x41a32b,!![]);}catch(_0xef736c){return BPromise['reject'](_0xef736c);}return _0x95a8e5[_0x99e6('0x23')]();};}function saveUpdates(_0xef9c63,_0x16f05d){return function(_0x249872){if(_0x249872){return _0x249872[_0x99e6('0x24')](_0xef9c63)[_0x99e6('0x25')](function(_0x2a308f){return _0x2a308f;});}return null;};}function removeEntity(_0xa0b949,_0x2033af){return function(_0x1b4339){if(_0x1b4339){return _0x1b4339[_0x99e6('0x26')]()[_0x99e6('0x25')](function(){_0xa0b949[_0x99e6('0x1e')](0xcc)[_0x99e6('0x19')]();});}};}function handleEntityNotFound(_0x210b02,_0x19d2f1){return function(_0x17bc07){if(!_0x17bc07){_0x210b02['sendStatus'](0x194);}return _0x17bc07;};}function handleError(_0x43038d,_0x5390b3){_0x5390b3=_0x5390b3||0x1f4;return function(_0x30b956){logger[_0x99e6('0x27')](_0x30b956[_0x99e6('0x28')]);if(_0x30b956['name']){delete _0x30b956[_0x99e6('0x29')];}_0x43038d['status'](_0x5390b3)[_0x99e6('0x2a')](_0x30b956);};}exports['index']=function(_0x39ca5d,_0x46343f){var _0x4b58c7={},_0x4d6b19={},_0x2c9b92={'count':0x0,'rows':[]};var _0x350fa0=_[_0x99e6('0x2b')](db[_0x99e6('0x2c')][_0x99e6('0x2d')],function(_0x4b92af){return{'name':_0x4b92af[_0x99e6('0x2e')],'type':_0x4b92af[_0x99e6('0x2f')][_0x99e6('0x30')]};});_0x4d6b19['model']=_['map'](_0x350fa0,_0x99e6('0x29'));_0x4d6b19['query']=_['keys'](_0x39ca5d[_0x99e6('0x31')]);_0x4d6b19['filters']=_[_0x99e6('0x32')](_0x4d6b19[_0x99e6('0x33')],_0x4d6b19[_0x99e6('0x31')]);_0x4b58c7['attributes']=_[_0x99e6('0x32')](_0x4d6b19[_0x99e6('0x33')],qs[_0x99e6('0x34')](_0x39ca5d[_0x99e6('0x31')]['fields']));_0x4b58c7[_0x99e6('0x35')]=_0x4b58c7[_0x99e6('0x35')][_0x99e6('0x36')]?_0x4b58c7[_0x99e6('0x35')]:_0x4d6b19[_0x99e6('0x33')];if(!_0x39ca5d[_0x99e6('0x31')]['hasOwnProperty'](_0x99e6('0x37'))){_0x4b58c7['limit']=qs['limit'](_0x39ca5d['query'][_0x99e6('0x1c')]);_0x4b58c7[_0x99e6('0x1a')]=qs['offset'](_0x39ca5d[_0x99e6('0x31')][_0x99e6('0x1a')]);}_0x4b58c7[_0x99e6('0x38')]=qs[_0x99e6('0x39')](_0x39ca5d[_0x99e6('0x31')][_0x99e6('0x39')]);_0x4b58c7['where']=qs[_0x99e6('0x3a')](_[_0x99e6('0x3b')](_0x39ca5d[_0x99e6('0x31')],_0x4d6b19[_0x99e6('0x3a')]),_0x350fa0);if(_0x39ca5d['query'][_0x99e6('0x3c')]){_0x4b58c7[_0x99e6('0x3d')]=_[_0x99e6('0x3e')](_0x4b58c7[_0x99e6('0x3d')],{'$or':_[_0x99e6('0x2b')](_0x350fa0,function(_0x2fc6e5){if(_0x2fc6e5[_0x99e6('0x2f')]!=='VIRTUAL'){var _0x4b888c={};_0x4b888c[_0x2fc6e5['name']]={'$like':'%'+_0x39ca5d[_0x99e6('0x31')][_0x99e6('0x3c')]+'%'};return _0x4b888c;}})});}_0x4b58c7=_['merge']({},_0x4b58c7,_0x39ca5d[_0x99e6('0x3f')]);var _0x2975d8={'where':_0x4b58c7[_0x99e6('0x3d')]};return db[_0x99e6('0x2c')][_0x99e6('0x1d')](_0x2975d8)[_0x99e6('0x25')](function(_0x26cade){_0x2c9b92[_0x99e6('0x1d')]=_0x26cade;if(_0x39ca5d[_0x99e6('0x31')][_0x99e6('0x40')]){_0x4b58c7[_0x99e6('0x41')]=[{'all':!![]}];}return db['ChatQueueReport'][_0x99e6('0x42')](_0x4b58c7);})[_0x99e6('0x25')](function(_0x13ee61){_0x2c9b92[_0x99e6('0x43')]=_0x13ee61;return _0x2c9b92;})[_0x99e6('0x25')](respondWithFilteredResult(_0x46343f,_0x4b58c7))[_0x99e6('0x44')](handleError(_0x46343f,null));};exports[_0x99e6('0x45')]=function(_0x34991f,_0x2f5b4f){var _0x534f05={'raw':!![],'where':{'id':_0x34991f['params']['id']}},_0x562921={};_0x562921['model']=_['keys'](db[_0x99e6('0x2c')][_0x99e6('0x2d')]);_0x562921['query']=_[_0x99e6('0x46')](_0x34991f[_0x99e6('0x31')]);_0x562921[_0x99e6('0x3a')]=_[_0x99e6('0x32')](_0x562921[_0x99e6('0x33')],_0x562921[_0x99e6('0x31')]);_0x534f05['attributes']=_[_0x99e6('0x32')](_0x562921[_0x99e6('0x33')],qs[_0x99e6('0x34')](_0x34991f[_0x99e6('0x31')][_0x99e6('0x34')]));_0x534f05[_0x99e6('0x35')]=_0x534f05[_0x99e6('0x35')][_0x99e6('0x36')]?_0x534f05[_0x99e6('0x35')]:_0x562921[_0x99e6('0x33')];if(_0x34991f[_0x99e6('0x31')][_0x99e6('0x40')]){_0x534f05[_0x99e6('0x41')]=[{'all':!![]}];}_0x534f05=_[_0x99e6('0x3e')]({},_0x534f05,_0x34991f['options']);return db['ChatQueueReport']['find'](_0x534f05)['then'](handleEntityNotFound(_0x2f5b4f,null))[_0x99e6('0x25')](respondWithResult(_0x2f5b4f,null))[_0x99e6('0x44')](handleError(_0x2f5b4f,null));};exports[_0x99e6('0x47')]=function(_0x10d693,_0x2c071f){return db['ChatQueueReport']['create'](_0x10d693[_0x99e6('0x48')],{})[_0x99e6('0x25')](respondWithResult(_0x2c071f,0xc9))['catch'](handleError(_0x2c071f,null));};exports['update']=function(_0x10a08e,_0x437bf2){if(_0x10a08e['body']['id']){delete _0x10a08e[_0x99e6('0x48')]['id'];}return db['ChatQueueReport'][_0x99e6('0x49')]({'where':{'id':_0x10a08e[_0x99e6('0x4a')]['id']}})[_0x99e6('0x25')](handleEntityNotFound(_0x437bf2,null))['then'](saveUpdates(_0x10a08e[_0x99e6('0x48')],null))[_0x99e6('0x25')](respondWithResult(_0x437bf2,null))['catch'](handleError(_0x437bf2,null));};exports[_0x99e6('0x26')]=function(_0x202159,_0x35973e){return db['ChatQueueReport']['find']({'where':{'id':_0x202159[_0x99e6('0x4a')]['id']}})[_0x99e6('0x25')](handleEntityNotFound(_0x35973e,null))['then'](removeEntity(_0x35973e,null))[_0x99e6('0x44')](handleError(_0x35973e,null));};exports[_0x99e6('0x4b')]=function(_0x20d286,_0x40de95){return db[_0x99e6('0x2c')][_0x99e6('0x4b')]()[_0x99e6('0x25')](respondWithResult(_0x40de95,null))['catch'](handleError(_0x40de95,null));};