ab8706874703c19270a8029864686d7bcd2ebabc
[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 _0x4ef4=['name','send','index','map','OpenchannelQueueReport','rawAttributes','type','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','filters','pick','filter','merge','where','VIRTUAL','options','include','findAll','catch','params','includeAll','find','create','body','describe','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','crypto','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','undefined','limit','count','Content-Range','apply','reject','save','update','then','destroy','error','stack'];(function(_0x5475ae,_0x3e6b47){var _0x42133f=function(_0x2b65ca){while(--_0x2b65ca){_0x5475ae['push'](_0x5475ae['shift']());}};_0x42133f(++_0x3e6b47);}(_0x4ef4,0xfb));var _0x44ef=function(_0x4aabf2,_0x489ddf){_0x4aabf2=_0x4aabf2-0x0;var _0x44b8a6=_0x4ef4[_0x4aabf2];return _0x44b8a6;};'use strict';var emlformat=require(_0x44ef('0x0'));var rimraf=require(_0x44ef('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x44ef('0x2'));var rp=require('request-promise');var moment=require(_0x44ef('0x3'));var BPromise=require(_0x44ef('0x4'));var Mustache=require(_0x44ef('0x5'));var util=require(_0x44ef('0x6'));var path=require(_0x44ef('0x7'));var sox=require(_0x44ef('0x8'));var csv=require(_0x44ef('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x44ef('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x44ef('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x44ef('0xc'));var toCsv=require(_0x44ef('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x44ef('0xd'));var authService=require(_0x44ef('0xe'));var qs=require(_0x44ef('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x44ef('0x10'));var logger=require('../../config/logger')(_0x44ef('0x11'));var utils=require(_0x44ef('0x12'));var config=require(_0x44ef('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x44ef('0x14'))['db'];function respondWithStatusCode(_0x3b1760,_0x1f314c){_0x1f314c=_0x1f314c||0xcc;return function(_0x4bda4f){if(_0x4bda4f){return _0x3b1760[_0x44ef('0x15')](_0x1f314c);}return _0x3b1760[_0x44ef('0x16')](_0x1f314c)[_0x44ef('0x17')]();};}function respondWithResult(_0x2ce604,_0x542ab8){_0x542ab8=_0x542ab8||0xc8;return function(_0xf0e519){if(_0xf0e519){return _0x2ce604['status'](_0x542ab8)[_0x44ef('0x18')](_0xf0e519);}};}function respondWithFilteredResult(_0x226025,_0x27d0c5){return function(_0x845570){if(_0x845570){var _0x39d64f=typeof _0x27d0c5['offset']===_0x44ef('0x19')&&typeof _0x27d0c5[_0x44ef('0x1a')]===_0x44ef('0x19');var _0x360144=_0x845570[_0x44ef('0x1b')];var _0x1b8ec3=_0x39d64f?0x0:_0x27d0c5['offset'];var _0x288c6e=_0x39d64f?_0x845570[_0x44ef('0x1b')]:_0x27d0c5['offset']+_0x27d0c5[_0x44ef('0x1a')];var _0x12ee3c;if(_0x288c6e>=_0x360144){_0x288c6e=_0x360144;_0x12ee3c=0xc8;}else{_0x12ee3c=0xce;}_0x226025['status'](_0x12ee3c);return _0x226025['set'](_0x44ef('0x1c'),_0x1b8ec3+'-'+_0x288c6e+'/'+_0x360144)[_0x44ef('0x18')](_0x845570);}return null;};}function patchUpdates(_0x2c2766){return function(_0x4f01a3){try{jsonpatch[_0x44ef('0x1d')](_0x4f01a3,_0x2c2766,!![]);}catch(_0x348a33){return BPromise[_0x44ef('0x1e')](_0x348a33);}return _0x4f01a3[_0x44ef('0x1f')]();};}function saveUpdates(_0x21e16e,_0xa1cff2){return function(_0x3ef48c){if(_0x3ef48c){return _0x3ef48c[_0x44ef('0x20')](_0x21e16e)[_0x44ef('0x21')](function(_0x461e40){return _0x461e40;});}return null;};}function removeEntity(_0x41d473,_0x552c2f){return function(_0x2620bc){if(_0x2620bc){return _0x2620bc[_0x44ef('0x22')]()[_0x44ef('0x21')](function(){_0x41d473['status'](0xcc)[_0x44ef('0x17')]();});}};}function handleEntityNotFound(_0x63d651,_0x2f08d5){return function(_0x1b57f7){if(!_0x1b57f7){_0x63d651[_0x44ef('0x15')](0x194);}return _0x1b57f7;};}function handleError(_0x261138,_0x47dab0){_0x47dab0=_0x47dab0||0x1f4;return function(_0x45008e){logger[_0x44ef('0x23')](_0x45008e[_0x44ef('0x24')]);if(_0x45008e[_0x44ef('0x25')]){delete _0x45008e['name'];}_0x261138[_0x44ef('0x16')](_0x47dab0)[_0x44ef('0x26')](_0x45008e);};}exports[_0x44ef('0x27')]=function(_0x264a93,_0x12bd92){var _0x364001={},_0x45a2d5={},_0xcdf018={'count':0x0,'rows':[]};var _0x2fde2d=_[_0x44ef('0x28')](db[_0x44ef('0x29')][_0x44ef('0x2a')],function(_0x383d47){return{'name':_0x383d47['fieldName'],'type':_0x383d47[_0x44ef('0x2b')]['key']};});_0x45a2d5[_0x44ef('0x2c')]=_[_0x44ef('0x28')](_0x2fde2d,_0x44ef('0x25'));_0x45a2d5['query']=_[_0x44ef('0x2d')](_0x264a93[_0x44ef('0x2e')]);_0x45a2d5['filters']=_[_0x44ef('0x2f')](_0x45a2d5[_0x44ef('0x2c')],_0x45a2d5[_0x44ef('0x2e')]);_0x364001[_0x44ef('0x30')]=_[_0x44ef('0x2f')](_0x45a2d5[_0x44ef('0x2c')],qs['fields'](_0x264a93[_0x44ef('0x2e')][_0x44ef('0x31')]));_0x364001[_0x44ef('0x30')]=_0x364001['attributes'][_0x44ef('0x32')]?_0x364001[_0x44ef('0x30')]:_0x45a2d5[_0x44ef('0x2c')];if(!_0x264a93[_0x44ef('0x2e')][_0x44ef('0x33')](_0x44ef('0x34'))){_0x364001['limit']=qs[_0x44ef('0x1a')](_0x264a93[_0x44ef('0x2e')][_0x44ef('0x1a')]);_0x364001[_0x44ef('0x35')]=qs[_0x44ef('0x35')](_0x264a93[_0x44ef('0x2e')]['offset']);}_0x364001[_0x44ef('0x36')]=qs[_0x44ef('0x37')](_0x264a93[_0x44ef('0x2e')][_0x44ef('0x37')]);_0x364001['where']=qs[_0x44ef('0x38')](_[_0x44ef('0x39')](_0x264a93[_0x44ef('0x2e')],_0x45a2d5[_0x44ef('0x38')]),_0x2fde2d);if(_0x264a93['query'][_0x44ef('0x3a')]){_0x364001['where']=_[_0x44ef('0x3b')](_0x364001[_0x44ef('0x3c')],{'$or':_[_0x44ef('0x28')](_0x2fde2d,function(_0x5d9d15){if(_0x5d9d15[_0x44ef('0x2b')]!==_0x44ef('0x3d')){var _0x3aa225={};_0x3aa225[_0x5d9d15[_0x44ef('0x25')]]={'$like':'%'+_0x264a93['query']['filter']+'%'};return _0x3aa225;}})});}_0x364001=_[_0x44ef('0x3b')]({},_0x364001,_0x264a93[_0x44ef('0x3e')]);var _0x5326a1={'where':_0x364001['where']};return db[_0x44ef('0x29')]['count'](_0x5326a1)['then'](function(_0xa50fa4){_0xcdf018[_0x44ef('0x1b')]=_0xa50fa4;if(_0x264a93['query']['includeAll']){_0x364001[_0x44ef('0x3f')]=[{'all':!![]}];}return db['OpenchannelQueueReport'][_0x44ef('0x40')](_0x364001);})[_0x44ef('0x21')](function(_0x9dcce9){_0xcdf018['rows']=_0x9dcce9;return _0xcdf018;})[_0x44ef('0x21')](respondWithFilteredResult(_0x12bd92,_0x364001))[_0x44ef('0x41')](handleError(_0x12bd92,null));};exports['show']=function(_0xa69bea,_0xe8ae99){var _0x47b90e={'raw':!![],'where':{'id':_0xa69bea[_0x44ef('0x42')]['id']}},_0x2fbc7e={};_0x2fbc7e[_0x44ef('0x2c')]=_[_0x44ef('0x2d')](db[_0x44ef('0x29')][_0x44ef('0x2a')]);_0x2fbc7e[_0x44ef('0x2e')]=_[_0x44ef('0x2d')](_0xa69bea[_0x44ef('0x2e')]);_0x2fbc7e['filters']=_['intersection'](_0x2fbc7e['model'],_0x2fbc7e['query']);_0x47b90e[_0x44ef('0x30')]=_[_0x44ef('0x2f')](_0x2fbc7e[_0x44ef('0x2c')],qs[_0x44ef('0x31')](_0xa69bea[_0x44ef('0x2e')][_0x44ef('0x31')]));_0x47b90e[_0x44ef('0x30')]=_0x47b90e[_0x44ef('0x30')]['length']?_0x47b90e[_0x44ef('0x30')]:_0x2fbc7e[_0x44ef('0x2c')];if(_0xa69bea[_0x44ef('0x2e')][_0x44ef('0x43')]){_0x47b90e['include']=[{'all':!![]}];}_0x47b90e=_['merge']({},_0x47b90e,_0xa69bea[_0x44ef('0x3e')]);return db['OpenchannelQueueReport'][_0x44ef('0x44')](_0x47b90e)[_0x44ef('0x21')](handleEntityNotFound(_0xe8ae99,null))[_0x44ef('0x21')](respondWithResult(_0xe8ae99,null))[_0x44ef('0x41')](handleError(_0xe8ae99,null));};exports[_0x44ef('0x45')]=function(_0x281e30,_0x558cb8){return db[_0x44ef('0x29')][_0x44ef('0x45')](_0x281e30['body'],{})[_0x44ef('0x21')](respondWithResult(_0x558cb8,0xc9))[_0x44ef('0x41')](handleError(_0x558cb8,null));};exports[_0x44ef('0x20')]=function(_0x23edfa,_0xb6565a){if(_0x23edfa['body']['id']){delete _0x23edfa[_0x44ef('0x46')]['id'];}return db[_0x44ef('0x29')][_0x44ef('0x44')]({'where':{'id':_0x23edfa['params']['id']}})[_0x44ef('0x21')](handleEntityNotFound(_0xb6565a,null))['then'](saveUpdates(_0x23edfa[_0x44ef('0x46')],null))[_0x44ef('0x21')](respondWithResult(_0xb6565a,null))['catch'](handleError(_0xb6565a,null));};exports[_0x44ef('0x22')]=function(_0x13f633,_0x257a73){return db[_0x44ef('0x29')][_0x44ef('0x44')]({'where':{'id':_0x13f633[_0x44ef('0x42')]['id']}})[_0x44ef('0x21')](handleEntityNotFound(_0x257a73,null))[_0x44ef('0x21')](removeEntity(_0x257a73,null))['catch'](handleError(_0x257a73,null));};exports[_0x44ef('0x47')]=function(_0x2883df,_0x3ebd04){return db['OpenchannelQueueReport'][_0x44ef('0x47')]()[_0x44ef('0x21')](respondWithResult(_0x3ebd04,null))[_0x44ef('0x41')](handleError(_0x3ebd04,null));};