Built motion from commit 10af8726.|2.6.34
[motion2.git] / server / api / openchannelQueueReport / openchannelQueueReport.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 _0x8498=['ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','destroy','then','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','OpenchannelQueueReport','includeAll','include','findAll','rows','show','params','length','options','find','catch','create','body','update','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse'];(function(_0x627341,_0x5099d3){var _0x529fe0=function(_0x4a6922){while(--_0x4a6922){_0x627341['push'](_0x627341['shift']());}};_0x529fe0(++_0x5099d3);}(_0x8498,0x12e));var _0x8849=function(_0x7422fa,_0x3d61b5){_0x7422fa=_0x7422fa-0x0;var _0xb69488=_0x8498[_0x7422fa];return _0xb69488;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8849('0x0'));var zipdir=require(_0x8849('0x1'));var jsonpatch=require(_0x8849('0x2'));var rp=require(_0x8849('0x3'));var moment=require(_0x8849('0x4'));var BPromise=require(_0x8849('0x5'));var Mustache=require(_0x8849('0x6'));var util=require(_0x8849('0x7'));var path=require(_0x8849('0x8'));var sox=require(_0x8849('0x9'));var csv=require(_0x8849('0xa'));var ejs=require(_0x8849('0xb'));var fs=require('fs');var fs_extra=require(_0x8849('0xc'));var _=require(_0x8849('0xd'));var squel=require('squel');var crypto=require(_0x8849('0xe'));var jsforce=require('jsforce');var deskjs=require(_0x8849('0xf'));var toCsv=require(_0x8849('0xa'));var querystring=require(_0x8849('0x10'));var Papa=require(_0x8849('0x11'));var Redis=require(_0x8849('0x12'));var authService=require(_0x8849('0x13'));var qs=require(_0x8849('0x14'));var as=require(_0x8849('0x15'));var hardwareService=require(_0x8849('0x16'));var logger=require(_0x8849('0x17'))('api');var utils=require(_0x8849('0x18'));var config=require(_0x8849('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0x8849('0x1a'))['db'];function respondWithStatusCode(_0x3397cb,_0x4816f8){_0x4816f8=_0x4816f8||0xcc;return function(_0x55237a){if(_0x55237a){return _0x3397cb[_0x8849('0x1b')](_0x4816f8);}return _0x3397cb['status'](_0x4816f8)[_0x8849('0x1c')]();};}function respondWithResult(_0x20c22f,_0x4d77de){_0x4d77de=_0x4d77de||0xc8;return function(_0x396c5a){if(_0x396c5a){return _0x20c22f[_0x8849('0x1d')](_0x4d77de)[_0x8849('0x1e')](_0x396c5a);}};}function respondWithFilteredResult(_0x41c0cf,_0x12a579){return function(_0x2f90b1){if(_0x2f90b1){var _0x4f7ece=typeof _0x12a579[_0x8849('0x1f')]===_0x8849('0x20')&&typeof _0x12a579[_0x8849('0x21')]===_0x8849('0x20');var _0x1f8790=_0x2f90b1[_0x8849('0x22')];var _0x5426f3=_0x4f7ece?0x0:_0x12a579[_0x8849('0x1f')];var _0xea9f22=_0x4f7ece?_0x2f90b1['count']:_0x12a579['offset']+_0x12a579['limit'];var _0x3dc0c1;if(_0xea9f22>=_0x1f8790){_0xea9f22=_0x1f8790;_0x3dc0c1=0xc8;}else{_0x3dc0c1=0xce;}_0x41c0cf[_0x8849('0x1d')](_0x3dc0c1);return _0x41c0cf[_0x8849('0x23')](_0x8849('0x24'),_0x5426f3+'-'+_0xea9f22+'/'+_0x1f8790)[_0x8849('0x1e')](_0x2f90b1);}return null;};}function patchUpdates(_0x2f490b){return function(_0x3646ed){try{jsonpatch[_0x8849('0x25')](_0x3646ed,_0x2f490b,!![]);}catch(_0x3468ee){return BPromise[_0x8849('0x26')](_0x3468ee);}return _0x3646ed[_0x8849('0x27')]();};}function saveUpdates(_0xe2a709,_0x2fbef0){return function(_0x28456a){if(_0x28456a){return _0x28456a['update'](_0xe2a709)['then'](function(_0x10a441){return _0x10a441;});}return null;};}function removeEntity(_0x2f27a2,_0xa01277){return function(_0x4b3b8e){if(_0x4b3b8e){return _0x4b3b8e[_0x8849('0x28')]()[_0x8849('0x29')](function(){_0x2f27a2[_0x8849('0x1d')](0xcc)[_0x8849('0x1c')]();});}};}function handleEntityNotFound(_0x276749,_0x3b210c){return function(_0x414ad8){if(!_0x414ad8){_0x276749[_0x8849('0x1b')](0x194);}return _0x414ad8;};}function handleError(_0x123d7a,_0x38c4f4){_0x38c4f4=_0x38c4f4||0x1f4;return function(_0x57a889){logger[_0x8849('0x2a')](_0x57a889['stack']);if(_0x57a889[_0x8849('0x2b')]){delete _0x57a889['name'];}_0x123d7a[_0x8849('0x1d')](_0x38c4f4)[_0x8849('0x2c')](_0x57a889);};}exports[_0x8849('0x2d')]=function(_0x1681f6,_0x3c595f){var _0x594b2e={},_0x26cb17={},_0x487dd1={'count':0x0,'rows':[]};var _0x6cbac7=_[_0x8849('0x2e')](db['OpenchannelQueueReport'][_0x8849('0x2f')],function(_0x1b62c2){return{'name':_0x1b62c2[_0x8849('0x30')],'type':_0x1b62c2[_0x8849('0x31')][_0x8849('0x32')]};});_0x26cb17[_0x8849('0x33')]=_['map'](_0x6cbac7,_0x8849('0x2b'));_0x26cb17[_0x8849('0x34')]=_[_0x8849('0x35')](_0x1681f6['query']);_0x26cb17['filters']=_[_0x8849('0x36')](_0x26cb17[_0x8849('0x33')],_0x26cb17[_0x8849('0x34')]);_0x594b2e[_0x8849('0x37')]=_['intersection'](_0x26cb17[_0x8849('0x33')],qs[_0x8849('0x38')](_0x1681f6[_0x8849('0x34')][_0x8849('0x38')]));_0x594b2e[_0x8849('0x37')]=_0x594b2e[_0x8849('0x37')]['length']?_0x594b2e['attributes']:_0x26cb17['model'];if(!_0x1681f6['query'][_0x8849('0x39')](_0x8849('0x3a'))){_0x594b2e[_0x8849('0x21')]=qs[_0x8849('0x21')](_0x1681f6[_0x8849('0x34')][_0x8849('0x21')]);_0x594b2e[_0x8849('0x1f')]=qs[_0x8849('0x1f')](_0x1681f6[_0x8849('0x34')]['offset']);}_0x594b2e[_0x8849('0x3b')]=qs[_0x8849('0x3c')](_0x1681f6[_0x8849('0x34')][_0x8849('0x3c')]);_0x594b2e[_0x8849('0x3d')]=qs['filters'](_['pick'](_0x1681f6['query'],_0x26cb17[_0x8849('0x3e')]),_0x6cbac7);if(_0x1681f6[_0x8849('0x34')][_0x8849('0x3f')]){_0x594b2e[_0x8849('0x3d')]=_[_0x8849('0x40')](_0x594b2e['where'],{'$or':_['map'](_0x6cbac7,function(_0x317e70){if(_0x317e70['type']!=='VIRTUAL'){var _0x55c9c3={};_0x55c9c3[_0x317e70[_0x8849('0x2b')]]={'$like':'%'+_0x1681f6[_0x8849('0x34')][_0x8849('0x3f')]+'%'};return _0x55c9c3;}})});}_0x594b2e=_[_0x8849('0x40')]({},_0x594b2e,_0x1681f6['options']);var _0x2bf607={'where':_0x594b2e[_0x8849('0x3d')]};return db[_0x8849('0x41')]['count'](_0x2bf607)[_0x8849('0x29')](function(_0x4d10e4){_0x487dd1[_0x8849('0x22')]=_0x4d10e4;if(_0x1681f6[_0x8849('0x34')][_0x8849('0x42')]){_0x594b2e[_0x8849('0x43')]=[{'all':!![]}];}return db[_0x8849('0x41')][_0x8849('0x44')](_0x594b2e);})[_0x8849('0x29')](function(_0x9debd7){_0x487dd1[_0x8849('0x45')]=_0x9debd7;return _0x487dd1;})[_0x8849('0x29')](respondWithFilteredResult(_0x3c595f,_0x594b2e))['catch'](handleError(_0x3c595f,null));};exports[_0x8849('0x46')]=function(_0x2f56c7,_0x30e723){var _0x4adbf4={'raw':!![],'where':{'id':_0x2f56c7[_0x8849('0x47')]['id']}},_0x48169c={};_0x48169c[_0x8849('0x33')]=_['keys'](db['OpenchannelQueueReport']['rawAttributes']);_0x48169c[_0x8849('0x34')]=_[_0x8849('0x35')](_0x2f56c7[_0x8849('0x34')]);_0x48169c['filters']=_[_0x8849('0x36')](_0x48169c['model'],_0x48169c[_0x8849('0x34')]);_0x4adbf4[_0x8849('0x37')]=_[_0x8849('0x36')](_0x48169c['model'],qs[_0x8849('0x38')](_0x2f56c7[_0x8849('0x34')][_0x8849('0x38')]));_0x4adbf4[_0x8849('0x37')]=_0x4adbf4[_0x8849('0x37')][_0x8849('0x48')]?_0x4adbf4[_0x8849('0x37')]:_0x48169c['model'];if(_0x2f56c7['query'][_0x8849('0x42')]){_0x4adbf4[_0x8849('0x43')]=[{'all':!![]}];}_0x4adbf4=_['merge']({},_0x4adbf4,_0x2f56c7[_0x8849('0x49')]);return db[_0x8849('0x41')][_0x8849('0x4a')](_0x4adbf4)[_0x8849('0x29')](handleEntityNotFound(_0x30e723,null))[_0x8849('0x29')](respondWithResult(_0x30e723,null))[_0x8849('0x4b')](handleError(_0x30e723,null));};exports[_0x8849('0x4c')]=function(_0x1cf7d6,_0x4d514a){return db[_0x8849('0x41')][_0x8849('0x4c')](_0x1cf7d6[_0x8849('0x4d')],{})[_0x8849('0x29')](respondWithResult(_0x4d514a,0xc9))[_0x8849('0x4b')](handleError(_0x4d514a,null));};exports[_0x8849('0x4e')]=function(_0x1fd910,_0x498b2d){if(_0x1fd910[_0x8849('0x4d')]['id']){delete _0x1fd910[_0x8849('0x4d')]['id'];}return db['OpenchannelQueueReport'][_0x8849('0x4a')]({'where':{'id':_0x1fd910[_0x8849('0x47')]['id']}})[_0x8849('0x29')](handleEntityNotFound(_0x498b2d,null))[_0x8849('0x29')](saveUpdates(_0x1fd910[_0x8849('0x4d')],null))[_0x8849('0x29')](respondWithResult(_0x498b2d,null))['catch'](handleError(_0x498b2d,null));};exports[_0x8849('0x28')]=function(_0x112971,_0x423ca2){return db[_0x8849('0x41')][_0x8849('0x4a')]({'where':{'id':_0x112971['params']['id']}})[_0x8849('0x29')](handleEntityNotFound(_0x423ca2,null))[_0x8849('0x29')](removeEntity(_0x423ca2,null))[_0x8849('0x4b')](handleError(_0x423ca2,null));};exports[_0x8849('0x4f')]=function(_0x591260,_0x273234){return db[_0x8849('0x41')]['describe']()[_0x8849('0x29')](respondWithResult(_0x273234,null))[_0x8849('0x4b')](handleError(_0x273234,null));};