f76a5248587f1877511411573a58ac6e4212c749
[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 _0x0570=['filter','merge','options','WhatsappQueueReport','includeAll','include','rows','catch','show','params','fields','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','bluebird','util','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../mysqldb','sendStatus','status','end','count','offset','set','json','apply','reject','save','update','then','destroy','name','send','index','map','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','length','hasOwnProperty','nolimit','limit','order','sort','pick','where','VIRTUAL'];(function(_0x43d16c,_0x2b5447){var _0x208cce=function(_0x371720){while(--_0x371720){_0x43d16c['push'](_0x43d16c['shift']());}};_0x208cce(++_0x2b5447);}(_0x0570,0x172));var _0x0057=function(_0x54e71f,_0x485047){_0x54e71f=_0x54e71f-0x0;var _0x2c823b=_0x0570[_0x54e71f];return _0x2c823b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0057('0x0'));var rimraf=require(_0x0057('0x1'));var zipdir=require(_0x0057('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0057('0x3'));var moment=require('moment');var BPromise=require(_0x0057('0x4'));var Mustache=require('mustache');var util=require(_0x0057('0x5'));var path=require(_0x0057('0x6'));var sox=require(_0x0057('0x7'));var csv=require(_0x0057('0x8'));var ejs=require(_0x0057('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0057('0xa'));var crypto=require('crypto');var jsforce=require(_0x0057('0xb'));var deskjs=require(_0x0057('0xc'));var toCsv=require(_0x0057('0x8'));var querystring=require(_0x0057('0xd'));var Papa=require(_0x0057('0xe'));var Redis=require('ioredis');var authService=require(_0x0057('0xf'));var qs=require(_0x0057('0x10'));var as=require(_0x0057('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0057('0x12'))(_0x0057('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x0057('0x14'))['db'];function respondWithStatusCode(_0x471f7c,_0x33ed2c){_0x33ed2c=_0x33ed2c||0xcc;return function(_0x4d9117){if(_0x4d9117){return _0x471f7c[_0x0057('0x15')](_0x33ed2c);}return _0x471f7c[_0x0057('0x16')](_0x33ed2c)[_0x0057('0x17')]();};}function respondWithResult(_0x344d8e,_0x567515){_0x567515=_0x567515||0xc8;return function(_0x1feb22){if(_0x1feb22){return _0x344d8e[_0x0057('0x16')](_0x567515)['json'](_0x1feb22);}};}function respondWithFilteredResult(_0x20e69e,_0x25628f){return function(_0x581e76){if(_0x581e76){var _0x17549f=_0x581e76[_0x0057('0x18')],_0x59a3e7=_0x25628f[_0x0057('0x19')],_0x399018=_0x25628f['offset']+_0x25628f['limit'],_0x51524e;if(_0x399018>=_0x17549f){_0x399018=_0x17549f;_0x51524e=0xc8;}else{_0x51524e=0xce;}_0x20e69e[_0x0057('0x16')](_0x51524e);return _0x20e69e[_0x0057('0x1a')]('Content-Range',_0x59a3e7+'-'+_0x399018+'/'+_0x17549f)[_0x0057('0x1b')](_0x581e76);}return null;};}function patchUpdates(_0x5b5a4b){return function(_0x96bd7f){try{jsonpatch[_0x0057('0x1c')](_0x96bd7f,_0x5b5a4b,!![]);}catch(_0xa6b45e){return BPromise[_0x0057('0x1d')](_0xa6b45e);}return _0x96bd7f[_0x0057('0x1e')]();};}function saveUpdates(_0x26a524,_0xdea279){return function(_0x320c62){if(_0x320c62){return _0x320c62[_0x0057('0x1f')](_0x26a524)[_0x0057('0x20')](function(_0x5e6499){return _0x5e6499;});}return null;};}function removeEntity(_0xc1ba0,_0x74a47c){return function(_0x43454a){if(_0x43454a){return _0x43454a[_0x0057('0x21')]()['then'](function(){_0xc1ba0[_0x0057('0x16')](0xcc)[_0x0057('0x17')]();});}};}function handleEntityNotFound(_0x5b7c01,_0x620fcc){return function(_0xa8d716){if(!_0xa8d716){_0x5b7c01['sendStatus'](0x194);}return _0xa8d716;};}function handleError(_0x464d79,_0x2472de){_0x2472de=_0x2472de||0x1f4;return function(_0x426304){logger['error'](_0x426304['stack']);if(_0x426304[_0x0057('0x22')]){delete _0x426304[_0x0057('0x22')];}_0x464d79[_0x0057('0x16')](_0x2472de)[_0x0057('0x23')](_0x426304);};}exports[_0x0057('0x24')]=function(_0x22ba65,_0x491ef3){var _0x5f3818={},_0x5cc3e0={},_0x32e92b={'count':0x0,'rows':[]};var _0x45ff9e=_[_0x0057('0x25')](db['WhatsappQueueReport'][_0x0057('0x26')],function(_0xa4fb6a){return{'name':_0xa4fb6a[_0x0057('0x27')],'type':_0xa4fb6a[_0x0057('0x28')]['key']};});_0x5cc3e0['model']=_[_0x0057('0x25')](_0x45ff9e,'name');_0x5cc3e0[_0x0057('0x29')]=_[_0x0057('0x2a')](_0x22ba65[_0x0057('0x29')]);_0x5cc3e0[_0x0057('0x2b')]=_[_0x0057('0x2c')](_0x5cc3e0[_0x0057('0x2d')],_0x5cc3e0[_0x0057('0x29')]);_0x5f3818[_0x0057('0x2e')]=_['intersection'](_0x5cc3e0[_0x0057('0x2d')],qs['fields'](_0x22ba65[_0x0057('0x29')]['fields']));_0x5f3818['attributes']=_0x5f3818[_0x0057('0x2e')][_0x0057('0x2f')]?_0x5f3818[_0x0057('0x2e')]:_0x5cc3e0[_0x0057('0x2d')];if(!_0x22ba65['query'][_0x0057('0x30')](_0x0057('0x31'))){_0x5f3818[_0x0057('0x32')]=qs[_0x0057('0x32')](_0x22ba65[_0x0057('0x29')][_0x0057('0x32')]);_0x5f3818['offset']=qs[_0x0057('0x19')](_0x22ba65['query'][_0x0057('0x19')]);}_0x5f3818[_0x0057('0x33')]=qs[_0x0057('0x34')](_0x22ba65['query'][_0x0057('0x34')]);_0x5f3818['where']=qs['filters'](_[_0x0057('0x35')](_0x22ba65['query'],_0x5cc3e0[_0x0057('0x2b')]),_0x45ff9e);if(_0x22ba65[_0x0057('0x29')]['filter']){_0x5f3818[_0x0057('0x36')]=_['merge'](_0x5f3818[_0x0057('0x36')],{'$or':_[_0x0057('0x25')](_0x45ff9e,function(_0x34e7b1){if(_0x34e7b1[_0x0057('0x28')]!==_0x0057('0x37')){var _0x5976f4={};_0x5976f4[_0x34e7b1[_0x0057('0x22')]]={'$like':'%'+_0x22ba65[_0x0057('0x29')][_0x0057('0x38')]+'%'};return _0x5976f4;}})});}_0x5f3818=_[_0x0057('0x39')]({},_0x5f3818,_0x22ba65[_0x0057('0x3a')]);var _0x48b875={'where':_0x5f3818[_0x0057('0x36')]};return db[_0x0057('0x3b')]['count'](_0x48b875)['then'](function(_0x556fc4){_0x32e92b[_0x0057('0x18')]=_0x556fc4;if(_0x22ba65[_0x0057('0x29')][_0x0057('0x3c')]){_0x5f3818[_0x0057('0x3d')]=[{'all':!![]}];}return db[_0x0057('0x3b')]['findAll'](_0x5f3818);})[_0x0057('0x20')](function(_0x583066){_0x32e92b[_0x0057('0x3e')]=_0x583066;return _0x32e92b;})['then'](respondWithFilteredResult(_0x491ef3,_0x5f3818))[_0x0057('0x3f')](handleError(_0x491ef3,null));};exports[_0x0057('0x40')]=function(_0x1b5743,_0x577d65){var _0x54e9a2={'raw':!![],'where':{'id':_0x1b5743[_0x0057('0x41')]['id']}},_0x419f26={};_0x419f26[_0x0057('0x2d')]=_[_0x0057('0x2a')](db[_0x0057('0x3b')][_0x0057('0x26')]);_0x419f26[_0x0057('0x29')]=_[_0x0057('0x2a')](_0x1b5743[_0x0057('0x29')]);_0x419f26['filters']=_['intersection'](_0x419f26[_0x0057('0x2d')],_0x419f26[_0x0057('0x29')]);_0x54e9a2['attributes']=_[_0x0057('0x2c')](_0x419f26[_0x0057('0x2d')],qs[_0x0057('0x42')](_0x1b5743['query'][_0x0057('0x42')]));_0x54e9a2[_0x0057('0x2e')]=_0x54e9a2['attributes'][_0x0057('0x2f')]?_0x54e9a2[_0x0057('0x2e')]:_0x419f26['model'];if(_0x1b5743[_0x0057('0x29')][_0x0057('0x3c')]){_0x54e9a2[_0x0057('0x3d')]=[{'all':!![]}];}_0x54e9a2=_['merge']({},_0x54e9a2,_0x1b5743[_0x0057('0x3a')]);return db['WhatsappQueueReport'][_0x0057('0x43')](_0x54e9a2)[_0x0057('0x20')](handleEntityNotFound(_0x577d65,null))['then'](respondWithResult(_0x577d65,null))[_0x0057('0x3f')](handleError(_0x577d65,null));};exports[_0x0057('0x44')]=function(_0x34797e,_0x5e8149){return db[_0x0057('0x3b')]['create'](_0x34797e[_0x0057('0x45')],{})[_0x0057('0x20')](respondWithResult(_0x5e8149,0xc9))[_0x0057('0x3f')](handleError(_0x5e8149,null));};exports[_0x0057('0x1f')]=function(_0x2733d9,_0x47886a){if(_0x2733d9[_0x0057('0x45')]['id']){delete _0x2733d9[_0x0057('0x45')]['id'];}return db[_0x0057('0x3b')]['find']({'where':{'id':_0x2733d9[_0x0057('0x41')]['id']}})[_0x0057('0x20')](handleEntityNotFound(_0x47886a,null))['then'](saveUpdates(_0x2733d9[_0x0057('0x45')],null))[_0x0057('0x20')](respondWithResult(_0x47886a,null))[_0x0057('0x3f')](handleError(_0x47886a,null));};exports['destroy']=function(_0x25ee88,_0x98e77e){return db['WhatsappQueueReport'][_0x0057('0x43')]({'where':{'id':_0x25ee88['params']['id']}})[_0x0057('0x20')](handleEntityNotFound(_0x98e77e,null))['then'](removeEntity(_0x98e77e,null))[_0x0057('0x3f')](handleError(_0x98e77e,null));};exports[_0x0057('0x46')]=function(_0x6978a2,_0x5d7c7a){return db[_0x0057('0x3b')][_0x0057('0x46')]()[_0x0057('0x20')](respondWithResult(_0x5d7c7a,null))[_0x0057('0x3f')](handleError(_0x5d7c7a,null));};