Built motion from commit 14588770.|2.5.38
[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 _0xb68c=['../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','end','status','undefined','limit','count','offset','set','Content-Range','apply','save','update','destroy','then','error','name','index','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','OpenchannelQueueReport','find','catch','create','body','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis'];(function(_0x4ef734,_0x5826d){var _0x33a7cb=function(_0x127a2b){while(--_0x127a2b){_0x4ef734['push'](_0x4ef734['shift']());}};_0x33a7cb(++_0x5826d);}(_0xb68c,0x1ab));var _0xcb68=function(_0x19a0b9,_0xd4f762){_0x19a0b9=_0x19a0b9-0x0;var _0xc4698c=_0xb68c[_0x19a0b9];return _0xc4698c;};'use strict';var emlformat=require(_0xcb68('0x0'));var rimraf=require(_0xcb68('0x1'));var zipdir=require(_0xcb68('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcb68('0x3'));var moment=require(_0xcb68('0x4'));var BPromise=require(_0xcb68('0x5'));var Mustache=require('mustache');var util=require(_0xcb68('0x6'));var path=require(_0xcb68('0x7'));var sox=require('sox');var csv=require(_0xcb68('0x8'));var ejs=require(_0xcb68('0x9'));var fs=require('fs');var fs_extra=require(_0xcb68('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xcb68('0xb'));var jsforce=require(_0xcb68('0xc'));var deskjs=require(_0xcb68('0xd'));var toCsv=require(_0xcb68('0x8'));var querystring=require(_0xcb68('0xe'));var Papa=require(_0xcb68('0xf'));var Redis=require(_0xcb68('0x10'));var authService=require(_0xcb68('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcb68('0x12'));var logger=require(_0xcb68('0x13'))(_0xcb68('0x14'));var utils=require(_0xcb68('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xcb68('0x16'))['db'];function respondWithStatusCode(_0x59383a,_0xfaaa87){_0xfaaa87=_0xfaaa87||0xcc;return function(_0x1dd94e){if(_0x1dd94e){return _0x59383a[_0xcb68('0x17')](_0xfaaa87);}return _0x59383a['status'](_0xfaaa87)[_0xcb68('0x18')]();};}function respondWithResult(_0x9598f3,_0x145e66){_0x145e66=_0x145e66||0xc8;return function(_0x3bfe2d){if(_0x3bfe2d){return _0x9598f3[_0xcb68('0x19')](_0x145e66)['json'](_0x3bfe2d);}};}function respondWithFilteredResult(_0x1cbc8f,_0x4c3166){return function(_0x43a8a1){if(_0x43a8a1){var _0x26d2a9=typeof _0x4c3166['offset']===_0xcb68('0x1a')&&typeof _0x4c3166[_0xcb68('0x1b')]===_0xcb68('0x1a');var _0x1cfc32=_0x43a8a1[_0xcb68('0x1c')];var _0xed58b6=_0x26d2a9?0x0:_0x4c3166['offset'];var _0x49b604=_0x26d2a9?_0x43a8a1['count']:_0x4c3166[_0xcb68('0x1d')]+_0x4c3166[_0xcb68('0x1b')];var _0x5a61d3;if(_0x49b604>=_0x1cfc32){_0x49b604=_0x1cfc32;_0x5a61d3=0xc8;}else{_0x5a61d3=0xce;}_0x1cbc8f[_0xcb68('0x19')](_0x5a61d3);return _0x1cbc8f[_0xcb68('0x1e')](_0xcb68('0x1f'),_0xed58b6+'-'+_0x49b604+'/'+_0x1cfc32)['json'](_0x43a8a1);}return null;};}function patchUpdates(_0x280c4c){return function(_0x1e8fd9){try{jsonpatch[_0xcb68('0x20')](_0x1e8fd9,_0x280c4c,!![]);}catch(_0x3610d8){return BPromise['reject'](_0x3610d8);}return _0x1e8fd9[_0xcb68('0x21')]();};}function saveUpdates(_0x554d4a,_0x352eb5){return function(_0x2e2253){if(_0x2e2253){return _0x2e2253[_0xcb68('0x22')](_0x554d4a)['then'](function(_0x590ee8){return _0x590ee8;});}return null;};}function removeEntity(_0x4f24be,_0x24a49d){return function(_0x270554){if(_0x270554){return _0x270554[_0xcb68('0x23')]()[_0xcb68('0x24')](function(){_0x4f24be[_0xcb68('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x31f41e,_0x47faec){return function(_0x36c383){if(!_0x36c383){_0x31f41e['sendStatus'](0x194);}return _0x36c383;};}function handleError(_0x227764,_0x3bab8c){_0x3bab8c=_0x3bab8c||0x1f4;return function(_0x6795c8){logger[_0xcb68('0x25')](_0x6795c8['stack']);if(_0x6795c8[_0xcb68('0x26')]){delete _0x6795c8[_0xcb68('0x26')];}_0x227764[_0xcb68('0x19')](_0x3bab8c)['send'](_0x6795c8);};}exports[_0xcb68('0x27')]=function(_0x4f89b2,_0x1b96cf){var _0x9dfd8={},_0x5ab0cc={},_0x3d8b83={'count':0x0,'rows':[]};var _0x40be16=_['map'](db['OpenchannelQueueReport'][_0xcb68('0x28')],function(_0x47d382){return{'name':_0x47d382[_0xcb68('0x29')],'type':_0x47d382[_0xcb68('0x2a')][_0xcb68('0x2b')]};});_0x5ab0cc['model']=_[_0xcb68('0x2c')](_0x40be16,_0xcb68('0x26'));_0x5ab0cc[_0xcb68('0x2d')]=_[_0xcb68('0x2e')](_0x4f89b2[_0xcb68('0x2d')]);_0x5ab0cc[_0xcb68('0x2f')]=_[_0xcb68('0x30')](_0x5ab0cc[_0xcb68('0x31')],_0x5ab0cc[_0xcb68('0x2d')]);_0x9dfd8['attributes']=_[_0xcb68('0x30')](_0x5ab0cc[_0xcb68('0x31')],qs[_0xcb68('0x32')](_0x4f89b2[_0xcb68('0x2d')]['fields']));_0x9dfd8[_0xcb68('0x33')]=_0x9dfd8[_0xcb68('0x33')][_0xcb68('0x34')]?_0x9dfd8[_0xcb68('0x33')]:_0x5ab0cc[_0xcb68('0x31')];if(!_0x4f89b2['query']['hasOwnProperty'](_0xcb68('0x35'))){_0x9dfd8['limit']=qs[_0xcb68('0x1b')](_0x4f89b2[_0xcb68('0x2d')][_0xcb68('0x1b')]);_0x9dfd8[_0xcb68('0x1d')]=qs[_0xcb68('0x1d')](_0x4f89b2['query']['offset']);}_0x9dfd8[_0xcb68('0x36')]=qs[_0xcb68('0x37')](_0x4f89b2[_0xcb68('0x2d')]['sort']);_0x9dfd8['where']=qs[_0xcb68('0x2f')](_[_0xcb68('0x38')](_0x4f89b2['query'],_0x5ab0cc[_0xcb68('0x2f')]),_0x40be16);if(_0x4f89b2['query'][_0xcb68('0x39')]){_0x9dfd8[_0xcb68('0x3a')]=_[_0xcb68('0x3b')](_0x9dfd8['where'],{'$or':_[_0xcb68('0x2c')](_0x40be16,function(_0x4f8d71){if(_0x4f8d71[_0xcb68('0x2a')]!==_0xcb68('0x3c')){var _0x59b533={};_0x59b533[_0x4f8d71[_0xcb68('0x26')]]={'$like':'%'+_0x4f89b2['query'][_0xcb68('0x39')]+'%'};return _0x59b533;}})});}_0x9dfd8=_['merge']({},_0x9dfd8,_0x4f89b2[_0xcb68('0x3d')]);var _0x40e329={'where':_0x9dfd8[_0xcb68('0x3a')]};return db['OpenchannelQueueReport'][_0xcb68('0x1c')](_0x40e329)['then'](function(_0x24daca){_0x3d8b83[_0xcb68('0x1c')]=_0x24daca;if(_0x4f89b2[_0xcb68('0x2d')][_0xcb68('0x3e')]){_0x9dfd8[_0xcb68('0x3f')]=[{'all':!![]}];}return db['OpenchannelQueueReport'][_0xcb68('0x40')](_0x9dfd8);})[_0xcb68('0x24')](function(_0x2ef62c){_0x3d8b83[_0xcb68('0x41')]=_0x2ef62c;return _0x3d8b83;})[_0xcb68('0x24')](respondWithFilteredResult(_0x1b96cf,_0x9dfd8))['catch'](handleError(_0x1b96cf,null));};exports[_0xcb68('0x42')]=function(_0x2726a2,_0x2467a2){var _0xe130e0={'raw':!![],'where':{'id':_0x2726a2[_0xcb68('0x43')]['id']}},_0x1e8da0={};_0x1e8da0['model']=_[_0xcb68('0x2e')](db[_0xcb68('0x44')][_0xcb68('0x28')]);_0x1e8da0[_0xcb68('0x2d')]=_[_0xcb68('0x2e')](_0x2726a2[_0xcb68('0x2d')]);_0x1e8da0[_0xcb68('0x2f')]=_[_0xcb68('0x30')](_0x1e8da0[_0xcb68('0x31')],_0x1e8da0[_0xcb68('0x2d')]);_0xe130e0[_0xcb68('0x33')]=_[_0xcb68('0x30')](_0x1e8da0[_0xcb68('0x31')],qs[_0xcb68('0x32')](_0x2726a2['query'][_0xcb68('0x32')]));_0xe130e0['attributes']=_0xe130e0['attributes'][_0xcb68('0x34')]?_0xe130e0['attributes']:_0x1e8da0['model'];if(_0x2726a2[_0xcb68('0x2d')][_0xcb68('0x3e')]){_0xe130e0['include']=[{'all':!![]}];}_0xe130e0=_[_0xcb68('0x3b')]({},_0xe130e0,_0x2726a2[_0xcb68('0x3d')]);return db[_0xcb68('0x44')][_0xcb68('0x45')](_0xe130e0)['then'](handleEntityNotFound(_0x2467a2,null))[_0xcb68('0x24')](respondWithResult(_0x2467a2,null))[_0xcb68('0x46')](handleError(_0x2467a2,null));};exports[_0xcb68('0x47')]=function(_0x1132e6,_0x4d8f1d){return db[_0xcb68('0x44')][_0xcb68('0x47')](_0x1132e6[_0xcb68('0x48')],{})[_0xcb68('0x24')](respondWithResult(_0x4d8f1d,0xc9))[_0xcb68('0x46')](handleError(_0x4d8f1d,null));};exports[_0xcb68('0x22')]=function(_0xe03cba,_0x1d8dec){if(_0xe03cba[_0xcb68('0x48')]['id']){delete _0xe03cba[_0xcb68('0x48')]['id'];}return db[_0xcb68('0x44')]['find']({'where':{'id':_0xe03cba[_0xcb68('0x43')]['id']}})[_0xcb68('0x24')](handleEntityNotFound(_0x1d8dec,null))['then'](saveUpdates(_0xe03cba[_0xcb68('0x48')],null))[_0xcb68('0x24')](respondWithResult(_0x1d8dec,null))[_0xcb68('0x46')](handleError(_0x1d8dec,null));};exports[_0xcb68('0x23')]=function(_0x5c55f3,_0x5170aa){return db[_0xcb68('0x44')][_0xcb68('0x45')]({'where':{'id':_0x5c55f3[_0xcb68('0x43')]['id']}})['then'](handleEntityNotFound(_0x5170aa,null))['then'](removeEntity(_0x5170aa,null))[_0xcb68('0x46')](handleError(_0x5170aa,null));};exports[_0xcb68('0x49')]=function(_0x189251,_0x42a835){return db[_0xcb68('0x44')]['describe']()[_0xcb68('0x24')](respondWithResult(_0x42a835,null))[_0xcb68('0x46')](handleError(_0x42a835,null));};