Built motion from commit 746c7d2a.|2.5.35
[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 _0x23ec=['zip-dir','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','fs-extra','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','update','then','error','name','send','index','map','OpenchannelQueueReport','fieldName','type','key','model','keys','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','options','include','show','params','includeAll','find','catch','create','body','destroy','describe','eml-format'];(function(_0x4e9628,_0x250573){var _0x27bc8c=function(_0xb3b7ae){while(--_0xb3b7ae){_0x4e9628['push'](_0x4e9628['shift']());}};_0x27bc8c(++_0x250573);}(_0x23ec,0x158));var _0xc23e=function(_0x1f3d9d,_0xa564c1){_0x1f3d9d=_0x1f3d9d-0x0;var _0x4fec71=_0x23ec[_0x1f3d9d];return _0x4fec71;};'use strict';var emlformat=require(_0xc23e('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc23e('0x1'));var jsonpatch=require(_0xc23e('0x2'));var rp=require(_0xc23e('0x3'));var moment=require('moment');var BPromise=require(_0xc23e('0x4'));var Mustache=require(_0xc23e('0x5'));var util=require('util');var path=require('path');var sox=require(_0xc23e('0x6'));var csv=require(_0xc23e('0x7'));var ejs=require(_0xc23e('0x8'));var fs=require('fs');var fs_extra=require(_0xc23e('0x9'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xc23e('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xc23e('0xb'));var toCsv=require(_0xc23e('0x7'));var querystring=require(_0xc23e('0xc'));var Papa=require(_0xc23e('0xd'));var Redis=require('ioredis');var authService=require(_0xc23e('0xe'));var qs=require(_0xc23e('0xf'));var as=require(_0xc23e('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc23e('0x11'))(_0xc23e('0x12'));var utils=require(_0xc23e('0x13'));var config=require(_0xc23e('0x14'));var licenseUtil=require(_0xc23e('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1e2d8f,_0x1c5cc3){_0x1c5cc3=_0x1c5cc3||0xcc;return function(_0x5781d7){if(_0x5781d7){return _0x1e2d8f[_0xc23e('0x16')](_0x1c5cc3);}return _0x1e2d8f[_0xc23e('0x17')](_0x1c5cc3)[_0xc23e('0x18')]();};}function respondWithResult(_0x22cf35,_0x3bde26){_0x3bde26=_0x3bde26||0xc8;return function(_0x35aede){if(_0x35aede){return _0x22cf35[_0xc23e('0x17')](_0x3bde26)[_0xc23e('0x19')](_0x35aede);}};}function respondWithFilteredResult(_0x23226a,_0x345d6c){return function(_0x49157e){if(_0x49157e){var _0x165585=typeof _0x345d6c[_0xc23e('0x1a')]===_0xc23e('0x1b')&&typeof _0x345d6c[_0xc23e('0x1c')]==='undefined';var _0x2e0824=_0x49157e[_0xc23e('0x1d')];var _0x272ff4=_0x165585?0x0:_0x345d6c[_0xc23e('0x1a')];var _0x3822fc=_0x165585?_0x49157e[_0xc23e('0x1d')]:_0x345d6c[_0xc23e('0x1a')]+_0x345d6c[_0xc23e('0x1c')];var _0x4c0f28;if(_0x3822fc>=_0x2e0824){_0x3822fc=_0x2e0824;_0x4c0f28=0xc8;}else{_0x4c0f28=0xce;}_0x23226a[_0xc23e('0x17')](_0x4c0f28);return _0x23226a[_0xc23e('0x1e')]('Content-Range',_0x272ff4+'-'+_0x3822fc+'/'+_0x2e0824)[_0xc23e('0x19')](_0x49157e);}return null;};}function patchUpdates(_0x424a71){return function(_0x19aa27){try{jsonpatch[_0xc23e('0x1f')](_0x19aa27,_0x424a71,!![]);}catch(_0x30e4a3){return BPromise['reject'](_0x30e4a3);}return _0x19aa27['save']();};}function saveUpdates(_0x5dc722,_0x4c3d44){return function(_0x3a7ddb){if(_0x3a7ddb){return _0x3a7ddb[_0xc23e('0x20')](_0x5dc722)[_0xc23e('0x21')](function(_0x774d9a){return _0x774d9a;});}return null;};}function removeEntity(_0x1bd23c,_0x30feda){return function(_0x37fac6){if(_0x37fac6){return _0x37fac6['destroy']()[_0xc23e('0x21')](function(){_0x1bd23c[_0xc23e('0x17')](0xcc)[_0xc23e('0x18')]();});}};}function handleEntityNotFound(_0x308526,_0x42a9d8){return function(_0x59d9e5){if(!_0x59d9e5){_0x308526['sendStatus'](0x194);}return _0x59d9e5;};}function handleError(_0x4d317c,_0x37399f){_0x37399f=_0x37399f||0x1f4;return function(_0x138e15){logger[_0xc23e('0x22')](_0x138e15['stack']);if(_0x138e15[_0xc23e('0x23')]){delete _0x138e15[_0xc23e('0x23')];}_0x4d317c[_0xc23e('0x17')](_0x37399f)[_0xc23e('0x24')](_0x138e15);};}exports[_0xc23e('0x25')]=function(_0x535d1b,_0x37e4cf){var _0x3a53e5={},_0x55f899={},_0x277841={'count':0x0,'rows':[]};var _0x28465c=_[_0xc23e('0x26')](db[_0xc23e('0x27')]['rawAttributes'],function(_0x969724){return{'name':_0x969724[_0xc23e('0x28')],'type':_0x969724[_0xc23e('0x29')][_0xc23e('0x2a')]};});_0x55f899[_0xc23e('0x2b')]=_[_0xc23e('0x26')](_0x28465c,_0xc23e('0x23'));_0x55f899['query']=_[_0xc23e('0x2c')](_0x535d1b[_0xc23e('0x2d')]);_0x55f899['filters']=_[_0xc23e('0x2e')](_0x55f899[_0xc23e('0x2b')],_0x55f899[_0xc23e('0x2d')]);_0x3a53e5[_0xc23e('0x2f')]=_[_0xc23e('0x2e')](_0x55f899[_0xc23e('0x2b')],qs[_0xc23e('0x30')](_0x535d1b['query'][_0xc23e('0x30')]));_0x3a53e5[_0xc23e('0x2f')]=_0x3a53e5[_0xc23e('0x2f')][_0xc23e('0x31')]?_0x3a53e5[_0xc23e('0x2f')]:_0x55f899[_0xc23e('0x2b')];if(!_0x535d1b[_0xc23e('0x2d')]['hasOwnProperty'](_0xc23e('0x32'))){_0x3a53e5[_0xc23e('0x1c')]=qs[_0xc23e('0x1c')](_0x535d1b['query'][_0xc23e('0x1c')]);_0x3a53e5[_0xc23e('0x1a')]=qs['offset'](_0x535d1b[_0xc23e('0x2d')][_0xc23e('0x1a')]);}_0x3a53e5[_0xc23e('0x33')]=qs[_0xc23e('0x34')](_0x535d1b[_0xc23e('0x2d')][_0xc23e('0x34')]);_0x3a53e5[_0xc23e('0x35')]=qs[_0xc23e('0x36')](_[_0xc23e('0x37')](_0x535d1b[_0xc23e('0x2d')],_0x55f899[_0xc23e('0x36')]),_0x28465c);if(_0x535d1b['query'][_0xc23e('0x38')]){_0x3a53e5[_0xc23e('0x35')]=_['merge'](_0x3a53e5[_0xc23e('0x35')],{'$or':_['map'](_0x28465c,function(_0x12aec6){if(_0x12aec6[_0xc23e('0x29')]!==_0xc23e('0x39')){var _0x576dbe={};_0x576dbe[_0x12aec6['name']]={'$like':'%'+_0x535d1b[_0xc23e('0x2d')][_0xc23e('0x38')]+'%'};return _0x576dbe;}})});}_0x3a53e5=_['merge']({},_0x3a53e5,_0x535d1b[_0xc23e('0x3a')]);var _0x1bb685={'where':_0x3a53e5['where']};return db['OpenchannelQueueReport'][_0xc23e('0x1d')](_0x1bb685)[_0xc23e('0x21')](function(_0x489eaf){_0x277841[_0xc23e('0x1d')]=_0x489eaf;if(_0x535d1b[_0xc23e('0x2d')]['includeAll']){_0x3a53e5[_0xc23e('0x3b')]=[{'all':!![]}];}return db[_0xc23e('0x27')]['findAll'](_0x3a53e5);})[_0xc23e('0x21')](function(_0x420987){_0x277841['rows']=_0x420987;return _0x277841;})[_0xc23e('0x21')](respondWithFilteredResult(_0x37e4cf,_0x3a53e5))['catch'](handleError(_0x37e4cf,null));};exports[_0xc23e('0x3c')]=function(_0x564e05,_0x2669c6){var _0x2a31de={'raw':!![],'where':{'id':_0x564e05[_0xc23e('0x3d')]['id']}},_0xf08d9e={};_0xf08d9e['model']=_[_0xc23e('0x2c')](db[_0xc23e('0x27')]['rawAttributes']);_0xf08d9e[_0xc23e('0x2d')]=_[_0xc23e('0x2c')](_0x564e05[_0xc23e('0x2d')]);_0xf08d9e['filters']=_[_0xc23e('0x2e')](_0xf08d9e[_0xc23e('0x2b')],_0xf08d9e[_0xc23e('0x2d')]);_0x2a31de[_0xc23e('0x2f')]=_[_0xc23e('0x2e')](_0xf08d9e['model'],qs[_0xc23e('0x30')](_0x564e05[_0xc23e('0x2d')][_0xc23e('0x30')]));_0x2a31de[_0xc23e('0x2f')]=_0x2a31de['attributes'][_0xc23e('0x31')]?_0x2a31de[_0xc23e('0x2f')]:_0xf08d9e[_0xc23e('0x2b')];if(_0x564e05[_0xc23e('0x2d')][_0xc23e('0x3e')]){_0x2a31de[_0xc23e('0x3b')]=[{'all':!![]}];}_0x2a31de=_['merge']({},_0x2a31de,_0x564e05[_0xc23e('0x3a')]);return db[_0xc23e('0x27')][_0xc23e('0x3f')](_0x2a31de)['then'](handleEntityNotFound(_0x2669c6,null))['then'](respondWithResult(_0x2669c6,null))[_0xc23e('0x40')](handleError(_0x2669c6,null));};exports[_0xc23e('0x41')]=function(_0x3bcdfb,_0x138031){return db['OpenchannelQueueReport'][_0xc23e('0x41')](_0x3bcdfb[_0xc23e('0x42')],{})[_0xc23e('0x21')](respondWithResult(_0x138031,0xc9))[_0xc23e('0x40')](handleError(_0x138031,null));};exports[_0xc23e('0x20')]=function(_0xc6ee73,_0x1f5ce5){if(_0xc6ee73[_0xc23e('0x42')]['id']){delete _0xc6ee73[_0xc23e('0x42')]['id'];}return db[_0xc23e('0x27')][_0xc23e('0x3f')]({'where':{'id':_0xc6ee73[_0xc23e('0x3d')]['id']}})['then'](handleEntityNotFound(_0x1f5ce5,null))[_0xc23e('0x21')](saveUpdates(_0xc6ee73[_0xc23e('0x42')],null))[_0xc23e('0x21')](respondWithResult(_0x1f5ce5,null))['catch'](handleError(_0x1f5ce5,null));};exports[_0xc23e('0x43')]=function(_0x1c310b,_0x28580a){return db[_0xc23e('0x27')]['find']({'where':{'id':_0x1c310b[_0xc23e('0x3d')]['id']}})['then'](handleEntityNotFound(_0x28580a,null))['then'](removeEntity(_0x28580a,null))[_0xc23e('0x40')](handleError(_0x28580a,null));};exports[_0xc23e('0x44')]=function(_0xfbf3e1,_0x2e3f4b){return db[_0xc23e('0x27')]['describe']()[_0xc23e('0x21')](respondWithResult(_0x2e3f4b,null))[_0xc23e('0x40')](handleError(_0x2e3f4b,null));};