ce9d841f3ad6a3ac0213ba1a706416f0fab8ac07
[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 _0xe718=['filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','pick','where','merge','VIRTUAL','filter','options','then','includeAll','include','findAll','show','rawAttributes','find','catch','update','body','params','describe','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','Content-Range','save','destroy','error','name','send','map','OpenchannelQueueReport','type','key','model','query','keys'];(function(_0x401871,_0x5547e4){var _0x1f73d0=function(_0x509e0b){while(--_0x509e0b){_0x401871['push'](_0x401871['shift']());}};_0x1f73d0(++_0x5547e4);}(_0xe718,0x191));var _0x8e71=function(_0x22cc16,_0x1f4fa2){_0x22cc16=_0x22cc16-0x0;var _0x399b70=_0xe718[_0x22cc16];return _0x399b70;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8e71('0x0'));var zipdir=require(_0x8e71('0x1'));var jsonpatch=require(_0x8e71('0x2'));var rp=require(_0x8e71('0x3'));var moment=require(_0x8e71('0x4'));var BPromise=require(_0x8e71('0x5'));var Mustache=require(_0x8e71('0x6'));var util=require(_0x8e71('0x7'));var path=require(_0x8e71('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x8e71('0x9'));var fs=require('fs');var fs_extra=require(_0x8e71('0xa'));var _=require(_0x8e71('0xb'));var squel=require(_0x8e71('0xc'));var crypto=require(_0x8e71('0xd'));var jsforce=require(_0x8e71('0xe'));var deskjs=require(_0x8e71('0xf'));var toCsv=require(_0x8e71('0x10'));var querystring=require('querystring');var Papa=require(_0x8e71('0x11'));var Redis=require('ioredis');var authService=require(_0x8e71('0x12'));var qs=require(_0x8e71('0x13'));var as=require(_0x8e71('0x14'));var hardwareService=require(_0x8e71('0x15'));var logger=require(_0x8e71('0x16'))(_0x8e71('0x17'));var utils=require(_0x8e71('0x18'));var config=require(_0x8e71('0x19'));var licenseUtil=require(_0x8e71('0x1a'));var db=require(_0x8e71('0x1b'))['db'];function respondWithStatusCode(_0x8fef46,_0x2299dc){_0x2299dc=_0x2299dc||0xcc;return function(_0x54cc2e){if(_0x54cc2e){return _0x8fef46[_0x8e71('0x1c')](_0x2299dc);}return _0x8fef46['status'](_0x2299dc)[_0x8e71('0x1d')]();};}function respondWithResult(_0x2d633f,_0xe885d){_0xe885d=_0xe885d||0xc8;return function(_0xf5620d){if(_0xf5620d){return _0x2d633f[_0x8e71('0x1e')](_0xe885d)[_0x8e71('0x1f')](_0xf5620d);}};}function respondWithFilteredResult(_0x5531a9,_0x6078d7){return function(_0x5333dc){if(_0x5333dc){var _0x53676e=typeof _0x6078d7[_0x8e71('0x20')]===_0x8e71('0x21')&&typeof _0x6078d7[_0x8e71('0x22')]===_0x8e71('0x21');var _0x262a07=_0x5333dc[_0x8e71('0x23')];var _0x572762=_0x53676e?0x0:_0x6078d7[_0x8e71('0x20')];var _0x3b0385=_0x53676e?_0x5333dc[_0x8e71('0x23')]:_0x6078d7[_0x8e71('0x20')]+_0x6078d7['limit'];var _0x2066f9;if(_0x3b0385>=_0x262a07){_0x3b0385=_0x262a07;_0x2066f9=0xc8;}else{_0x2066f9=0xce;}_0x5531a9[_0x8e71('0x1e')](_0x2066f9);return _0x5531a9['set'](_0x8e71('0x24'),_0x572762+'-'+_0x3b0385+'/'+_0x262a07)[_0x8e71('0x1f')](_0x5333dc);}return null;};}function patchUpdates(_0x861689){return function(_0x211c59){try{jsonpatch['apply'](_0x211c59,_0x861689,!![]);}catch(_0x2955e1){return BPromise['reject'](_0x2955e1);}return _0x211c59[_0x8e71('0x25')]();};}function saveUpdates(_0x24d279,_0x13853f){return function(_0x3f73de){if(_0x3f73de){return _0x3f73de['update'](_0x24d279)['then'](function(_0x23f53a){return _0x23f53a;});}return null;};}function removeEntity(_0x4e5a2b,_0x405b97){return function(_0x1cdf7e){if(_0x1cdf7e){return _0x1cdf7e[_0x8e71('0x26')]()['then'](function(){_0x4e5a2b[_0x8e71('0x1e')](0xcc)[_0x8e71('0x1d')]();});}};}function handleEntityNotFound(_0x187593,_0x5c7b2a){return function(_0x50c5fe){if(!_0x50c5fe){_0x187593[_0x8e71('0x1c')](0x194);}return _0x50c5fe;};}function handleError(_0x42d500,_0x5e3330){_0x5e3330=_0x5e3330||0x1f4;return function(_0x4d3cf1){logger[_0x8e71('0x27')](_0x4d3cf1['stack']);if(_0x4d3cf1['name']){delete _0x4d3cf1[_0x8e71('0x28')];}_0x42d500[_0x8e71('0x1e')](_0x5e3330)[_0x8e71('0x29')](_0x4d3cf1);};}exports['index']=function(_0x286daa,_0x1356f2){var _0x517b06={},_0x1f31e2={},_0x49eaf2={'count':0x0,'rows':[]};var _0x36c5f8=_[_0x8e71('0x2a')](db[_0x8e71('0x2b')]['rawAttributes'],function(_0x2dcfda){return{'name':_0x2dcfda['fieldName'],'type':_0x2dcfda[_0x8e71('0x2c')][_0x8e71('0x2d')]};});_0x1f31e2[_0x8e71('0x2e')]=_['map'](_0x36c5f8,_0x8e71('0x28'));_0x1f31e2[_0x8e71('0x2f')]=_[_0x8e71('0x30')](_0x286daa['query']);_0x1f31e2[_0x8e71('0x31')]=_[_0x8e71('0x32')](_0x1f31e2[_0x8e71('0x2e')],_0x1f31e2['query']);_0x517b06['attributes']=_[_0x8e71('0x32')](_0x1f31e2[_0x8e71('0x2e')],qs[_0x8e71('0x33')](_0x286daa[_0x8e71('0x2f')][_0x8e71('0x33')]));_0x517b06[_0x8e71('0x34')]=_0x517b06[_0x8e71('0x34')][_0x8e71('0x35')]?_0x517b06[_0x8e71('0x34')]:_0x1f31e2[_0x8e71('0x2e')];if(!_0x286daa[_0x8e71('0x2f')][_0x8e71('0x36')]('nolimit')){_0x517b06[_0x8e71('0x22')]=qs[_0x8e71('0x22')](_0x286daa[_0x8e71('0x2f')][_0x8e71('0x22')]);_0x517b06['offset']=qs[_0x8e71('0x20')](_0x286daa['query']['offset']);}_0x517b06[_0x8e71('0x37')]=qs[_0x8e71('0x38')](_0x286daa['query'][_0x8e71('0x38')]);_0x517b06['where']=qs[_0x8e71('0x31')](_[_0x8e71('0x39')](_0x286daa[_0x8e71('0x2f')],_0x1f31e2['filters']),_0x36c5f8);if(_0x286daa[_0x8e71('0x2f')]['filter']){_0x517b06[_0x8e71('0x3a')]=_[_0x8e71('0x3b')](_0x517b06[_0x8e71('0x3a')],{'$or':_[_0x8e71('0x2a')](_0x36c5f8,function(_0x5df1f7){if(_0x5df1f7[_0x8e71('0x2c')]!==_0x8e71('0x3c')){var _0x5f396c={};_0x5f396c[_0x5df1f7[_0x8e71('0x28')]]={'$like':'%'+_0x286daa[_0x8e71('0x2f')][_0x8e71('0x3d')]+'%'};return _0x5f396c;}})});}_0x517b06=_[_0x8e71('0x3b')]({},_0x517b06,_0x286daa[_0x8e71('0x3e')]);var _0x9d0eeb={'where':_0x517b06[_0x8e71('0x3a')]};return db[_0x8e71('0x2b')][_0x8e71('0x23')](_0x9d0eeb)[_0x8e71('0x3f')](function(_0x25891b){_0x49eaf2[_0x8e71('0x23')]=_0x25891b;if(_0x286daa[_0x8e71('0x2f')][_0x8e71('0x40')]){_0x517b06[_0x8e71('0x41')]=[{'all':!![]}];}return db[_0x8e71('0x2b')][_0x8e71('0x42')](_0x517b06);})['then'](function(_0x236133){_0x49eaf2['rows']=_0x236133;return _0x49eaf2;})[_0x8e71('0x3f')](respondWithFilteredResult(_0x1356f2,_0x517b06))['catch'](handleError(_0x1356f2,null));};exports[_0x8e71('0x43')]=function(_0xf9de5d,_0x397d80){var _0x176283={'raw':!![],'where':{'id':_0xf9de5d['params']['id']}},_0x46ca7e={};_0x46ca7e[_0x8e71('0x2e')]=_['keys'](db[_0x8e71('0x2b')][_0x8e71('0x44')]);_0x46ca7e['query']=_[_0x8e71('0x30')](_0xf9de5d['query']);_0x46ca7e[_0x8e71('0x31')]=_[_0x8e71('0x32')](_0x46ca7e['model'],_0x46ca7e[_0x8e71('0x2f')]);_0x176283[_0x8e71('0x34')]=_[_0x8e71('0x32')](_0x46ca7e[_0x8e71('0x2e')],qs[_0x8e71('0x33')](_0xf9de5d[_0x8e71('0x2f')][_0x8e71('0x33')]));_0x176283[_0x8e71('0x34')]=_0x176283[_0x8e71('0x34')][_0x8e71('0x35')]?_0x176283[_0x8e71('0x34')]:_0x46ca7e[_0x8e71('0x2e')];if(_0xf9de5d[_0x8e71('0x2f')][_0x8e71('0x40')]){_0x176283[_0x8e71('0x41')]=[{'all':!![]}];}_0x176283=_[_0x8e71('0x3b')]({},_0x176283,_0xf9de5d[_0x8e71('0x3e')]);return db[_0x8e71('0x2b')][_0x8e71('0x45')](_0x176283)[_0x8e71('0x3f')](handleEntityNotFound(_0x397d80,null))[_0x8e71('0x3f')](respondWithResult(_0x397d80,null))[_0x8e71('0x46')](handleError(_0x397d80,null));};exports['create']=function(_0x1b7121,_0x47f13c){return db[_0x8e71('0x2b')]['create'](_0x1b7121['body'],{})['then'](respondWithResult(_0x47f13c,0xc9))[_0x8e71('0x46')](handleError(_0x47f13c,null));};exports[_0x8e71('0x47')]=function(_0x2eefe6,_0x4c962a){if(_0x2eefe6[_0x8e71('0x48')]['id']){delete _0x2eefe6['body']['id'];}return db[_0x8e71('0x2b')][_0x8e71('0x45')]({'where':{'id':_0x2eefe6[_0x8e71('0x49')]['id']}})[_0x8e71('0x3f')](handleEntityNotFound(_0x4c962a,null))[_0x8e71('0x3f')](saveUpdates(_0x2eefe6[_0x8e71('0x48')],null))[_0x8e71('0x3f')](respondWithResult(_0x4c962a,null))['catch'](handleError(_0x4c962a,null));};exports[_0x8e71('0x26')]=function(_0x267376,_0x3812fe){return db['OpenchannelQueueReport'][_0x8e71('0x45')]({'where':{'id':_0x267376[_0x8e71('0x49')]['id']}})[_0x8e71('0x3f')](handleEntityNotFound(_0x3812fe,null))[_0x8e71('0x3f')](removeEntity(_0x3812fe,null))['catch'](handleError(_0x3812fe,null));};exports[_0x8e71('0x4a')]=function(_0x145ce8,_0x425e53){return db[_0x8e71('0x2b')][_0x8e71('0x4a')]()['then'](respondWithResult(_0x425e53,null))['catch'](handleError(_0x425e53,null));};