3121b8367bcc8cf5b0f7bee301910d14e9ea4a6c
[motion2.git] / server / api / whatsappTransferReport / whatsappTransferReport.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 _0x8e7a=['status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','end','error','stack','name','send','index','map','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','WhatsappTransferReport','includeAll','include','findAll','rows','catch','show','params','create','body','update','find','describe','rimraf','zip-dir','request-promise','moment','util','path','sox','to-csv','lodash','squel','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x543ada,_0x1e0069){var _0x43a725=function(_0x1382e1){while(--_0x1382e1){_0x543ada['push'](_0x543ada['shift']());}};_0x43a725(++_0x1e0069);}(_0x8e7a,0x1ac));var _0xa8e7=function(_0x170fb1,_0x18a844){_0x170fb1=_0x170fb1-0x0;var _0x5a8715=_0x8e7a[_0x170fb1];return _0x5a8715;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa8e7('0x0'));var zipdir=require(_0xa8e7('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa8e7('0x2'));var moment=require(_0xa8e7('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xa8e7('0x4'));var path=require(_0xa8e7('0x5'));var sox=require(_0xa8e7('0x6'));var csv=require(_0xa8e7('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa8e7('0x8'));var squel=require(_0xa8e7('0x9'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa8e7('0xa'));var toCsv=require(_0xa8e7('0x7'));var querystring=require(_0xa8e7('0xb'));var Papa=require(_0xa8e7('0xc'));var Redis=require('ioredis');var authService=require(_0xa8e7('0xd'));var qs=require(_0xa8e7('0xe'));var as=require(_0xa8e7('0xf'));var hardwareService=require(_0xa8e7('0x10'));var logger=require(_0xa8e7('0x11'))('api');var utils=require('../../config/utils');var config=require(_0xa8e7('0x12'));var licenseUtil=require(_0xa8e7('0x13'));var db=require(_0xa8e7('0x14'))['db'];function respondWithStatusCode(_0x2f7287,_0x2011c7){_0x2011c7=_0x2011c7||0xcc;return function(_0x56d313){if(_0x56d313){return _0x2f7287[_0xa8e7('0x15')](_0x2011c7);}return _0x2f7287['status'](_0x2011c7)['end']();};}function respondWithResult(_0x5af01c,_0xea8ebe){_0xea8ebe=_0xea8ebe||0xc8;return function(_0x3bf91c){if(_0x3bf91c){return _0x5af01c[_0xa8e7('0x16')](_0xea8ebe)[_0xa8e7('0x17')](_0x3bf91c);}};}function respondWithFilteredResult(_0x99db4d,_0x39f768){return function(_0x46f933){if(_0x46f933){var _0x2a50ab=typeof _0x39f768[_0xa8e7('0x18')]===_0xa8e7('0x19')&&typeof _0x39f768[_0xa8e7('0x1a')]===_0xa8e7('0x19');var _0x73229a=_0x46f933[_0xa8e7('0x1b')];var _0x3d4549=_0x2a50ab?0x0:_0x39f768[_0xa8e7('0x18')];var _0x477436=_0x2a50ab?_0x46f933[_0xa8e7('0x1b')]:_0x39f768['offset']+_0x39f768[_0xa8e7('0x1a')];var _0x142b7f;if(_0x477436>=_0x73229a){_0x477436=_0x73229a;_0x142b7f=0xc8;}else{_0x142b7f=0xce;}_0x99db4d['status'](_0x142b7f);return _0x99db4d[_0xa8e7('0x1c')](_0xa8e7('0x1d'),_0x3d4549+'-'+_0x477436+'/'+_0x73229a)[_0xa8e7('0x17')](_0x46f933);}return null;};}function patchUpdates(_0x182a66){return function(_0x293627){try{jsonpatch[_0xa8e7('0x1e')](_0x293627,_0x182a66,!![]);}catch(_0xbcc1a0){return BPromise[_0xa8e7('0x1f')](_0xbcc1a0);}return _0x293627[_0xa8e7('0x20')]();};}function saveUpdates(_0xf15b5d,_0x4c8264){return function(_0x1e16fe){if(_0x1e16fe){return _0x1e16fe['update'](_0xf15b5d)[_0xa8e7('0x21')](function(_0x14704d){return _0x14704d;});}return null;};}function removeEntity(_0x47e266,_0x333085){return function(_0x476686){if(_0x476686){return _0x476686[_0xa8e7('0x22')]()[_0xa8e7('0x21')](function(){_0x47e266['status'](0xcc)[_0xa8e7('0x23')]();});}};}function handleEntityNotFound(_0x4f533e,_0x1d0a2d){return function(_0x541fa5){if(!_0x541fa5){_0x4f533e[_0xa8e7('0x15')](0x194);}return _0x541fa5;};}function handleError(_0x25c823,_0x2ca1a9){_0x2ca1a9=_0x2ca1a9||0x1f4;return function(_0x2918e4){logger[_0xa8e7('0x24')](_0x2918e4[_0xa8e7('0x25')]);if(_0x2918e4[_0xa8e7('0x26')]){delete _0x2918e4[_0xa8e7('0x26')];}_0x25c823['status'](_0x2ca1a9)[_0xa8e7('0x27')](_0x2918e4);};}exports[_0xa8e7('0x28')]=function(_0xda8e19,_0x2eced8){var _0x1fd182={},_0x138eec={},_0x1d6399={'count':0x0,'rows':[]};var _0x263cf8=_[_0xa8e7('0x29')](db['WhatsappTransferReport'][_0xa8e7('0x2a')],function(_0x58f5da){return{'name':_0x58f5da['fieldName'],'type':_0x58f5da[_0xa8e7('0x2b')][_0xa8e7('0x2c')]};});_0x138eec[_0xa8e7('0x2d')]=_['map'](_0x263cf8,'name');_0x138eec[_0xa8e7('0x2e')]=_[_0xa8e7('0x2f')](_0xda8e19['query']);_0x138eec[_0xa8e7('0x30')]=_[_0xa8e7('0x31')](_0x138eec['model'],_0x138eec[_0xa8e7('0x2e')]);_0x1fd182[_0xa8e7('0x32')]=_[_0xa8e7('0x31')](_0x138eec[_0xa8e7('0x2d')],qs[_0xa8e7('0x33')](_0xda8e19[_0xa8e7('0x2e')][_0xa8e7('0x33')]));_0x1fd182[_0xa8e7('0x32')]=_0x1fd182[_0xa8e7('0x32')]['length']?_0x1fd182['attributes']:_0x138eec['model'];if(!_0xda8e19['query'][_0xa8e7('0x34')](_0xa8e7('0x35'))){_0x1fd182[_0xa8e7('0x1a')]=qs[_0xa8e7('0x1a')](_0xda8e19[_0xa8e7('0x2e')]['limit']);_0x1fd182[_0xa8e7('0x18')]=qs[_0xa8e7('0x18')](_0xda8e19[_0xa8e7('0x2e')][_0xa8e7('0x18')]);}_0x1fd182[_0xa8e7('0x36')]=qs['sort'](_0xda8e19[_0xa8e7('0x2e')][_0xa8e7('0x37')]);_0x1fd182['where']=qs[_0xa8e7('0x30')](_[_0xa8e7('0x38')](_0xda8e19[_0xa8e7('0x2e')],_0x138eec[_0xa8e7('0x30')]),_0x263cf8);if(_0xda8e19[_0xa8e7('0x2e')][_0xa8e7('0x39')]){_0x1fd182[_0xa8e7('0x3a')]=_[_0xa8e7('0x3b')](_0x1fd182[_0xa8e7('0x3a')],{'$or':_['map'](_0x263cf8,function(_0x3c6f8c){if(_0x3c6f8c[_0xa8e7('0x2b')]!==_0xa8e7('0x3c')){var _0x7e6f24={};_0x7e6f24[_0x3c6f8c['name']]={'$like':'%'+_0xda8e19[_0xa8e7('0x2e')]['filter']+'%'};return _0x7e6f24;}})});}_0x1fd182=_['merge']({},_0x1fd182,_0xda8e19[_0xa8e7('0x3d')]);var _0xa66bd1={'where':_0x1fd182['where']};return db[_0xa8e7('0x3e')]['count'](_0xa66bd1)[_0xa8e7('0x21')](function(_0x4a52db){_0x1d6399[_0xa8e7('0x1b')]=_0x4a52db;if(_0xda8e19[_0xa8e7('0x2e')][_0xa8e7('0x3f')]){_0x1fd182[_0xa8e7('0x40')]=[{'all':!![]}];}return db[_0xa8e7('0x3e')][_0xa8e7('0x41')](_0x1fd182);})[_0xa8e7('0x21')](function(_0x3e268d){_0x1d6399[_0xa8e7('0x42')]=_0x3e268d;return _0x1d6399;})['then'](respondWithFilteredResult(_0x2eced8,_0x1fd182))[_0xa8e7('0x43')](handleError(_0x2eced8,null));};exports[_0xa8e7('0x44')]=function(_0x5cc7ae,_0x36b2e4){var _0x5e56d6={'raw':!![],'where':{'id':_0x5cc7ae[_0xa8e7('0x45')]['id']}},_0x45aa31={};_0x45aa31['model']=_[_0xa8e7('0x2f')](db[_0xa8e7('0x3e')]['rawAttributes']);_0x45aa31[_0xa8e7('0x2e')]=_['keys'](_0x5cc7ae['query']);_0x45aa31[_0xa8e7('0x30')]=_[_0xa8e7('0x31')](_0x45aa31[_0xa8e7('0x2d')],_0x45aa31[_0xa8e7('0x2e')]);_0x5e56d6[_0xa8e7('0x32')]=_[_0xa8e7('0x31')](_0x45aa31[_0xa8e7('0x2d')],qs[_0xa8e7('0x33')](_0x5cc7ae[_0xa8e7('0x2e')]['fields']));_0x5e56d6['attributes']=_0x5e56d6[_0xa8e7('0x32')]['length']?_0x5e56d6[_0xa8e7('0x32')]:_0x45aa31[_0xa8e7('0x2d')];if(_0x5cc7ae[_0xa8e7('0x2e')][_0xa8e7('0x3f')]){_0x5e56d6['include']=[{'all':!![]}];}_0x5e56d6=_[_0xa8e7('0x3b')]({},_0x5e56d6,_0x5cc7ae[_0xa8e7('0x3d')]);return db[_0xa8e7('0x3e')]['find'](_0x5e56d6)[_0xa8e7('0x21')](handleEntityNotFound(_0x36b2e4,null))[_0xa8e7('0x21')](respondWithResult(_0x36b2e4,null))[_0xa8e7('0x43')](handleError(_0x36b2e4,null));};exports[_0xa8e7('0x46')]=function(_0xdd77cd,_0x9a2817){return db[_0xa8e7('0x3e')][_0xa8e7('0x46')](_0xdd77cd[_0xa8e7('0x47')],{})[_0xa8e7('0x21')](respondWithResult(_0x9a2817,0xc9))['catch'](handleError(_0x9a2817,null));};exports[_0xa8e7('0x48')]=function(_0x3bf86c,_0x575c0b){if(_0x3bf86c['body']['id']){delete _0x3bf86c[_0xa8e7('0x47')]['id'];}return db[_0xa8e7('0x3e')][_0xa8e7('0x49')]({'where':{'id':_0x3bf86c[_0xa8e7('0x45')]['id']}})[_0xa8e7('0x21')](handleEntityNotFound(_0x575c0b,null))[_0xa8e7('0x21')](saveUpdates(_0x3bf86c[_0xa8e7('0x47')],null))[_0xa8e7('0x21')](respondWithResult(_0x575c0b,null))[_0xa8e7('0x43')](handleError(_0x575c0b,null));};exports[_0xa8e7('0x22')]=function(_0x46525d,_0x10aa3b){return db[_0xa8e7('0x3e')][_0xa8e7('0x49')]({'where':{'id':_0x46525d['params']['id']}})[_0xa8e7('0x21')](handleEntityNotFound(_0x10aa3b,null))[_0xa8e7('0x21')](removeEntity(_0x10aa3b,null))[_0xa8e7('0x43')](handleError(_0x10aa3b,null));};exports[_0xa8e7('0x4a')]=function(_0xd3d7fa,_0x2aaa99){return db['WhatsappTransferReport']['describe']()['then'](respondWithResult(_0x2aaa99,null))[_0xa8e7('0x43')](handleError(_0x2aaa99,null));};