7c59338f7fd5c984c0c0c7cb2613c3da9cd9ce26
[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 _0x07a3=['update','then','name','send','index','map','ChatQueueReport','rawAttributes','type','key','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','destroy','describe','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject'];(function(_0x5e83de,_0x23c203){var _0x5cb019=function(_0x29e524){while(--_0x29e524){_0x5e83de['push'](_0x5e83de['shift']());}};_0x5cb019(++_0x23c203);}(_0x07a3,0x1e9));var _0x307a=function(_0x5b561d,_0x422b7c){_0x5b561d=_0x5b561d-0x0;var _0x431060=_0x07a3[_0x5b561d];return _0x431060;};'use strict';var pdf=require(_0x307a('0x0'));var emlformat=require(_0x307a('0x1'));var rimraf=require(_0x307a('0x2'));var zipdir=require(_0x307a('0x3'));var jsonpatch=require(_0x307a('0x4'));var rp=require(_0x307a('0x5'));var moment=require(_0x307a('0x6'));var BPromise=require(_0x307a('0x7'));var Mustache=require(_0x307a('0x8'));var util=require(_0x307a('0x9'));var path=require(_0x307a('0xa'));var sox=require(_0x307a('0xb'));var csv=require(_0x307a('0xc'));var ejs=require(_0x307a('0xd'));var fs=require('fs');var _=require(_0x307a('0xe'));var squel=require(_0x307a('0xf'));var crypto=require(_0x307a('0x10'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x307a('0xc'));var querystring=require(_0x307a('0x11'));var Papa=require(_0x307a('0x12'));var Redis=require(_0x307a('0x13'));var authService=require('../../components/auth/service');var qs=require(_0x307a('0x14'));var as=require(_0x307a('0x15'));var hardwareService=require(_0x307a('0x16'));var logger=require('../../config/logger')(_0x307a('0x17'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x307a('0x18'));var db=require(_0x307a('0x19'))['db'];function respondWithStatusCode(_0x18162e,_0x413fa9){_0x413fa9=_0x413fa9||0xcc;return function(_0x2f60cd){if(_0x2f60cd){return _0x18162e[_0x307a('0x1a')](_0x413fa9);}return _0x18162e[_0x307a('0x1b')](_0x413fa9)[_0x307a('0x1c')]();};}function respondWithResult(_0x48d048,_0x450fa0){_0x450fa0=_0x450fa0||0xc8;return function(_0x365b43){if(_0x365b43){return _0x48d048[_0x307a('0x1b')](_0x450fa0)[_0x307a('0x1d')](_0x365b43);}};}function respondWithFilteredResult(_0x47df03,_0x4d915e){return function(_0x38a9f9){if(_0x38a9f9){var _0x455187=_0x38a9f9[_0x307a('0x1e')],_0x2d69be=_0x4d915e[_0x307a('0x1f')],_0x32eec5=_0x4d915e[_0x307a('0x1f')]+_0x4d915e[_0x307a('0x20')],_0x583ae1;if(_0x32eec5>=_0x455187){_0x32eec5=_0x455187;_0x583ae1=0xc8;}else{_0x583ae1=0xce;}_0x47df03[_0x307a('0x1b')](_0x583ae1);return _0x47df03['set'](_0x307a('0x21'),_0x2d69be+'-'+_0x32eec5+'/'+_0x455187)[_0x307a('0x1d')](_0x38a9f9);}return null;};}function patchUpdates(_0x52ce46){return function(_0x3bcfea){try{jsonpatch[_0x307a('0x22')](_0x3bcfea,_0x52ce46,!![]);}catch(_0x5e3941){return BPromise[_0x307a('0x23')](_0x5e3941);}return _0x3bcfea['save']();};}function saveUpdates(_0x2cb586,_0x452930){return function(_0x5da764){if(_0x5da764){return _0x5da764[_0x307a('0x24')](_0x2cb586)[_0x307a('0x25')](function(_0x3ea505){return _0x3ea505;});}return null;};}function removeEntity(_0x34b9fe,_0x510957){return function(_0xebaaa3){if(_0xebaaa3){return _0xebaaa3['destroy']()[_0x307a('0x25')](function(){_0x34b9fe['status'](0xcc)[_0x307a('0x1c')]();});}};}function handleEntityNotFound(_0x3e8cbe,_0x5bbf1e){return function(_0x80147c){if(!_0x80147c){_0x3e8cbe[_0x307a('0x1a')](0x194);}return _0x80147c;};}function handleError(_0x37b070,_0x15db12){_0x15db12=_0x15db12||0x1f4;return function(_0x33f69d){logger['error'](_0x33f69d['stack']);if(_0x33f69d[_0x307a('0x26')]){delete _0x33f69d['name'];}_0x37b070[_0x307a('0x1b')](_0x15db12)[_0x307a('0x27')](_0x33f69d);};}exports[_0x307a('0x28')]=function(_0x1c3f77,_0x2be36e){var _0x5c528e={},_0x2387d1={},_0x5de823={'count':0x0,'rows':[]};var _0x4911c6=_[_0x307a('0x29')](db[_0x307a('0x2a')][_0x307a('0x2b')],function(_0x49b540){return{'name':_0x49b540['fieldName'],'type':_0x49b540[_0x307a('0x2c')][_0x307a('0x2d')]};});_0x2387d1['model']=_[_0x307a('0x29')](_0x4911c6,_0x307a('0x26'));_0x2387d1[_0x307a('0x2e')]=_[_0x307a('0x2f')](_0x1c3f77[_0x307a('0x2e')]);_0x2387d1[_0x307a('0x30')]=_[_0x307a('0x31')](_0x2387d1['model'],_0x2387d1[_0x307a('0x2e')]);_0x5c528e['attributes']=_[_0x307a('0x31')](_0x2387d1[_0x307a('0x32')],qs[_0x307a('0x33')](_0x1c3f77[_0x307a('0x2e')][_0x307a('0x33')]));_0x5c528e[_0x307a('0x34')]=_0x5c528e[_0x307a('0x34')][_0x307a('0x35')]?_0x5c528e[_0x307a('0x34')]:_0x2387d1['model'];if(!_0x1c3f77[_0x307a('0x2e')]['hasOwnProperty'](_0x307a('0x36'))){_0x5c528e[_0x307a('0x20')]=qs[_0x307a('0x20')](_0x1c3f77['query'][_0x307a('0x20')]);_0x5c528e[_0x307a('0x1f')]=qs[_0x307a('0x1f')](_0x1c3f77[_0x307a('0x2e')][_0x307a('0x1f')]);}_0x5c528e[_0x307a('0x37')]=qs[_0x307a('0x38')](_0x1c3f77['query'][_0x307a('0x38')]);_0x5c528e[_0x307a('0x39')]=qs[_0x307a('0x30')](_[_0x307a('0x3a')](_0x1c3f77[_0x307a('0x2e')],_0x2387d1['filters']),_0x4911c6);if(_0x1c3f77[_0x307a('0x2e')][_0x307a('0x3b')]){_0x5c528e[_0x307a('0x39')]=_[_0x307a('0x3c')](_0x5c528e[_0x307a('0x39')],{'$or':_['map'](_0x4911c6,function(_0x149062){if(_0x149062[_0x307a('0x2c')]!==_0x307a('0x3d')){var _0xa3636a={};_0xa3636a[_0x149062[_0x307a('0x26')]]={'$like':'%'+_0x1c3f77['query']['filter']+'%'};return _0xa3636a;}})});}_0x5c528e=_[_0x307a('0x3c')]({},_0x5c528e,_0x1c3f77['options']);var _0x37ce97={'where':_0x5c528e[_0x307a('0x39')]};return db[_0x307a('0x2a')][_0x307a('0x1e')](_0x37ce97)[_0x307a('0x25')](function(_0x5d82b6){_0x5de823[_0x307a('0x1e')]=_0x5d82b6;if(_0x1c3f77[_0x307a('0x2e')][_0x307a('0x3e')]){_0x5c528e[_0x307a('0x3f')]=[{'all':!![]}];}return db[_0x307a('0x2a')][_0x307a('0x40')](_0x5c528e);})[_0x307a('0x25')](function(_0x251394){_0x5de823[_0x307a('0x41')]=_0x251394;return _0x5de823;})[_0x307a('0x25')](respondWithFilteredResult(_0x2be36e,_0x5c528e))[_0x307a('0x42')](handleError(_0x2be36e,null));};exports[_0x307a('0x43')]=function(_0x44680e,_0x27cd3f){var _0x3884da={'raw':!![],'where':{'id':_0x44680e[_0x307a('0x44')]['id']}},_0x13538a={};_0x13538a['model']=_[_0x307a('0x2f')](db['ChatQueueReport'][_0x307a('0x2b')]);_0x13538a['query']=_['keys'](_0x44680e[_0x307a('0x2e')]);_0x13538a['filters']=_['intersection'](_0x13538a[_0x307a('0x32')],_0x13538a[_0x307a('0x2e')]);_0x3884da[_0x307a('0x34')]=_[_0x307a('0x31')](_0x13538a[_0x307a('0x32')],qs['fields'](_0x44680e[_0x307a('0x2e')]['fields']));_0x3884da[_0x307a('0x34')]=_0x3884da['attributes'][_0x307a('0x35')]?_0x3884da[_0x307a('0x34')]:_0x13538a[_0x307a('0x32')];if(_0x44680e[_0x307a('0x2e')][_0x307a('0x3e')]){_0x3884da[_0x307a('0x3f')]=[{'all':!![]}];}_0x3884da=_[_0x307a('0x3c')]({},_0x3884da,_0x44680e[_0x307a('0x45')]);return db['ChatQueueReport'][_0x307a('0x46')](_0x3884da)['then'](handleEntityNotFound(_0x27cd3f,null))[_0x307a('0x25')](respondWithResult(_0x27cd3f,null))[_0x307a('0x42')](handleError(_0x27cd3f,null));};exports[_0x307a('0x47')]=function(_0x40a334,_0x102232){return db[_0x307a('0x2a')]['create'](_0x40a334['body'],{})['then'](respondWithResult(_0x102232,0xc9))['catch'](handleError(_0x102232,null));};exports[_0x307a('0x24')]=function(_0x2fe8f0,_0x435dc7){if(_0x2fe8f0[_0x307a('0x48')]['id']){delete _0x2fe8f0[_0x307a('0x48')]['id'];}return db['ChatQueueReport'][_0x307a('0x46')]({'where':{'id':_0x2fe8f0[_0x307a('0x44')]['id']}})[_0x307a('0x25')](handleEntityNotFound(_0x435dc7,null))[_0x307a('0x25')](saveUpdates(_0x2fe8f0[_0x307a('0x48')],null))['then'](respondWithResult(_0x435dc7,null))[_0x307a('0x42')](handleError(_0x435dc7,null));};exports[_0x307a('0x49')]=function(_0x37d18f,_0x469a96){return db[_0x307a('0x2a')][_0x307a('0x46')]({'where':{'id':_0x37d18f['params']['id']}})[_0x307a('0x25')](handleEntityNotFound(_0x469a96,null))['then'](removeEntity(_0x469a96,null))['catch'](handleError(_0x469a96,null));};exports['describe']=function(_0x1bd121,_0x2bfc59){return db[_0x307a('0x2a')][_0x307a('0x4a')]()['then'](respondWithResult(_0x2bfc59,null))[_0x307a('0x42')](handleError(_0x2bfc59,null));};