Built motion from commit 838c2833.|2.6.24
[motion2.git] / server / api / whatsappMessage / whatsappMessage.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 _0x9d3c=['where','VIRTUAL','includeAll','findAll','show','params','rawAttributes','include','options','find','create','update','body','describe','whatsapp-interactions','accept','read','format','YYYY-MM-DD\x20HH:mm:ss','UserId','agent','get','WhatsappInteraction','WhatsappInteractionId','isNil','read1stAt','interaction','info','user','role','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','QueryTypes','SELECT','contact','User','fullname','email','manual','channel','motionChannel','event','EventManager','acceptmessage','whatsapp','RejectMessage','rejectMessage','sequelize','interface','SIP/%s','rejectmessage','WhatsappAccount','WhatsappAccountId','WhatsppMessage,\x20%s,\x20%s,\x20%s','inspect','twilio','MessageSid','messageId','MessageStatus','WhatsappAccount,\x20%s,\x20%s,\x20%s','zip-dir','fast-json-patch','request-promise','moment','util','path','to-csv','ejs','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./whatsappMessage.socket','register','client','http','then','request\x20sent','debug','WhatsappMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','WhatsappMessage,\x20%s,\x20%s','message','result','catch','sendStatus','end','status','json','count','offset','set','Content-Range','reject','save','destroy','stack','name','send','index','map','WhatsappMessage','type','key','keys','query','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','limit','order','sort','pick','filter','merge'];(function(_0x12537f,_0x2dd012){var _0x4bceb9=function(_0x14b1cc){while(--_0x14b1cc){_0x12537f['push'](_0x12537f['shift']());}};_0x4bceb9(++_0x2dd012);}(_0x9d3c,0x15a));var _0xc9d3=function(_0x5d29c0,_0x1a25bb){_0x5d29c0=_0x5d29c0-0x0;var _0x40c899=_0x9d3c[_0x5d29c0];return _0x40c899;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc9d3('0x0'));var jsonpatch=require(_0xc9d3('0x1'));var rp=require(_0xc9d3('0x2'));var moment=require(_0xc9d3('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc9d3('0x4'));var path=require(_0xc9d3('0x5'));var sox=require('sox');var csv=require(_0xc9d3('0x6'));var ejs=require(_0xc9d3('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc9d3('0x8'));var squel=require('squel');var crypto=require(_0xc9d3('0x9'));var jsforce=require('jsforce');var deskjs=require(_0xc9d3('0xa'));var toCsv=require('to-csv');var querystring=require(_0xc9d3('0xb'));var Papa=require(_0xc9d3('0xc'));var Redis=require(_0xc9d3('0xd'));var authService=require(_0xc9d3('0xe'));var qs=require(_0xc9d3('0xf'));var as=require(_0xc9d3('0x10'));var hardwareService=require(_0xc9d3('0x11'));var logger=require(_0xc9d3('0x12'))(_0xc9d3('0x13'));var utils=require(_0xc9d3('0x14'));var config=require(_0xc9d3('0x15'));var licenseUtil=require(_0xc9d3('0x16'));var db=require(_0xc9d3('0x17'))['db'];config[_0xc9d3('0x18')]=_[_0xc9d3('0x19')](config[_0xc9d3('0x18')],{'host':_0xc9d3('0x1a'),'port':0x18eb});var socket=require(_0xc9d3('0x1b'))(new Redis(config[_0xc9d3('0x18')]));require(_0xc9d3('0x1c'))[_0xc9d3('0x1d')](socket);var jayson=require('jayson/promise');var client=jayson[_0xc9d3('0x1e')][_0xc9d3('0x1f')]({'port':0x232c});var client9002=jayson['client'][_0xc9d3('0x1f')]({'port':0x232a});function respondWithRpcPromise(_0x5914c9,_0x2f7d41,_0x2802d1,_0x55c29f){return new BPromise(function(_0x3c27e9,_0x581d42){var _0x2d6b00=_0x55c29f||client;return _0x2d6b00['request'](_0x5914c9,_0x2802d1)[_0xc9d3('0x20')](function(_0x1bc82f){logger['info']('WhatsappMessage,\x20%s,\x20%s',_0x2f7d41,_0xc9d3('0x21'));logger[_0xc9d3('0x22')](_0xc9d3('0x23'),_0x2f7d41,_0xc9d3('0x21'),JSON[_0xc9d3('0x24')](_0x1bc82f));if(_0x1bc82f[_0xc9d3('0x25')]){if(_0x1bc82f['error'][_0xc9d3('0x26')]===0x1f4){logger['error'](_0xc9d3('0x27'),_0x2f7d41,_0x1bc82f[_0xc9d3('0x25')]['message']);return _0x581d42(_0x1bc82f[_0xc9d3('0x25')][_0xc9d3('0x28')]);}logger[_0xc9d3('0x25')](_0xc9d3('0x27'),_0x2f7d41,_0x1bc82f[_0xc9d3('0x25')][_0xc9d3('0x28')]);return _0x3c27e9(_0x1bc82f[_0xc9d3('0x25')][_0xc9d3('0x28')]);}else{logger['info'](_0xc9d3('0x27'),_0x2f7d41,_0xc9d3('0x21'));_0x3c27e9(_0x1bc82f[_0xc9d3('0x29')][_0xc9d3('0x28')]);}})[_0xc9d3('0x2a')](function(_0x2316ef){logger[_0xc9d3('0x25')](_0xc9d3('0x27'),_0x2f7d41,_0x2316ef);_0x581d42(_0x2316ef);});});}function respondWithStatusCode(_0x182b95,_0x370fe0){_0x370fe0=_0x370fe0||0xcc;return function(_0x565e79){if(_0x565e79){return _0x182b95[_0xc9d3('0x2b')](_0x370fe0);}return _0x182b95['status'](_0x370fe0)[_0xc9d3('0x2c')]();};}function respondWithResult(_0x4d9af5,_0x239a87){_0x239a87=_0x239a87||0xc8;return function(_0x5103ea){if(_0x5103ea){return _0x4d9af5[_0xc9d3('0x2d')](_0x239a87)[_0xc9d3('0x2e')](_0x5103ea);}};}function respondWithFilteredResult(_0x4ea828,_0xd2aa7d){return function(_0x1655e4){if(_0x1655e4){var _0x315ecd=typeof _0xd2aa7d['offset']==='undefined'&&typeof _0xd2aa7d['limit']==='undefined';var _0xe19661=_0x1655e4[_0xc9d3('0x2f')];var _0x1d5c42=_0x315ecd?0x0:_0xd2aa7d[_0xc9d3('0x30')];var _0x2cb091=_0x315ecd?_0x1655e4['count']:_0xd2aa7d[_0xc9d3('0x30')]+_0xd2aa7d['limit'];var _0x159b7d;if(_0x2cb091>=_0xe19661){_0x2cb091=_0xe19661;_0x159b7d=0xc8;}else{_0x159b7d=0xce;}_0x4ea828[_0xc9d3('0x2d')](_0x159b7d);return _0x4ea828[_0xc9d3('0x31')](_0xc9d3('0x32'),_0x1d5c42+'-'+_0x2cb091+'/'+_0xe19661)['json'](_0x1655e4);}return null;};}function patchUpdates(_0x393366){return function(_0x5dcf04){try{jsonpatch['apply'](_0x5dcf04,_0x393366,!![]);}catch(_0x3f1761){return BPromise[_0xc9d3('0x33')](_0x3f1761);}return _0x5dcf04[_0xc9d3('0x34')]();};}function saveUpdates(_0xa9dc9a,_0x24f06b){return function(_0x631e1e){if(_0x631e1e){return _0x631e1e['update'](_0xa9dc9a)[_0xc9d3('0x20')](function(_0x3408f9){return _0x3408f9;});}return null;};}function removeEntity(_0x283ba1,_0x433ae3){return function(_0x3f4f4d){if(_0x3f4f4d){return _0x3f4f4d[_0xc9d3('0x35')]()['then'](function(){_0x283ba1[_0xc9d3('0x2d')](0xcc)[_0xc9d3('0x2c')]();});}};}function handleEntityNotFound(_0x33fa4d,_0x3ccc92){return function(_0x17a39e){if(!_0x17a39e){_0x33fa4d[_0xc9d3('0x2b')](0x194);}return _0x17a39e;};}function handleError(_0x4d47df,_0xf8e957){_0xf8e957=_0xf8e957||0x1f4;return function(_0x2843b){logger['error'](_0x2843b[_0xc9d3('0x36')]);if(_0x2843b['name']){delete _0x2843b[_0xc9d3('0x37')];}_0x4d47df[_0xc9d3('0x2d')](_0xf8e957)[_0xc9d3('0x38')](_0x2843b);};}exports[_0xc9d3('0x39')]=function(_0x119e62,_0x3d8618){var _0xcd52ce={},_0x2eb666={},_0x1e3276={'count':0x0,'rows':[]};var _0x4a7f63=_[_0xc9d3('0x3a')](db[_0xc9d3('0x3b')]['rawAttributes'],function(_0xfef501){return{'name':_0xfef501['fieldName'],'type':_0xfef501[_0xc9d3('0x3c')][_0xc9d3('0x3d')]};});_0x2eb666['model']=_[_0xc9d3('0x3a')](_0x4a7f63,_0xc9d3('0x37'));_0x2eb666['query']=_[_0xc9d3('0x3e')](_0x119e62[_0xc9d3('0x3f')]);_0x2eb666[_0xc9d3('0x40')]=_['intersection'](_0x2eb666[_0xc9d3('0x41')],_0x2eb666['query']);_0xcd52ce[_0xc9d3('0x42')]=_[_0xc9d3('0x43')](_0x2eb666[_0xc9d3('0x41')],qs['fields'](_0x119e62[_0xc9d3('0x3f')][_0xc9d3('0x44')]));_0xcd52ce[_0xc9d3('0x42')]=_0xcd52ce['attributes']['length']?_0xcd52ce[_0xc9d3('0x42')]:_0x2eb666[_0xc9d3('0x41')];if(!_0x119e62['query'][_0xc9d3('0x45')](_0xc9d3('0x46'))){_0xcd52ce[_0xc9d3('0x47')]=qs['limit'](_0x119e62[_0xc9d3('0x3f')][_0xc9d3('0x47')]);_0xcd52ce['offset']=qs[_0xc9d3('0x30')](_0x119e62['query'][_0xc9d3('0x30')]);}_0xcd52ce[_0xc9d3('0x48')]=qs[_0xc9d3('0x49')](_0x119e62[_0xc9d3('0x3f')]['sort']);_0xcd52ce['where']=qs[_0xc9d3('0x40')](_[_0xc9d3('0x4a')](_0x119e62[_0xc9d3('0x3f')],_0x2eb666[_0xc9d3('0x40')]),_0x4a7f63);if(_0x119e62['query'][_0xc9d3('0x4b')]){_0xcd52ce['where']=_[_0xc9d3('0x4c')](_0xcd52ce[_0xc9d3('0x4d')],{'$or':_[_0xc9d3('0x3a')](_0x4a7f63,function(_0x1e84c2){if(_0x1e84c2[_0xc9d3('0x3c')]!==_0xc9d3('0x4e')){var _0x4b3a18={};_0x4b3a18[_0x1e84c2[_0xc9d3('0x37')]]={'$like':'%'+_0x119e62['query'][_0xc9d3('0x4b')]+'%'};return _0x4b3a18;}})});}_0xcd52ce=_['merge']({},_0xcd52ce,_0x119e62['options']);var _0x459b91={'where':_0xcd52ce[_0xc9d3('0x4d')]};return db[_0xc9d3('0x3b')][_0xc9d3('0x2f')](_0x459b91)[_0xc9d3('0x20')](function(_0x445a6e){_0x1e3276[_0xc9d3('0x2f')]=_0x445a6e;if(_0x119e62['query'][_0xc9d3('0x4f')]){_0xcd52ce['include']=[{'all':!![]}];}return db[_0xc9d3('0x3b')][_0xc9d3('0x50')](_0xcd52ce);})[_0xc9d3('0x20')](function(_0x4321c1){_0x1e3276['rows']=_0x4321c1;return _0x1e3276;})['then'](respondWithFilteredResult(_0x3d8618,_0xcd52ce))['catch'](handleError(_0x3d8618,null));};exports[_0xc9d3('0x51')]=function(_0x157a25,_0x1a0f93){var _0x6042ba={'raw':!![],'where':{'id':_0x157a25[_0xc9d3('0x52')]['id']}},_0x1888dc={};_0x1888dc[_0xc9d3('0x41')]=_['keys'](db[_0xc9d3('0x3b')][_0xc9d3('0x53')]);_0x1888dc[_0xc9d3('0x3f')]=_['keys'](_0x157a25['query']);_0x1888dc[_0xc9d3('0x40')]=_['intersection'](_0x1888dc[_0xc9d3('0x41')],_0x1888dc[_0xc9d3('0x3f')]);_0x6042ba['attributes']=_['intersection'](_0x1888dc['model'],qs[_0xc9d3('0x44')](_0x157a25[_0xc9d3('0x3f')]['fields']));_0x6042ba[_0xc9d3('0x42')]=_0x6042ba[_0xc9d3('0x42')]['length']?_0x6042ba[_0xc9d3('0x42')]:_0x1888dc[_0xc9d3('0x41')];if(_0x157a25[_0xc9d3('0x3f')][_0xc9d3('0x4f')]){_0x6042ba[_0xc9d3('0x54')]=[{'all':!![]}];}_0x6042ba=_[_0xc9d3('0x4c')]({},_0x6042ba,_0x157a25[_0xc9d3('0x55')]);return db['WhatsappMessage'][_0xc9d3('0x56')](_0x6042ba)['then'](handleEntityNotFound(_0x1a0f93,null))[_0xc9d3('0x20')](respondWithResult(_0x1a0f93,null))[_0xc9d3('0x2a')](handleError(_0x1a0f93,null));};exports[_0xc9d3('0x57')]=function(_0x1aa31f,_0x57c4b7){return db[_0xc9d3('0x3b')][_0xc9d3('0x57')](_0x1aa31f['body'],{})['then'](respondWithResult(_0x57c4b7,0xc9))[_0xc9d3('0x2a')](handleError(_0x57c4b7,null));};exports[_0xc9d3('0x58')]=function(_0x111807,_0x1d070b){if(_0x111807[_0xc9d3('0x59')]['id']){delete _0x111807[_0xc9d3('0x59')]['id'];}return db[_0xc9d3('0x3b')]['find']({'where':{'id':_0x111807[_0xc9d3('0x52')]['id']}})[_0xc9d3('0x20')](handleEntityNotFound(_0x1d070b,null))[_0xc9d3('0x20')](saveUpdates(_0x111807[_0xc9d3('0x59')],null))[_0xc9d3('0x20')](respondWithResult(_0x1d070b,null))['catch'](handleError(_0x1d070b,null));};exports[_0xc9d3('0x35')]=function(_0x27a31a,_0x3190c4){return db[_0xc9d3('0x3b')]['find']({'where':{'id':_0x27a31a[_0xc9d3('0x52')]['id']}})[_0xc9d3('0x20')](handleEntityNotFound(_0x3190c4,null))['then'](removeEntity(_0x3190c4,null))[_0xc9d3('0x2a')](handleError(_0x3190c4,null));};exports[_0xc9d3('0x5a')]=function(_0x44042e,_0x16a980){return db['WhatsappMessage']['describe']()[_0xc9d3('0x20')](respondWithResult(_0x16a980,null))[_0xc9d3('0x2a')](handleError(_0x16a980,null));};var interaction_log=require('../../config/logger')(_0xc9d3('0x5b'));exports[_0xc9d3('0x5c')]=function(_0x230915,_0x233737,_0x3e62b5){var _0x16c043={'agent':{},'channel':'whatsapp'};if(_0x230915['body']['id']){delete _0x230915[_0xc9d3('0x59')]['id'];}_0x230915['body'][_0xc9d3('0x5d')]=!![];_0x230915[_0xc9d3('0x59')]['readAt']=moment()[_0xc9d3('0x5e')](_0xc9d3('0x5f'));_0x230915[_0xc9d3('0x59')][_0xc9d3('0x60')]=_0x230915[_0xc9d3('0x59')][_0xc9d3('0x60')]||_0x230915['user']['id'];_0x16c043[_0xc9d3('0x61')]['id']=_0x230915[_0xc9d3('0x59')]['UserId'];return db[_0xc9d3('0x3b')][_0xc9d3('0x56')]({'where':{'id':_0x230915[_0xc9d3('0x52')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x233737,null))[_0xc9d3('0x20')](saveUpdates(_0x230915[_0xc9d3('0x59')],null))['then'](function(_0x32909e){if(_0x32909e){_0x16c043[_0xc9d3('0x28')]=_0x32909e[_0xc9d3('0x62')]({'plain':!![]});return db[_0xc9d3('0x63')][_0xc9d3('0x56')]({'where':{'id':_0x32909e[_0xc9d3('0x64')]}});}return null;})[_0xc9d3('0x20')](handleEntityNotFound(_0x233737,null))[_0xc9d3('0x20')](function(_0x1f6cc8){if(_0x1f6cc8){return _0x1f6cc8[_0xc9d3('0x58')]({'UserId':_0x230915[_0xc9d3('0x59')]['UserId'],'read1stAt':_[_0xc9d3('0x65')](_0x1f6cc8[_0xc9d3('0x66')])?moment()[_0xc9d3('0x5e')](_0xc9d3('0x5f')):undefined});}return null;})[_0xc9d3('0x20')](function(_0x4e2ebd){if(_0x4e2ebd){_0x16c043[_0xc9d3('0x67')]=_0x4e2ebd[_0xc9d3('0x62')]({'plain':!![]});interaction_log[_0xc9d3('0x68')]('[WHATSAPPMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x230915['user']['id'],_0x230915[_0xc9d3('0x69')]['name'],_0x230915[_0xc9d3('0x69')][_0xc9d3('0x6a')],_0x16c043[_0xc9d3('0x67')]['id'],_0x230915[_0xc9d3('0x59')]?JSON[_0xc9d3('0x24')](_0x230915[_0xc9d3('0x59')]):_0xc9d3('0x6b'));return respondWithRpcPromise(_0xc9d3('0x6c'),_0xc9d3('0x6d'),_0x16c043);}return null;})[_0xc9d3('0x20')](function(_0x5d018a){var _0x3dc91c=_0xc9d3('0x6e')+_0x5d018a[_0xc9d3('0x28')][_0xc9d3('0x6f')];return db['sequelize'][_0xc9d3('0x3f')](_0x3dc91c,{'type':db[_0xc9d3('0x70')][_0xc9d3('0x71')][_0xc9d3('0x72')],'raw':!![]})[_0xc9d3('0x20')](function(_0x31916d){return _0x31916d;});})[_0xc9d3('0x20')](function(_0x97cec4){if(_0x97cec4){_0x16c043[_0xc9d3('0x28')][_0xc9d3('0x73')]=_0x97cec4[0x0];if(!_0x230915[_0xc9d3('0x59')][_0xc9d3('0x60')])return;return db[_0xc9d3('0x74')]['find']({'where':{'id':_0x230915[_0xc9d3('0x59')]['UserId'],'role':_0xc9d3('0x61')},'attributes':['id',_0xc9d3('0x37'),_0xc9d3('0x75'),_0xc9d3('0x76'),'internal'],'raw':!![]});}return null;})['then'](function(_0x495e24){if(!_0x495e24)return null;_0x16c043['message'][_0xc9d3('0x61')]=_0x495e24;return _0x16c043;})['then'](function(_0x1b6858){if(_0x1b6858){if(_0x230915[_0xc9d3('0x59')][_0xc9d3('0x77')]){_0x16c043[_0xc9d3('0x28')]['interface']=util['format']('SIP/%s',_0x230915['user'][_0xc9d3('0x37')]);_0x16c043[_0xc9d3('0x28')][_0xc9d3('0x78')]=_0x16c043['channel'];_0x16c043[_0xc9d3('0x28')][_0xc9d3('0x79')]=_0x16c043[_0xc9d3('0x78')];_0x16c043[_0xc9d3('0x28')][_0xc9d3('0x7a')]='accept';return respondWithRpcPromise('EventManager',_0xc9d3('0x7b'),{'event':_0xc9d3('0x7c'),'message':_0x16c043['message']},client9002)['then'](function(){return _0x16c043;});}return _0x16c043;}return null;})[_0xc9d3('0x20')](respondWithResult(_0x233737,null))['catch'](handleError(_0x233737,null));};var interaction_log=require('../../config/logger')(_0xc9d3('0x5b'));exports[_0xc9d3('0x33')]=function(_0x2c32d1,_0x35599f,_0x5aa604){var _0xa702f8={'agent':{},'channel':_0xc9d3('0x7d')};if(_0x2c32d1[_0xc9d3('0x59')]['id']){delete _0x2c32d1['body']['id'];}_0x2c32d1[_0xc9d3('0x59')][_0xc9d3('0x60')]=_0x2c32d1[_0xc9d3('0x59')][_0xc9d3('0x60')]||_0x2c32d1[_0xc9d3('0x69')]['id'];_0xa702f8[_0xc9d3('0x61')]['id']=_0x2c32d1[_0xc9d3('0x59')]['UserId'];return db[_0xc9d3('0x3b')][_0xc9d3('0x56')]({'where':{'id':_0x2c32d1[_0xc9d3('0x52')]['id'],'UserId':null}})[_0xc9d3('0x20')](handleEntityNotFound(_0x35599f,null))[_0xc9d3('0x20')](function(_0x236d52){if(_0x236d52){_0xa702f8[_0xc9d3('0x28')]=_0x236d52[_0xc9d3('0x62')]({'plain':!![]});return db[_0xc9d3('0x63')][_0xc9d3('0x56')]({'where':{'id':_0x236d52[_0xc9d3('0x64')]}});}return null;})['then'](handleEntityNotFound(_0x35599f,null))['then'](function(_0x1497fb){if(_0x1497fb){_0xa702f8['interaction']=_0x1497fb[_0xc9d3('0x62')]({'plain':!![]});interaction_log[_0xc9d3('0x68')]('[WHATSAPPMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x2c32d1[_0xc9d3('0x69')]['id'],_0x2c32d1[_0xc9d3('0x69')][_0xc9d3('0x37')],_0x2c32d1[_0xc9d3('0x69')][_0xc9d3('0x6a')],_0xa702f8['interaction']['id'],_0x2c32d1[_0xc9d3('0x59')]?JSON[_0xc9d3('0x24')](_0x2c32d1['body']):_0xc9d3('0x6b'));return respondWithRpcPromise(_0xc9d3('0x7e'),_0xc9d3('0x7f'),_0xa702f8);}return null;})[_0xc9d3('0x20')](function(_0x68b201){var _0x1c324b='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x68b201['message'][_0xc9d3('0x6f')];return db[_0xc9d3('0x80')]['query'](_0x1c324b,{'type':db[_0xc9d3('0x70')][_0xc9d3('0x71')][_0xc9d3('0x72')],'raw':!![]})[_0xc9d3('0x20')](function(_0x312340){return _0x312340;});})['then'](function(_0x3f1547){if(_0x3f1547){_0xa702f8[_0xc9d3('0x28')][_0xc9d3('0x73')]=_0x3f1547[0x0];if(!_0x2c32d1['body']['UserId'])return;return db[_0xc9d3('0x74')][_0xc9d3('0x56')]({'where':{'id':_0x2c32d1[_0xc9d3('0x59')][_0xc9d3('0x60')],'role':_0xc9d3('0x61')},'attributes':['id',_0xc9d3('0x37'),'fullname',_0xc9d3('0x76'),'internal'],'raw':!![]});}return null;})[_0xc9d3('0x20')](function(_0x19191c){if(!_0x19191c)return null;_0xa702f8[_0xc9d3('0x28')][_0xc9d3('0x61')]=_0x19191c;return _0xa702f8;})[_0xc9d3('0x20')](function(_0x56c9fb){if(_0x56c9fb){_0x56c9fb[_0xc9d3('0x28')][_0xc9d3('0x81')]=util['format'](_0xc9d3('0x82'),_0x2c32d1['user']['name']);_0x56c9fb[_0xc9d3('0x28')]['channel']=_0xa702f8[_0xc9d3('0x78')];_0x56c9fb['message']['motionChannel']=_0xa702f8[_0xc9d3('0x78')];_0x56c9fb[_0xc9d3('0x28')][_0xc9d3('0x7a')]=_0xc9d3('0x33');respondWithRpcPromise(_0xc9d3('0x7b'),_0xc9d3('0x7b'),{'event':_0xc9d3('0x83'),'message':_0x56c9fb['message']},client9002);return _0xa702f8;}return null;})[_0xc9d3('0x20')](respondWithResult(_0x35599f,null))[_0xc9d3('0x2a')](handleError(_0x35599f,null));};exports[_0xc9d3('0x2d')]=function(_0x143a03,_0x13de34,_0xf0b57e){if(_0x143a03[_0xc9d3('0x59')]['id']){delete _0x143a03['body']['id'];}var _0x3e7bc4;return db[_0xc9d3('0x3b')][_0xc9d3('0x56')]({'where':{'id':_0x143a03[_0xc9d3('0x52')]['id']}})[_0xc9d3('0x20')](handleEntityNotFound(_0x13de34,null))['then'](function(_0x5f13e7){if(_0x5f13e7){_0x3e7bc4=_0x5f13e7;return db[_0xc9d3('0x84')]['find']({'where':{'id':_0x5f13e7[_0xc9d3('0x85')]}});}})[_0xc9d3('0x20')](handleEntityNotFound(_0x13de34,null))[_0xc9d3('0x20')](function(_0xf9094){if(_0xf9094){logger[_0xc9d3('0x22')](_0xc9d3('0x86'),_0xc9d3('0x2d'),'received\x20delivery\x20report\x20from',_0xf9094[_0xc9d3('0x3c')],util[_0xc9d3('0x87')](_0x143a03[_0xc9d3('0x59')],{'showHidden':![],'depth':null}));switch(_0xf9094['type']){case _0xc9d3('0x88'):if(_0x143a03[_0xc9d3('0x59')][_0xc9d3('0x89')]&&_0x143a03['body'][_0xc9d3('0x89')]===_0x3e7bc4[_0xc9d3('0x8a')]&&_0x143a03[_0xc9d3('0x59')]['MessageStatus']&&_0x143a03[_0xc9d3('0x59')][_0xc9d3('0x8b')]===_0xc9d3('0x5d')){return _0x3e7bc4['update']({'read':!![]});}else{logger[_0xc9d3('0x25')](_0xc9d3('0x8c'),'status',_0xc9d3('0x88'),util[_0xc9d3('0x87')](_0x143a03['body'],{'showHidden':![],'depth':null}));}break;}return _0x3e7bc4;}})[_0xc9d3('0x20')](respondWithResult(_0x13de34,null))[_0xc9d3('0x2a')](handleError(_0x13de34,null));};