bd6c9123c2164d431e0e80d1a05d9afa68f79751
[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 _0x1290=['reject','then','name','send','render','merge','body','contact','message','agent','interaction','index','map','WhatsappTransferReport','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','type','VIRTUAL','options','includeAll','include','rows','catch','params','keys','find','create','update','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','sox','to-csv','fs-extra','squel','crypto','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','apply'];(function(_0x48bba3,_0x800265){var _0x2318d3=function(_0x5640a7){while(--_0x5640a7){_0x48bba3['push'](_0x48bba3['shift']());}};_0x2318d3(++_0x800265);}(_0x1290,0xc3));var _0x0129=function(_0x52e818,_0x4459af){_0x52e818=_0x52e818-0x0;var _0x210046=_0x1290[_0x52e818];return _0x210046;};'use strict';var emlformat=require(_0x0129('0x0'));var rimraf=require(_0x0129('0x1'));var zipdir=require(_0x0129('0x2'));var jsonpatch=require(_0x0129('0x3'));var rp=require(_0x0129('0x4'));var moment=require(_0x0129('0x5'));var BPromise=require(_0x0129('0x6'));var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require(_0x0129('0x7'));var csv=require(_0x0129('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0129('0x9'));var _=require('lodash');var squel=require(_0x0129('0xa'));var crypto=require(_0x0129('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x0129('0xc'));var toCsv=require(_0x0129('0x8'));var querystring=require(_0x0129('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x0129('0xe'));var qs=require(_0x0129('0xf'));var as=require(_0x0129('0x10'));var hardwareService=require(_0x0129('0x11'));var logger=require('../../config/logger')(_0x0129('0x12'));var utils=require('../../config/utils');var config=require(_0x0129('0x13'));var licenseUtil=require(_0x0129('0x14'));var db=require(_0x0129('0x15'))['db'];function respondWithStatusCode(_0x5d4075,_0x3e717a){_0x3e717a=_0x3e717a||0xcc;return function(_0x523386){if(_0x523386){return _0x5d4075[_0x0129('0x16')](_0x3e717a);}return _0x5d4075['status'](_0x3e717a)[_0x0129('0x17')]();};}function respondWithResult(_0x3c8111,_0x3a52ae){_0x3a52ae=_0x3a52ae||0xc8;return function(_0x3dee19){if(_0x3dee19){return _0x3c8111['status'](_0x3a52ae)[_0x0129('0x18')](_0x3dee19);}};}function respondWithFilteredResult(_0x1fadc3,_0x122fc5){return function(_0x334880){if(_0x334880){var _0x5adac6=typeof _0x122fc5[_0x0129('0x19')]===_0x0129('0x1a')&&typeof _0x122fc5[_0x0129('0x1b')]===_0x0129('0x1a');var _0x6f062c=_0x334880['count'];var _0x35066e=_0x5adac6?0x0:_0x122fc5[_0x0129('0x19')];var _0x3fe257=_0x5adac6?_0x334880[_0x0129('0x1c')]:_0x122fc5['offset']+_0x122fc5[_0x0129('0x1b')];var _0x5ee7a2;if(_0x3fe257>=_0x6f062c){_0x3fe257=_0x6f062c;_0x5ee7a2=0xc8;}else{_0x5ee7a2=0xce;}_0x1fadc3[_0x0129('0x1d')](_0x5ee7a2);return _0x1fadc3[_0x0129('0x1e')](_0x0129('0x1f'),_0x35066e+'-'+_0x3fe257+'/'+_0x6f062c)[_0x0129('0x18')](_0x334880);}return null;};}function patchUpdates(_0x2e897d){return function(_0x886c63){try{jsonpatch[_0x0129('0x20')](_0x886c63,_0x2e897d,!![]);}catch(_0x3c3448){return BPromise[_0x0129('0x21')](_0x3c3448);}return _0x886c63['save']();};}function saveUpdates(_0x5835e4,_0x21fa2c){return function(_0x5dd5cf){if(_0x5dd5cf){return _0x5dd5cf['update'](_0x5835e4)[_0x0129('0x22')](function(_0xaa411f){return _0xaa411f;});}return null;};}function removeEntity(_0x41d066,_0x428d80){return function(_0x487b9a){if(_0x487b9a){return _0x487b9a['destroy']()['then'](function(){_0x41d066[_0x0129('0x1d')](0xcc)[_0x0129('0x17')]();});}};}function handleEntityNotFound(_0x2c95c0,_0x2ddb82){return function(_0x269d7d){if(!_0x269d7d){_0x2c95c0['sendStatus'](0x194);}return _0x269d7d;};}function handleError(_0x35fcf,_0xce310a){_0xce310a=_0xce310a||0x1f4;return function(_0xb2424e){logger['error'](_0xb2424e['stack']);if(_0xb2424e[_0x0129('0x23')]){delete _0xb2424e[_0x0129('0x23')];}_0x35fcf[_0x0129('0x1d')](_0xce310a)[_0x0129('0x24')](_0xb2424e);};}function getMustacheRender(_0x15f77b,_0x1610c9){return Mustache[_0x0129('0x25')](_0x15f77b,_[_0x0129('0x26')](_0x1610c9[_0x0129('0x27')],{'contact':_0x1610c9[_0x0129('0x28')],'message':_0x1610c9[_0x0129('0x29')],'agent':_0x1610c9[_0x0129('0x2a')],'interaction':_0x1610c9[_0x0129('0x2b')],'account':_0x1610c9['account']}))||'';}exports[_0x0129('0x2c')]=function(_0x42e3ad,_0x22aaa4){var _0xe3916f={},_0x10d2d2={},_0x1e53ab={'count':0x0,'rows':[]};var _0x399a46=_[_0x0129('0x2d')](db[_0x0129('0x2e')][_0x0129('0x2f')],function(_0x4a35c8){return{'name':_0x4a35c8[_0x0129('0x30')],'type':_0x4a35c8['type'][_0x0129('0x31')]};});_0x10d2d2[_0x0129('0x32')]=_[_0x0129('0x2d')](_0x399a46,_0x0129('0x23'));_0x10d2d2['query']=_['keys'](_0x42e3ad[_0x0129('0x33')]);_0x10d2d2[_0x0129('0x34')]=_[_0x0129('0x35')](_0x10d2d2[_0x0129('0x32')],_0x10d2d2[_0x0129('0x33')]);_0xe3916f[_0x0129('0x36')]=_[_0x0129('0x35')](_0x10d2d2['model'],qs[_0x0129('0x37')](_0x42e3ad['query']['fields']));_0xe3916f[_0x0129('0x36')]=_0xe3916f[_0x0129('0x36')][_0x0129('0x38')]?_0xe3916f['attributes']:_0x10d2d2['model'];if(!_0x42e3ad['query'][_0x0129('0x39')](_0x0129('0x3a'))){_0xe3916f[_0x0129('0x1b')]=qs[_0x0129('0x1b')](_0x42e3ad[_0x0129('0x33')][_0x0129('0x1b')]);_0xe3916f[_0x0129('0x19')]=qs['offset'](_0x42e3ad[_0x0129('0x33')][_0x0129('0x19')]);}_0xe3916f[_0x0129('0x3b')]=qs[_0x0129('0x3c')](_0x42e3ad[_0x0129('0x33')]['sort']);_0xe3916f[_0x0129('0x3d')]=qs[_0x0129('0x34')](_['pick'](_0x42e3ad['query'],_0x10d2d2[_0x0129('0x34')]),_0x399a46);if(_0x42e3ad['query'][_0x0129('0x3e')]){_0xe3916f['where']=_[_0x0129('0x26')](_0xe3916f['where'],{'$or':_[_0x0129('0x2d')](_0x399a46,function(_0x4c1daa){if(_0x4c1daa[_0x0129('0x3f')]!==_0x0129('0x40')){var _0x35e185={};_0x35e185[_0x4c1daa[_0x0129('0x23')]]={'$like':'%'+_0x42e3ad[_0x0129('0x33')]['filter']+'%'};return _0x35e185;}})});}_0xe3916f=_[_0x0129('0x26')]({},_0xe3916f,_0x42e3ad[_0x0129('0x41')]);var _0x305501={'where':_0xe3916f['where']};return db[_0x0129('0x2e')][_0x0129('0x1c')](_0x305501)['then'](function(_0x44cbdf){_0x1e53ab[_0x0129('0x1c')]=_0x44cbdf;if(_0x42e3ad[_0x0129('0x33')][_0x0129('0x42')]){_0xe3916f[_0x0129('0x43')]=[{'all':!![]}];}return db[_0x0129('0x2e')]['findAll'](_0xe3916f);})[_0x0129('0x22')](function(_0x4d527f){_0x1e53ab[_0x0129('0x44')]=_0x4d527f;return _0x1e53ab;})[_0x0129('0x22')](respondWithFilteredResult(_0x22aaa4,_0xe3916f))[_0x0129('0x45')](handleError(_0x22aaa4,null));};exports['show']=function(_0x4e041b,_0x57b767){var _0x3a75d9={'raw':!![],'where':{'id':_0x4e041b[_0x0129('0x46')]['id']}},_0x3c5ec9={};_0x3c5ec9[_0x0129('0x32')]=_[_0x0129('0x47')](db['WhatsappTransferReport'][_0x0129('0x2f')]);_0x3c5ec9[_0x0129('0x33')]=_['keys'](_0x4e041b[_0x0129('0x33')]);_0x3c5ec9['filters']=_[_0x0129('0x35')](_0x3c5ec9[_0x0129('0x32')],_0x3c5ec9['query']);_0x3a75d9[_0x0129('0x36')]=_[_0x0129('0x35')](_0x3c5ec9[_0x0129('0x32')],qs['fields'](_0x4e041b[_0x0129('0x33')][_0x0129('0x37')]));_0x3a75d9[_0x0129('0x36')]=_0x3a75d9['attributes'][_0x0129('0x38')]?_0x3a75d9[_0x0129('0x36')]:_0x3c5ec9[_0x0129('0x32')];if(_0x4e041b['query'][_0x0129('0x42')]){_0x3a75d9[_0x0129('0x43')]=[{'all':!![]}];}_0x3a75d9=_[_0x0129('0x26')]({},_0x3a75d9,_0x4e041b[_0x0129('0x41')]);return db[_0x0129('0x2e')][_0x0129('0x48')](_0x3a75d9)[_0x0129('0x22')](handleEntityNotFound(_0x57b767,null))[_0x0129('0x22')](respondWithResult(_0x57b767,null))[_0x0129('0x45')](handleError(_0x57b767,null));};exports[_0x0129('0x49')]=function(_0x3b5e4a,_0x3fb60e){return db[_0x0129('0x2e')][_0x0129('0x49')](_0x3b5e4a['body'],{})[_0x0129('0x22')](respondWithResult(_0x3fb60e,0xc9))[_0x0129('0x45')](handleError(_0x3fb60e,null));};exports[_0x0129('0x4a')]=function(_0x222414,_0x2c72eb){if(_0x222414[_0x0129('0x27')]['id']){delete _0x222414[_0x0129('0x27')]['id'];}return db[_0x0129('0x2e')]['find']({'where':{'id':_0x222414[_0x0129('0x46')]['id']}})[_0x0129('0x22')](handleEntityNotFound(_0x2c72eb,null))[_0x0129('0x22')](saveUpdates(_0x222414['body'],null))['then'](respondWithResult(_0x2c72eb,null))['catch'](handleError(_0x2c72eb,null));};exports[_0x0129('0x4b')]=function(_0x675547,_0x2e1702){return db[_0x0129('0x2e')]['find']({'where':{'id':_0x675547[_0x0129('0x46')]['id']}})[_0x0129('0x22')](handleEntityNotFound(_0x2e1702,null))[_0x0129('0x22')](removeEntity(_0x2e1702,null))[_0x0129('0x45')](handleError(_0x2e1702,null));};exports['describe']=function(_0x3acc65,_0x41a147){return db[_0x0129('0x2e')]['describe']()[_0x0129('0x22')](respondWithResult(_0x41a147,null))[_0x0129('0x45')](handleError(_0x41a147,null));};