Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / whatsappQueueReport / whatsappQueueReport.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 _0xd8b0=['model','query','attributes','fields','nolimit','limit','order','sort','where','filter','merge','map','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','filters','length','find','create','body','params','describe','eml-format','rimraf','moment','bluebird','mustache','util','path','ejs','fs-extra','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','save','update','then','destroy','error','name','index','WhatsappQueueReport','fieldName','type','keys','intersection'];(function(_0x87a205,_0x458012){var _0x1774dc=function(_0x44821f){while(--_0x44821f){_0x87a205['push'](_0x87a205['shift']());}};_0x1774dc(++_0x458012);}(_0xd8b0,0xad));var _0x0d8b=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0xd8b0[_0x20a584];return _0x4b41a8;};'use strict';var emlformat=require(_0x0d8b('0x0'));var rimraf=require(_0x0d8b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0d8b('0x2'));var BPromise=require(_0x0d8b('0x3'));var Mustache=require(_0x0d8b('0x4'));var util=require(_0x0d8b('0x5'));var path=require(_0x0d8b('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x0d8b('0x7'));var fs=require('fs');var fs_extra=require(_0x0d8b('0x8'));var _=require(_0x0d8b('0x9'));var squel=require('squel');var crypto=require(_0x0d8b('0xa'));var jsforce=require(_0x0d8b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x0d8b('0xc'));var querystring=require(_0x0d8b('0xd'));var Papa=require(_0x0d8b('0xe'));var Redis=require(_0x0d8b('0xf'));var authService=require(_0x0d8b('0x10'));var qs=require(_0x0d8b('0x11'));var as=require(_0x0d8b('0x12'));var hardwareService=require(_0x0d8b('0x13'));var logger=require('../../config/logger')(_0x0d8b('0x14'));var utils=require('../../config/utils');var config=require(_0x0d8b('0x15'));var licenseUtil=require(_0x0d8b('0x16'));var db=require(_0x0d8b('0x17'))['db'];function respondWithStatusCode(_0x92cdd8,_0x35a07b){_0x35a07b=_0x35a07b||0xcc;return function(_0x32bb1a){if(_0x32bb1a){return _0x92cdd8[_0x0d8b('0x18')](_0x35a07b);}return _0x92cdd8[_0x0d8b('0x19')](_0x35a07b)[_0x0d8b('0x1a')]();};}function respondWithResult(_0x2ce75e,_0x5ad086){_0x5ad086=_0x5ad086||0xc8;return function(_0xe65334){if(_0xe65334){return _0x2ce75e[_0x0d8b('0x19')](_0x5ad086)[_0x0d8b('0x1b')](_0xe65334);}};}function respondWithFilteredResult(_0x4f6f21,_0x23eb7b){return function(_0xa86349){if(_0xa86349){var _0x17f7df=typeof _0x23eb7b[_0x0d8b('0x1c')]===_0x0d8b('0x1d')&&typeof _0x23eb7b['limit']===_0x0d8b('0x1d');var _0x4586c2=_0xa86349[_0x0d8b('0x1e')];var _0x5fecbd=_0x17f7df?0x0:_0x23eb7b[_0x0d8b('0x1c')];var _0x18dd2d=_0x17f7df?_0xa86349[_0x0d8b('0x1e')]:_0x23eb7b[_0x0d8b('0x1c')]+_0x23eb7b['limit'];var _0x27512e;if(_0x18dd2d>=_0x4586c2){_0x18dd2d=_0x4586c2;_0x27512e=0xc8;}else{_0x27512e=0xce;}_0x4f6f21[_0x0d8b('0x19')](_0x27512e);return _0x4f6f21[_0x0d8b('0x1f')](_0x0d8b('0x20'),_0x5fecbd+'-'+_0x18dd2d+'/'+_0x4586c2)[_0x0d8b('0x1b')](_0xa86349);}return null;};}function patchUpdates(_0x5b709c){return function(_0x393beb){try{jsonpatch[_0x0d8b('0x21')](_0x393beb,_0x5b709c,!![]);}catch(_0x50ec1e){return BPromise['reject'](_0x50ec1e);}return _0x393beb[_0x0d8b('0x22')]();};}function saveUpdates(_0x54a9a7,_0x56c729){return function(_0x5527d8){if(_0x5527d8){return _0x5527d8[_0x0d8b('0x23')](_0x54a9a7)[_0x0d8b('0x24')](function(_0x214778){return _0x214778;});}return null;};}function removeEntity(_0x38efc8,_0x221071){return function(_0x2c64e2){if(_0x2c64e2){return _0x2c64e2[_0x0d8b('0x25')]()[_0x0d8b('0x24')](function(){_0x38efc8[_0x0d8b('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe8bbee,_0x4463ee){return function(_0x5363e3){if(!_0x5363e3){_0xe8bbee[_0x0d8b('0x18')](0x194);}return _0x5363e3;};}function handleError(_0x4a0ae4,_0x3dd149){_0x3dd149=_0x3dd149||0x1f4;return function(_0x234bdd){logger[_0x0d8b('0x26')](_0x234bdd['stack']);if(_0x234bdd['name']){delete _0x234bdd[_0x0d8b('0x27')];}_0x4a0ae4[_0x0d8b('0x19')](_0x3dd149)['send'](_0x234bdd);};}exports[_0x0d8b('0x28')]=function(_0x59aa83,_0x1b2b59){var _0x4b59e5={},_0x97050a={},_0x48f24f={'count':0x0,'rows':[]};var _0x2ab00d=_['map'](db[_0x0d8b('0x29')]['rawAttributes'],function(_0x3c8887){return{'name':_0x3c8887[_0x0d8b('0x2a')],'type':_0x3c8887[_0x0d8b('0x2b')]['key']};});_0x97050a['model']=_['map'](_0x2ab00d,_0x0d8b('0x27'));_0x97050a['query']=_[_0x0d8b('0x2c')](_0x59aa83['query']);_0x97050a['filters']=_[_0x0d8b('0x2d')](_0x97050a[_0x0d8b('0x2e')],_0x97050a[_0x0d8b('0x2f')]);_0x4b59e5[_0x0d8b('0x30')]=_[_0x0d8b('0x2d')](_0x97050a[_0x0d8b('0x2e')],qs[_0x0d8b('0x31')](_0x59aa83[_0x0d8b('0x2f')]['fields']));_0x4b59e5[_0x0d8b('0x30')]=_0x4b59e5[_0x0d8b('0x30')]['length']?_0x4b59e5[_0x0d8b('0x30')]:_0x97050a[_0x0d8b('0x2e')];if(!_0x59aa83[_0x0d8b('0x2f')]['hasOwnProperty'](_0x0d8b('0x32'))){_0x4b59e5[_0x0d8b('0x33')]=qs[_0x0d8b('0x33')](_0x59aa83[_0x0d8b('0x2f')][_0x0d8b('0x33')]);_0x4b59e5['offset']=qs[_0x0d8b('0x1c')](_0x59aa83[_0x0d8b('0x2f')]['offset']);}_0x4b59e5[_0x0d8b('0x34')]=qs[_0x0d8b('0x35')](_0x59aa83[_0x0d8b('0x2f')][_0x0d8b('0x35')]);_0x4b59e5[_0x0d8b('0x36')]=qs['filters'](_['pick'](_0x59aa83[_0x0d8b('0x2f')],_0x97050a['filters']),_0x2ab00d);if(_0x59aa83['query'][_0x0d8b('0x37')]){_0x4b59e5[_0x0d8b('0x36')]=_[_0x0d8b('0x38')](_0x4b59e5[_0x0d8b('0x36')],{'$or':_[_0x0d8b('0x39')](_0x2ab00d,function(_0x24c789){if(_0x24c789['type']!==_0x0d8b('0x3a')){var _0x6a02ad={};_0x6a02ad[_0x24c789[_0x0d8b('0x27')]]={'$like':'%'+_0x59aa83[_0x0d8b('0x2f')][_0x0d8b('0x37')]+'%'};return _0x6a02ad;}})});}_0x4b59e5=_[_0x0d8b('0x38')]({},_0x4b59e5,_0x59aa83[_0x0d8b('0x3b')]);var _0x5c980b={'where':_0x4b59e5[_0x0d8b('0x36')]};return db[_0x0d8b('0x29')][_0x0d8b('0x1e')](_0x5c980b)[_0x0d8b('0x24')](function(_0x59d3ad){_0x48f24f[_0x0d8b('0x1e')]=_0x59d3ad;if(_0x59aa83['query'][_0x0d8b('0x3c')]){_0x4b59e5[_0x0d8b('0x3d')]=[{'all':!![]}];}return db[_0x0d8b('0x29')][_0x0d8b('0x3e')](_0x4b59e5);})[_0x0d8b('0x24')](function(_0x3e632e){_0x48f24f[_0x0d8b('0x3f')]=_0x3e632e;return _0x48f24f;})[_0x0d8b('0x24')](respondWithFilteredResult(_0x1b2b59,_0x4b59e5))[_0x0d8b('0x40')](handleError(_0x1b2b59,null));};exports[_0x0d8b('0x41')]=function(_0x482069,_0x571acf){var _0x576050={'raw':!![],'where':{'id':_0x482069['params']['id']}},_0x4d0811={};_0x4d0811[_0x0d8b('0x2e')]=_[_0x0d8b('0x2c')](db[_0x0d8b('0x29')]['rawAttributes']);_0x4d0811['query']=_[_0x0d8b('0x2c')](_0x482069[_0x0d8b('0x2f')]);_0x4d0811[_0x0d8b('0x42')]=_['intersection'](_0x4d0811[_0x0d8b('0x2e')],_0x4d0811[_0x0d8b('0x2f')]);_0x576050['attributes']=_['intersection'](_0x4d0811[_0x0d8b('0x2e')],qs['fields'](_0x482069[_0x0d8b('0x2f')]['fields']));_0x576050['attributes']=_0x576050[_0x0d8b('0x30')][_0x0d8b('0x43')]?_0x576050['attributes']:_0x4d0811['model'];if(_0x482069['query']['includeAll']){_0x576050[_0x0d8b('0x3d')]=[{'all':!![]}];}_0x576050=_[_0x0d8b('0x38')]({},_0x576050,_0x482069[_0x0d8b('0x3b')]);return db['WhatsappQueueReport'][_0x0d8b('0x44')](_0x576050)[_0x0d8b('0x24')](handleEntityNotFound(_0x571acf,null))[_0x0d8b('0x24')](respondWithResult(_0x571acf,null))[_0x0d8b('0x40')](handleError(_0x571acf,null));};exports[_0x0d8b('0x45')]=function(_0x2d5246,_0x11d22b){return db[_0x0d8b('0x29')][_0x0d8b('0x45')](_0x2d5246[_0x0d8b('0x46')],{})[_0x0d8b('0x24')](respondWithResult(_0x11d22b,0xc9))[_0x0d8b('0x40')](handleError(_0x11d22b,null));};exports[_0x0d8b('0x23')]=function(_0x3e569b,_0x570af8){if(_0x3e569b[_0x0d8b('0x46')]['id']){delete _0x3e569b[_0x0d8b('0x46')]['id'];}return db[_0x0d8b('0x29')][_0x0d8b('0x44')]({'where':{'id':_0x3e569b['params']['id']}})[_0x0d8b('0x24')](handleEntityNotFound(_0x570af8,null))['then'](saveUpdates(_0x3e569b['body'],null))[_0x0d8b('0x24')](respondWithResult(_0x570af8,null))[_0x0d8b('0x40')](handleError(_0x570af8,null));};exports[_0x0d8b('0x25')]=function(_0x4396b5,_0x505d22){return db[_0x0d8b('0x29')][_0x0d8b('0x44')]({'where':{'id':_0x4396b5[_0x0d8b('0x47')]['id']}})[_0x0d8b('0x24')](handleEntityNotFound(_0x505d22,null))[_0x0d8b('0x24')](removeEntity(_0x505d22,null))['catch'](handleError(_0x505d22,null));};exports['describe']=function(_0x4e4d5f,_0x573f4f){return db[_0x0d8b('0x29')][_0x0d8b('0x48')]()['then'](respondWithResult(_0x573f4f,null))['catch'](handleError(_0x573f4f,null));};