343a57aacb91826c8a70edd154ee208360c183da
[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 _0xd240=['fieldName','type','key','model','map','query','keys','intersection','attributes','length','nolimit','sort','where','filters','pick','filter','merge','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','describe','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','end','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','stack','name','send','index','OpenchannelQueueReport','rawAttributes'];(function(_0x5c9cfd,_0x3468a0){var _0x18021a=function(_0x3b6934){while(--_0x3b6934){_0x5c9cfd['push'](_0x5c9cfd['shift']());}};_0x18021a(++_0x3468a0);}(_0xd240,0x1c7));var _0x0d24=function(_0x1a1f19,_0x2d656f){_0x1a1f19=_0x1a1f19-0x0;var _0x3a4c0c=_0xd240[_0x1a1f19];return _0x3a4c0c;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0d24('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x0d24('0x1'));var rp=require(_0x0d24('0x2'));var moment=require(_0x0d24('0x3'));var BPromise=require(_0x0d24('0x4'));var Mustache=require(_0x0d24('0x5'));var util=require(_0x0d24('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x0d24('0x7'));var ejs=require(_0x0d24('0x8'));var fs=require('fs');var _=require(_0x0d24('0x9'));var squel=require(_0x0d24('0xa'));var crypto=require('crypto');var jsforce=require(_0x0d24('0xb'));var deskjs=require(_0x0d24('0xc'));var toCsv=require(_0x0d24('0x7'));var querystring=require(_0x0d24('0xd'));var Papa=require(_0x0d24('0xe'));var Redis=require(_0x0d24('0xf'));var authService=require(_0x0d24('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x0d24('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0d24('0x12'))('api');var utils=require(_0x0d24('0x13'));var config=require(_0x0d24('0x14'));var licenseUtil=require(_0x0d24('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x560ea5,_0x29f892){_0x29f892=_0x29f892||0xcc;return function(_0x1b6f50){if(_0x1b6f50){return _0x560ea5[_0x0d24('0x16')](_0x29f892);}return _0x560ea5['status'](_0x29f892)[_0x0d24('0x17')]();};}function respondWithResult(_0x106fb7,_0x58ac0d){_0x58ac0d=_0x58ac0d||0xc8;return function(_0x4d24b5){if(_0x4d24b5){return _0x106fb7[_0x0d24('0x18')](_0x58ac0d)[_0x0d24('0x19')](_0x4d24b5);}};}function respondWithFilteredResult(_0xb70f7e,_0x175841){return function(_0xd9a534){if(_0xd9a534){var _0x6ec239=_0xd9a534[_0x0d24('0x1a')],_0xf188c9=_0x175841[_0x0d24('0x1b')],_0x240f86=_0x175841['offset']+_0x175841[_0x0d24('0x1c')],_0x47ee4b;if(_0x240f86>=_0x6ec239){_0x240f86=_0x6ec239;_0x47ee4b=0xc8;}else{_0x47ee4b=0xce;}_0xb70f7e[_0x0d24('0x18')](_0x47ee4b);return _0xb70f7e[_0x0d24('0x1d')](_0x0d24('0x1e'),_0xf188c9+'-'+_0x240f86+'/'+_0x6ec239)['json'](_0xd9a534);}return null;};}function patchUpdates(_0x3bebf7){return function(_0x244281){try{jsonpatch['apply'](_0x244281,_0x3bebf7,!![]);}catch(_0x583b82){return BPromise[_0x0d24('0x1f')](_0x583b82);}return _0x244281[_0x0d24('0x20')]();};}function saveUpdates(_0x3af97e,_0x2f611b){return function(_0x30e520){if(_0x30e520){return _0x30e520[_0x0d24('0x21')](_0x3af97e)[_0x0d24('0x22')](function(_0xc9cd70){return _0xc9cd70;});}return null;};}function removeEntity(_0x2dc0cf,_0x5df68d){return function(_0x2499e1){if(_0x2499e1){return _0x2499e1[_0x0d24('0x23')]()[_0x0d24('0x22')](function(){_0x2dc0cf[_0x0d24('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x23440c,_0x3cd88f){return function(_0x367028){if(!_0x367028){_0x23440c['sendStatus'](0x194);}return _0x367028;};}function handleError(_0xc5e565,_0x1842ab){_0x1842ab=_0x1842ab||0x1f4;return function(_0x425dd2){logger['error'](_0x425dd2[_0x0d24('0x24')]);if(_0x425dd2[_0x0d24('0x25')]){delete _0x425dd2[_0x0d24('0x25')];}_0xc5e565['status'](_0x1842ab)[_0x0d24('0x26')](_0x425dd2);};}exports[_0x0d24('0x27')]=function(_0x36a3f1,_0xbbd797){var _0x2b472a={},_0x212364={},_0x50c2ad={'count':0x0,'rows':[]};var _0x4f043f=_['map'](db[_0x0d24('0x28')][_0x0d24('0x29')],function(_0x1a1ef7){return{'name':_0x1a1ef7[_0x0d24('0x2a')],'type':_0x1a1ef7[_0x0d24('0x2b')][_0x0d24('0x2c')]};});_0x212364[_0x0d24('0x2d')]=_[_0x0d24('0x2e')](_0x4f043f,_0x0d24('0x25'));_0x212364[_0x0d24('0x2f')]=_[_0x0d24('0x30')](_0x36a3f1['query']);_0x212364['filters']=_[_0x0d24('0x31')](_0x212364['model'],_0x212364['query']);_0x2b472a[_0x0d24('0x32')]=_[_0x0d24('0x31')](_0x212364[_0x0d24('0x2d')],qs['fields'](_0x36a3f1[_0x0d24('0x2f')]['fields']));_0x2b472a[_0x0d24('0x32')]=_0x2b472a[_0x0d24('0x32')][_0x0d24('0x33')]?_0x2b472a[_0x0d24('0x32')]:_0x212364[_0x0d24('0x2d')];if(!_0x36a3f1['query']['hasOwnProperty'](_0x0d24('0x34'))){_0x2b472a[_0x0d24('0x1c')]=qs[_0x0d24('0x1c')](_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x1c')]);_0x2b472a[_0x0d24('0x1b')]=qs['offset'](_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x1b')]);}_0x2b472a['order']=qs[_0x0d24('0x35')](_0x36a3f1[_0x0d24('0x2f')]['sort']);_0x2b472a[_0x0d24('0x36')]=qs[_0x0d24('0x37')](_[_0x0d24('0x38')](_0x36a3f1['query'],_0x212364[_0x0d24('0x37')]),_0x4f043f);if(_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x39')]){_0x2b472a[_0x0d24('0x36')]=_['merge'](_0x2b472a['where'],{'$or':_[_0x0d24('0x2e')](_0x4f043f,function(_0x4b9617){if(_0x4b9617['type']!=='VIRTUAL'){var _0x238b99={};_0x238b99[_0x4b9617['name']]={'$like':'%'+_0x36a3f1[_0x0d24('0x2f')][_0x0d24('0x39')]+'%'};return _0x238b99;}})});}_0x2b472a=_[_0x0d24('0x3a')]({},_0x2b472a,_0x36a3f1[_0x0d24('0x3b')]);var _0x274ed6={'where':_0x2b472a[_0x0d24('0x36')]};return db[_0x0d24('0x28')][_0x0d24('0x1a')](_0x274ed6)[_0x0d24('0x22')](function(_0x4f6362){_0x50c2ad[_0x0d24('0x1a')]=_0x4f6362;if(_0x36a3f1['query']['includeAll']){_0x2b472a[_0x0d24('0x3c')]=[{'all':!![]}];}return db[_0x0d24('0x28')][_0x0d24('0x3d')](_0x2b472a);})[_0x0d24('0x22')](function(_0xe5edf9){_0x50c2ad[_0x0d24('0x3e')]=_0xe5edf9;return _0x50c2ad;})[_0x0d24('0x22')](respondWithFilteredResult(_0xbbd797,_0x2b472a))[_0x0d24('0x3f')](handleError(_0xbbd797,null));};exports[_0x0d24('0x40')]=function(_0x14e951,_0x2c5549){var _0x548fee={'raw':!![],'where':{'id':_0x14e951[_0x0d24('0x41')]['id']}},_0x2c9d4e={};_0x2c9d4e['model']=_[_0x0d24('0x30')](db[_0x0d24('0x28')][_0x0d24('0x29')]);_0x2c9d4e[_0x0d24('0x2f')]=_[_0x0d24('0x30')](_0x14e951['query']);_0x2c9d4e[_0x0d24('0x37')]=_['intersection'](_0x2c9d4e[_0x0d24('0x2d')],_0x2c9d4e[_0x0d24('0x2f')]);_0x548fee['attributes']=_[_0x0d24('0x31')](_0x2c9d4e[_0x0d24('0x2d')],qs['fields'](_0x14e951['query']['fields']));_0x548fee[_0x0d24('0x32')]=_0x548fee[_0x0d24('0x32')][_0x0d24('0x33')]?_0x548fee[_0x0d24('0x32')]:_0x2c9d4e[_0x0d24('0x2d')];if(_0x14e951['query'][_0x0d24('0x42')]){_0x548fee[_0x0d24('0x3c')]=[{'all':!![]}];}_0x548fee=_['merge']({},_0x548fee,_0x14e951[_0x0d24('0x3b')]);return db['OpenchannelQueueReport'][_0x0d24('0x43')](_0x548fee)[_0x0d24('0x22')](handleEntityNotFound(_0x2c5549,null))['then'](respondWithResult(_0x2c5549,null))[_0x0d24('0x3f')](handleError(_0x2c5549,null));};exports[_0x0d24('0x44')]=function(_0x1da5a1,_0x4673c){return db[_0x0d24('0x28')][_0x0d24('0x44')](_0x1da5a1[_0x0d24('0x45')],{})[_0x0d24('0x22')](respondWithResult(_0x4673c,0xc9))[_0x0d24('0x3f')](handleError(_0x4673c,null));};exports[_0x0d24('0x21')]=function(_0x149ea2,_0x316258){if(_0x149ea2['body']['id']){delete _0x149ea2[_0x0d24('0x45')]['id'];}return db[_0x0d24('0x28')][_0x0d24('0x43')]({'where':{'id':_0x149ea2[_0x0d24('0x41')]['id']}})[_0x0d24('0x22')](handleEntityNotFound(_0x316258,null))[_0x0d24('0x22')](saveUpdates(_0x149ea2[_0x0d24('0x45')],null))['then'](respondWithResult(_0x316258,null))['catch'](handleError(_0x316258,null));};exports[_0x0d24('0x23')]=function(_0x2c3647,_0x8a5846){return db[_0x0d24('0x28')]['find']({'where':{'id':_0x2c3647[_0x0d24('0x41')]['id']}})[_0x0d24('0x22')](handleEntityNotFound(_0x8a5846,null))[_0x0d24('0x22')](removeEntity(_0x8a5846,null))['catch'](handleError(_0x8a5846,null));};exports[_0x0d24('0x46')]=function(_0x14dcb3,_0x27bb96){return db[_0x0d24('0x28')][_0x0d24('0x46')]()[_0x0d24('0x22')](respondWithResult(_0x27bb96,null))[_0x0d24('0x3f')](handleError(_0x27bb96,null));};