cf926f2beb5f757bdae7a428b95e6aafade6962f
[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 _0x847d=['../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','update','then','destroy','error','stack','name','send','index','map','rawAttributes','key','model','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','pick','filter','where','type','VIRTUAL','options','includeAll','WhatsappQueueReport','rows','show','params','length','include','merge','catch','create','body','find','describe','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','querystring','papaparse','../../config/license/hardware','../../config/logger','api','../../config/license/util'];(function(_0x356992,_0xae3e83){var _0x567380=function(_0x1ce9f9){while(--_0x1ce9f9){_0x356992['push'](_0x356992['shift']());}};_0x567380(++_0xae3e83);}(_0x847d,0x14a));var _0xd847=function(_0x187d80,_0x5b793f){_0x187d80=_0x187d80-0x0;var _0x498a77=_0x847d[_0x187d80];return _0x498a77;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd847('0x0'));var rimraf=require(_0xd847('0x1'));var zipdir=require(_0xd847('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd847('0x3'));var moment=require('moment');var BPromise=require(_0xd847('0x4'));var Mustache=require(_0xd847('0x5'));var util=require('util');var path=require(_0xd847('0x6'));var sox=require(_0xd847('0x7'));var csv=require(_0xd847('0x8'));var ejs=require(_0xd847('0x9'));var fs=require('fs');var _=require('lodash');var squel=require(_0xd847('0xa'));var crypto=require(_0xd847('0xb'));var jsforce=require(_0xd847('0xc'));var deskjs=require(_0xd847('0xd'));var toCsv=require(_0xd847('0x8'));var querystring=require(_0xd847('0xe'));var Papa=require(_0xd847('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd847('0x10'));var logger=require(_0xd847('0x11'))(_0xd847('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xd847('0x13'));var db=require(_0xd847('0x14'))['db'];function respondWithStatusCode(_0x344d39,_0x2ea8e7){_0x2ea8e7=_0x2ea8e7||0xcc;return function(_0x1e4e26){if(_0x1e4e26){return _0x344d39[_0xd847('0x15')](_0x2ea8e7);}return _0x344d39[_0xd847('0x16')](_0x2ea8e7)[_0xd847('0x17')]();};}function respondWithResult(_0x1c827a,_0x2faa39){_0x2faa39=_0x2faa39||0xc8;return function(_0x3c4805){if(_0x3c4805){return _0x1c827a['status'](_0x2faa39)[_0xd847('0x18')](_0x3c4805);}};}function respondWithFilteredResult(_0x165fbe,_0xd69fc9){return function(_0x404bdb){if(_0x404bdb){var _0x16c79a=_0x404bdb[_0xd847('0x19')],_0x586c6e=_0xd69fc9[_0xd847('0x1a')],_0x39e11b=_0xd69fc9['offset']+_0xd69fc9[_0xd847('0x1b')],_0x3e1e1c;if(_0x39e11b>=_0x16c79a){_0x39e11b=_0x16c79a;_0x3e1e1c=0xc8;}else{_0x3e1e1c=0xce;}_0x165fbe['status'](_0x3e1e1c);return _0x165fbe[_0xd847('0x1c')](_0xd847('0x1d'),_0x586c6e+'-'+_0x39e11b+'/'+_0x16c79a)[_0xd847('0x18')](_0x404bdb);}return null;};}function patchUpdates(_0xf6e434){return function(_0x3905b8){try{jsonpatch['apply'](_0x3905b8,_0xf6e434,!![]);}catch(_0x6e91ab){return BPromise['reject'](_0x6e91ab);}return _0x3905b8['save']();};}function saveUpdates(_0x25e139,_0x2c1091){return function(_0x8d4d6f){if(_0x8d4d6f){return _0x8d4d6f[_0xd847('0x1e')](_0x25e139)[_0xd847('0x1f')](function(_0x5cd03d){return _0x5cd03d;});}return null;};}function removeEntity(_0x1490a1,_0x39c465){return function(_0x1eaf08){if(_0x1eaf08){return _0x1eaf08[_0xd847('0x20')]()[_0xd847('0x1f')](function(){_0x1490a1[_0xd847('0x16')](0xcc)['end']();});}};}function handleEntityNotFound(_0x560563,_0x26a787){return function(_0x1312ce){if(!_0x1312ce){_0x560563[_0xd847('0x15')](0x194);}return _0x1312ce;};}function handleError(_0x5075a2,_0x1404ce){_0x1404ce=_0x1404ce||0x1f4;return function(_0x246920){logger[_0xd847('0x21')](_0x246920[_0xd847('0x22')]);if(_0x246920[_0xd847('0x23')]){delete _0x246920[_0xd847('0x23')];}_0x5075a2[_0xd847('0x16')](_0x1404ce)[_0xd847('0x24')](_0x246920);};}exports[_0xd847('0x25')]=function(_0x59296b,_0x46b213){var _0x1d03e2={},_0x1c485d={},_0x1a5370={'count':0x0,'rows':[]};var _0x19bf66=_[_0xd847('0x26')](db['WhatsappQueueReport'][_0xd847('0x27')],function(_0x5375fe){return{'name':_0x5375fe['fieldName'],'type':_0x5375fe['type'][_0xd847('0x28')]};});_0x1c485d[_0xd847('0x29')]=_[_0xd847('0x26')](_0x19bf66,_0xd847('0x23'));_0x1c485d[_0xd847('0x2a')]=_[_0xd847('0x2b')](_0x59296b[_0xd847('0x2a')]);_0x1c485d[_0xd847('0x2c')]=_[_0xd847('0x2d')](_0x1c485d[_0xd847('0x29')],_0x1c485d[_0xd847('0x2a')]);_0x1d03e2[_0xd847('0x2e')]=_['intersection'](_0x1c485d['model'],qs[_0xd847('0x2f')](_0x59296b[_0xd847('0x2a')][_0xd847('0x2f')]));_0x1d03e2[_0xd847('0x2e')]=_0x1d03e2[_0xd847('0x2e')]['length']?_0x1d03e2[_0xd847('0x2e')]:_0x1c485d['model'];if(!_0x59296b[_0xd847('0x2a')]['hasOwnProperty'](_0xd847('0x30'))){_0x1d03e2['limit']=qs[_0xd847('0x1b')](_0x59296b[_0xd847('0x2a')]['limit']);_0x1d03e2['offset']=qs[_0xd847('0x1a')](_0x59296b[_0xd847('0x2a')][_0xd847('0x1a')]);}_0x1d03e2[_0xd847('0x31')]=qs[_0xd847('0x32')](_0x59296b[_0xd847('0x2a')]['sort']);_0x1d03e2['where']=qs[_0xd847('0x2c')](_[_0xd847('0x33')](_0x59296b[_0xd847('0x2a')],_0x1c485d['filters']),_0x19bf66);if(_0x59296b[_0xd847('0x2a')][_0xd847('0x34')]){_0x1d03e2['where']=_['merge'](_0x1d03e2[_0xd847('0x35')],{'$or':_['map'](_0x19bf66,function(_0x30cdf6){if(_0x30cdf6[_0xd847('0x36')]!==_0xd847('0x37')){var _0x4abe5f={};_0x4abe5f[_0x30cdf6['name']]={'$like':'%'+_0x59296b[_0xd847('0x2a')]['filter']+'%'};return _0x4abe5f;}})});}_0x1d03e2=_['merge']({},_0x1d03e2,_0x59296b[_0xd847('0x38')]);var _0x5b5a61={'where':_0x1d03e2['where']};return db['WhatsappQueueReport'][_0xd847('0x19')](_0x5b5a61)[_0xd847('0x1f')](function(_0x379814){_0x1a5370[_0xd847('0x19')]=_0x379814;if(_0x59296b[_0xd847('0x2a')][_0xd847('0x39')]){_0x1d03e2['include']=[{'all':!![]}];}return db[_0xd847('0x3a')]['findAll'](_0x1d03e2);})[_0xd847('0x1f')](function(_0x488486){_0x1a5370[_0xd847('0x3b')]=_0x488486;return _0x1a5370;})[_0xd847('0x1f')](respondWithFilteredResult(_0x46b213,_0x1d03e2))['catch'](handleError(_0x46b213,null));};exports[_0xd847('0x3c')]=function(_0x4441db,_0x3b551a){var _0x20eae0={'raw':!![],'where':{'id':_0x4441db[_0xd847('0x3d')]['id']}},_0x1c297b={};_0x1c297b['model']=_[_0xd847('0x2b')](db[_0xd847('0x3a')][_0xd847('0x27')]);_0x1c297b['query']=_[_0xd847('0x2b')](_0x4441db[_0xd847('0x2a')]);_0x1c297b['filters']=_[_0xd847('0x2d')](_0x1c297b['model'],_0x1c297b[_0xd847('0x2a')]);_0x20eae0[_0xd847('0x2e')]=_[_0xd847('0x2d')](_0x1c297b[_0xd847('0x29')],qs['fields'](_0x4441db[_0xd847('0x2a')][_0xd847('0x2f')]));_0x20eae0[_0xd847('0x2e')]=_0x20eae0['attributes'][_0xd847('0x3e')]?_0x20eae0[_0xd847('0x2e')]:_0x1c297b[_0xd847('0x29')];if(_0x4441db['query'][_0xd847('0x39')]){_0x20eae0[_0xd847('0x3f')]=[{'all':!![]}];}_0x20eae0=_[_0xd847('0x40')]({},_0x20eae0,_0x4441db[_0xd847('0x38')]);return db['WhatsappQueueReport']['find'](_0x20eae0)['then'](handleEntityNotFound(_0x3b551a,null))[_0xd847('0x1f')](respondWithResult(_0x3b551a,null))[_0xd847('0x41')](handleError(_0x3b551a,null));};exports[_0xd847('0x42')]=function(_0x2fb8e5,_0x4fa0db){return db[_0xd847('0x3a')]['create'](_0x2fb8e5[_0xd847('0x43')],{})['then'](respondWithResult(_0x4fa0db,0xc9))[_0xd847('0x41')](handleError(_0x4fa0db,null));};exports['update']=function(_0x2d0979,_0x47e23e){if(_0x2d0979[_0xd847('0x43')]['id']){delete _0x2d0979[_0xd847('0x43')]['id'];}return db[_0xd847('0x3a')]['find']({'where':{'id':_0x2d0979[_0xd847('0x3d')]['id']}})[_0xd847('0x1f')](handleEntityNotFound(_0x47e23e,null))[_0xd847('0x1f')](saveUpdates(_0x2d0979[_0xd847('0x43')],null))['then'](respondWithResult(_0x47e23e,null))['catch'](handleError(_0x47e23e,null));};exports['destroy']=function(_0x1c7a7d,_0x3f7e17){return db[_0xd847('0x3a')][_0xd847('0x44')]({'where':{'id':_0x1c7a7d[_0xd847('0x3d')]['id']}})[_0xd847('0x1f')](handleEntityNotFound(_0x3f7e17,null))[_0xd847('0x1f')](removeEntity(_0x3f7e17,null))[_0xd847('0x41')](handleError(_0x3f7e17,null));};exports[_0xd847('0x45')]=function(_0x4793d9,_0x1edfec){return db[_0xd847('0x3a')][_0xd847('0x45')]()[_0xd847('0x1f')](respondWithResult(_0x1edfec,null))['catch'](handleError(_0x1edfec,null));};