Built motion from commit 3c2ce842.|2.6.31
[motion2.git] / server / api / chatMessage / chatMessage.controller.js
index 81f7037..56c8188 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x4fec=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','client','http','request','then','request\x20sent','debug','ChatMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','ChatMessage,\x20%s,\x20%s','message','info','result','catch','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','stack','name','send','ChatMessage','fieldName','type','key','model','map','filters','intersection','query','attributes','fields','length','hasOwnProperty','limit','order','sort','pick','filter','merge','where','VIRTUAL','options','includeAll','rows','params','keys','include','find','create','body','destroy','describe','read','readAt','YYYY-MM-DD\x20HH:mm:ss','UserId','user','CmContact','Contact','get','ChatInteraction','ChatInteractionId','isNil','format','[CHATMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','interaction','null','AcceptMessage','acceptMessage','manual','interface','SIP/%s','channel','accept','EventManager','parse','formData','chat-interactions','chat','RejectMessage','rejectMessage','html-pdf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','crypto'];(function(_0x1814ea,_0x2d3632){var _0x1be792=function(_0x91d1a5){while(--_0x91d1a5){_0x1814ea['push'](_0x1814ea['shift']());}};_0x1be792(++_0x2d3632);}(_0x4fec,0xe7));var _0xc4fe=function(_0x53ad58,_0x3fb489){_0x53ad58=_0x53ad58-0x0;var _0x554b03=_0x4fec[_0x53ad58];return _0x554b03;};'use strict';var pdf=require(_0xc4fe('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc4fe('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xc4fe('0x2'));var moment=require(_0xc4fe('0x3'));var BPromise=require(_0xc4fe('0x4'));var Mustache=require('mustache');var util=require(_0xc4fe('0x5'));var path=require(_0xc4fe('0x6'));var sox=require(_0xc4fe('0x7'));var csv=require(_0xc4fe('0x8'));var ejs=require(_0xc4fe('0x9'));var fs=require('fs');var _=require(_0xc4fe('0xa'));var squel=require(_0xc4fe('0xb'));var crypto=require(_0xc4fe('0xc'));var jsforce=require(_0xc4fe('0xd'));var deskjs=require(_0xc4fe('0xe'));var toCsv=require('to-csv');var querystring=require(_0xc4fe('0xf'));var Papa=require(_0xc4fe('0x10'));var Redis=require(_0xc4fe('0x11'));var authService=require(_0xc4fe('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xc4fe('0x13'));var hardwareService=require(_0xc4fe('0x14'));var logger=require(_0xc4fe('0x15'))(_0xc4fe('0x16'));var utils=require(_0xc4fe('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xc4fe('0x18'));var db=require(_0xc4fe('0x19'))['db'];config[_0xc4fe('0x1a')]=_[_0xc4fe('0x1b')](config[_0xc4fe('0x1a')],{'host':_0xc4fe('0x1c'),'port':0x18eb});var socket=require(_0xc4fe('0x1d'))(new Redis(config[_0xc4fe('0x1a')]));require('./chatMessage.socket')[_0xc4fe('0x1e')](socket);var jayson=require('jayson/promise');var client=jayson[_0xc4fe('0x1f')][_0xc4fe('0x20')]({'port':0x232c});var client9002=jayson[_0xc4fe('0x1f')]['http']({'port':0x232a});function respondWithRpcPromise(_0x28b090,_0x2ea639,_0x105b57,_0x5cff78){return new BPromise(function(_0x22767d,_0x29d94b){var _0x257506=_0x5cff78||client;return _0x257506[_0xc4fe('0x21')](_0x28b090,_0x105b57)[_0xc4fe('0x22')](function(_0xaad675){logger['info']('ChatMessage,\x20%s,\x20%s',_0x2ea639,_0xc4fe('0x23'));logger[_0xc4fe('0x24')](_0xc4fe('0x25'),_0x2ea639,'request\x20sent',JSON[_0xc4fe('0x26')](_0xaad675));if(_0xaad675[_0xc4fe('0x27')]){if(_0xaad675['error'][_0xc4fe('0x28')]===0x1f4){logger['error'](_0xc4fe('0x29'),_0x2ea639,_0xaad675[_0xc4fe('0x27')][_0xc4fe('0x2a')]);return _0x29d94b(_0xaad675[_0xc4fe('0x27')]['message']);}logger[_0xc4fe('0x27')](_0xc4fe('0x29'),_0x2ea639,_0xaad675[_0xc4fe('0x27')][_0xc4fe('0x2a')]);return _0x22767d(_0xaad675['error'][_0xc4fe('0x2a')]);}else{logger[_0xc4fe('0x2b')](_0xc4fe('0x29'),_0x2ea639,_0xc4fe('0x23'));_0x22767d(_0xaad675[_0xc4fe('0x2c')]['message']);}})[_0xc4fe('0x2d')](function(_0x321544){logger[_0xc4fe('0x27')](_0xc4fe('0x29'),_0x2ea639,_0x321544);_0x29d94b(_0x321544);});});}function respondWithStatusCode(_0x5954cb,_0x4c0f2d){_0x4c0f2d=_0x4c0f2d||0xcc;return function(_0x3d9cfb){if(_0x3d9cfb){return _0x5954cb['sendStatus'](_0x4c0f2d);}return _0x5954cb[_0xc4fe('0x2e')](_0x4c0f2d)[_0xc4fe('0x2f')]();};}function respondWithResult(_0x23e6a4,_0x4afabf){_0x4afabf=_0x4afabf||0xc8;return function(_0x3f321c){if(_0x3f321c){return _0x23e6a4['status'](_0x4afabf)[_0xc4fe('0x30')](_0x3f321c);}};}function respondWithFilteredResult(_0xf91cb9,_0x1859ef){return function(_0x4f4436){if(_0x4f4436){var _0x197612=_0x4f4436[_0xc4fe('0x31')],_0x4ed612=_0x1859ef[_0xc4fe('0x32')],_0x5c5fe0=_0x1859ef['offset']+_0x1859ef['limit'],_0x372f53;if(_0x5c5fe0>=_0x197612){_0x5c5fe0=_0x197612;_0x372f53=0xc8;}else{_0x372f53=0xce;}_0xf91cb9[_0xc4fe('0x2e')](_0x372f53);return _0xf91cb9[_0xc4fe('0x33')](_0xc4fe('0x34'),_0x4ed612+'-'+_0x5c5fe0+'/'+_0x197612)[_0xc4fe('0x30')](_0x4f4436);}return null;};}function patchUpdates(_0x298c7c){return function(_0x4349aa){try{jsonpatch[_0xc4fe('0x35')](_0x4349aa,_0x298c7c,!![]);}catch(_0x4b5f5d){return BPromise[_0xc4fe('0x36')](_0x4b5f5d);}return _0x4349aa[_0xc4fe('0x37')]();};}function saveUpdates(_0xd5da39,_0x205b52){return function(_0x3ec0b6){if(_0x3ec0b6){return _0x3ec0b6[_0xc4fe('0x38')](_0xd5da39)[_0xc4fe('0x22')](function(_0x290089){return _0x290089;});}return null;};}function removeEntity(_0x146da0,_0x2621c2){return function(_0x4d315a){if(_0x4d315a){return _0x4d315a['destroy']()[_0xc4fe('0x22')](function(){_0x146da0[_0xc4fe('0x2e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4f4321,_0x550ab0){return function(_0x1dfe76){if(!_0x1dfe76){_0x4f4321['sendStatus'](0x194);}return _0x1dfe76;};}function handleError(_0x460a5d,_0x12393a){_0x12393a=_0x12393a||0x1f4;return function(_0x3a7da3){logger[_0xc4fe('0x27')](_0x3a7da3[_0xc4fe('0x39')]);if(_0x3a7da3['name']){delete _0x3a7da3[_0xc4fe('0x3a')];}_0x460a5d[_0xc4fe('0x2e')](_0x12393a)[_0xc4fe('0x3b')](_0x3a7da3);};}exports['index']=function(_0xdfd100,_0x2fcd44){var _0x1e566b={},_0x3ee774={},_0x302a9e={'count':0x0,'rows':[]};var _0x51a294=_['map'](db[_0xc4fe('0x3c')]['rawAttributes'],function(_0x1e2eb0){return{'name':_0x1e2eb0[_0xc4fe('0x3d')],'type':_0x1e2eb0[_0xc4fe('0x3e')][_0xc4fe('0x3f')]};});_0x3ee774[_0xc4fe('0x40')]=_[_0xc4fe('0x41')](_0x51a294,_0xc4fe('0x3a'));_0x3ee774['query']=_['keys'](_0xdfd100['query']);_0x3ee774[_0xc4fe('0x42')]=_[_0xc4fe('0x43')](_0x3ee774[_0xc4fe('0x40')],_0x3ee774[_0xc4fe('0x44')]);_0x1e566b[_0xc4fe('0x45')]=_[_0xc4fe('0x43')](_0x3ee774['model'],qs['fields'](_0xdfd100[_0xc4fe('0x44')][_0xc4fe('0x46')]));_0x1e566b['attributes']=_0x1e566b['attributes'][_0xc4fe('0x47')]?_0x1e566b[_0xc4fe('0x45')]:_0x3ee774[_0xc4fe('0x40')];if(!_0xdfd100[_0xc4fe('0x44')][_0xc4fe('0x48')]('nolimit')){_0x1e566b[_0xc4fe('0x49')]=qs[_0xc4fe('0x49')](_0xdfd100['query'][_0xc4fe('0x49')]);_0x1e566b[_0xc4fe('0x32')]=qs[_0xc4fe('0x32')](_0xdfd100['query'][_0xc4fe('0x32')]);}_0x1e566b[_0xc4fe('0x4a')]=qs[_0xc4fe('0x4b')](_0xdfd100['query'][_0xc4fe('0x4b')]);_0x1e566b['where']=qs['filters'](_[_0xc4fe('0x4c')](_0xdfd100[_0xc4fe('0x44')],_0x3ee774[_0xc4fe('0x42')]),_0x51a294);if(_0xdfd100[_0xc4fe('0x44')][_0xc4fe('0x4d')]){_0x1e566b['where']=_[_0xc4fe('0x4e')](_0x1e566b[_0xc4fe('0x4f')],{'$or':_[_0xc4fe('0x41')](_0x51a294,function(_0x3acbc6){if(_0x3acbc6['type']!==_0xc4fe('0x50')){var _0x57cc96={};_0x57cc96[_0x3acbc6['name']]={'$like':'%'+_0xdfd100[_0xc4fe('0x44')][_0xc4fe('0x4d')]+'%'};return _0x57cc96;}})});}_0x1e566b=_[_0xc4fe('0x4e')]({},_0x1e566b,_0xdfd100[_0xc4fe('0x51')]);var _0x5e7dea={'where':_0x1e566b[_0xc4fe('0x4f')]};return db['ChatMessage'][_0xc4fe('0x31')](_0x5e7dea)[_0xc4fe('0x22')](function(_0x2517f7){_0x302a9e['count']=_0x2517f7;if(_0xdfd100[_0xc4fe('0x44')][_0xc4fe('0x52')]){_0x1e566b['include']=[{'all':!![]}];}return db[_0xc4fe('0x3c')]['findAll'](_0x1e566b);})[_0xc4fe('0x22')](function(_0x3854bf){_0x302a9e[_0xc4fe('0x53')]=_0x3854bf;return _0x302a9e;})[_0xc4fe('0x22')](respondWithFilteredResult(_0x2fcd44,_0x1e566b))[_0xc4fe('0x2d')](handleError(_0x2fcd44,null));};exports['show']=function(_0x5b8f0e,_0x599d16){var _0x13db63={'raw':!![],'where':{'id':_0x5b8f0e[_0xc4fe('0x54')]['id']}},_0x1aeae8={};_0x1aeae8['model']=_[_0xc4fe('0x55')](db[_0xc4fe('0x3c')]['rawAttributes']);_0x1aeae8[_0xc4fe('0x44')]=_['keys'](_0x5b8f0e[_0xc4fe('0x44')]);_0x1aeae8['filters']=_[_0xc4fe('0x43')](_0x1aeae8[_0xc4fe('0x40')],_0x1aeae8['query']);_0x13db63[_0xc4fe('0x45')]=_[_0xc4fe('0x43')](_0x1aeae8[_0xc4fe('0x40')],qs['fields'](_0x5b8f0e['query'][_0xc4fe('0x46')]));_0x13db63[_0xc4fe('0x45')]=_0x13db63['attributes'][_0xc4fe('0x47')]?_0x13db63[_0xc4fe('0x45')]:_0x1aeae8[_0xc4fe('0x40')];if(_0x5b8f0e[_0xc4fe('0x44')][_0xc4fe('0x52')]){_0x13db63[_0xc4fe('0x56')]=[{'all':!![]}];}_0x13db63=_[_0xc4fe('0x4e')]({},_0x13db63,_0x5b8f0e['options']);return db[_0xc4fe('0x3c')][_0xc4fe('0x57')](_0x13db63)[_0xc4fe('0x22')](handleEntityNotFound(_0x599d16,null))[_0xc4fe('0x22')](respondWithResult(_0x599d16,null))[_0xc4fe('0x2d')](handleError(_0x599d16,null));};exports[_0xc4fe('0x58')]=function(_0x6c231f,_0xf22921){return db['ChatMessage']['create'](_0x6c231f[_0xc4fe('0x59')],{})['then'](respondWithResult(_0xf22921,0xc9))[_0xc4fe('0x2d')](handleError(_0xf22921,null));};exports[_0xc4fe('0x38')]=function(_0x4cdcd4,_0x29dc28){if(_0x4cdcd4[_0xc4fe('0x59')]['id']){delete _0x4cdcd4[_0xc4fe('0x59')]['id'];}return db['ChatMessage'][_0xc4fe('0x57')]({'where':{'id':_0x4cdcd4[_0xc4fe('0x54')]['id']}})['then'](handleEntityNotFound(_0x29dc28,null))[_0xc4fe('0x22')](saveUpdates(_0x4cdcd4[_0xc4fe('0x59')],null))[_0xc4fe('0x22')](respondWithResult(_0x29dc28,null))[_0xc4fe('0x2d')](handleError(_0x29dc28,null));};exports[_0xc4fe('0x5a')]=function(_0x10e808,_0x3cf0c7){return db[_0xc4fe('0x3c')][_0xc4fe('0x57')]({'where':{'id':_0x10e808[_0xc4fe('0x54')]['id']}})[_0xc4fe('0x22')](handleEntityNotFound(_0x3cf0c7,null))[_0xc4fe('0x22')](removeEntity(_0x3cf0c7,null))[_0xc4fe('0x2d')](handleError(_0x3cf0c7,null));};exports[_0xc4fe('0x5b')]=function(_0x184951,_0x2fa405){return db[_0xc4fe('0x3c')]['describe']()[_0xc4fe('0x22')](respondWithResult(_0x2fa405,null))['catch'](handleError(_0x2fa405,null));};var interaction_log=require(_0xc4fe('0x15'))('chat-interactions');exports['accept']=function(_0x47f6b7,_0x36d46c,_0x4afba3){var _0xb2c239={'channel':'chat'};if(_0x47f6b7[_0xc4fe('0x59')]['id']){delete _0x47f6b7['body']['id'];}_0x47f6b7['body'][_0xc4fe('0x5c')]=!![];_0x47f6b7[_0xc4fe('0x59')][_0xc4fe('0x5d')]=moment()['format'](_0xc4fe('0x5e'));_0x47f6b7[_0xc4fe('0x59')][_0xc4fe('0x5f')]=_0x47f6b7[_0xc4fe('0x59')][_0xc4fe('0x5f')]||_0x47f6b7[_0xc4fe('0x60')]['id'];return db[_0xc4fe('0x3c')][_0xc4fe('0x57')]({'where':{'id':_0x47f6b7[_0xc4fe('0x54')]['id'],'UserId':null},'include':[{'model':db[_0xc4fe('0x61')],'as':_0xc4fe('0x62')}]})[_0xc4fe('0x22')](handleEntityNotFound(_0x36d46c,null))[_0xc4fe('0x22')](saveUpdates(_0x47f6b7[_0xc4fe('0x59')],null))[_0xc4fe('0x22')](function(_0x4e45df){if(_0x4e45df){_0xb2c239['message']=_0x4e45df[_0xc4fe('0x63')]({'plain':!![]});return db[_0xc4fe('0x64')][_0xc4fe('0x57')]({'where':{'id':_0x4e45df[_0xc4fe('0x65')]}});}return null;})[_0xc4fe('0x22')](handleEntityNotFound(_0x36d46c,null))['then'](function(_0x92ca4f){if(_0x92ca4f){return _0x92ca4f[_0xc4fe('0x38')]({'UserId':_0x47f6b7['body'][_0xc4fe('0x5f')],'read1stAt':_[_0xc4fe('0x66')](_0x92ca4f['read1stAt'])?moment()[_0xc4fe('0x67')](_0xc4fe('0x5e')):undefined});}return null;})['then'](function(_0x22f519){if(_0x22f519){_0xb2c239['interaction']=_0x22f519[_0xc4fe('0x63')]({'plain':!![]});interaction_log[_0xc4fe('0x2b')](_0xc4fe('0x68'),_0x47f6b7[_0xc4fe('0x60')]['id'],_0x47f6b7[_0xc4fe('0x60')][_0xc4fe('0x3a')],_0x47f6b7[_0xc4fe('0x60')][_0xc4fe('0x69')],_0xb2c239[_0xc4fe('0x6a')]['id'],_0x47f6b7[_0xc4fe('0x59')]?JSON[_0xc4fe('0x26')](_0x47f6b7[_0xc4fe('0x59')]):_0xc4fe('0x6b'));return respondWithRpcPromise(_0xc4fe('0x6c'),_0xc4fe('0x6d'),_0xb2c239);}return null;})[_0xc4fe('0x22')](function(_0x65baa5){if(_0x65baa5){if(_0x47f6b7['body'][_0xc4fe('0x6e')]){_0xb2c239[_0xc4fe('0x2a')][_0xc4fe('0x6f')]=util['format'](_0xc4fe('0x70'),_0x47f6b7[_0xc4fe('0x60')][_0xc4fe('0x3a')]);_0xb2c239[_0xc4fe('0x2a')][_0xc4fe('0x71')]=_0xb2c239['channel'];_0xb2c239[_0xc4fe('0x2a')]['event']=_0xc4fe('0x72');return respondWithRpcPromise(_0xc4fe('0x73'),'EventManager',{'event':'acceptmessage','message':_[_0xc4fe('0x4e')](_0xb2c239[_0xc4fe('0x2a')],JSON[_0xc4fe('0x74')](_0xb2c239[_0xc4fe('0x6a')][_0xc4fe('0x75')]))},client9002)[_0xc4fe('0x22')](function(){return _0xb2c239;});}return _0xb2c239;}return null;})['then'](respondWithResult(_0x36d46c,null))['catch'](handleError(_0x36d46c,null));};var interaction_log=require('../../config/logger')(_0xc4fe('0x76'));exports[_0xc4fe('0x36')]=function(_0x148a3f,_0x40b566,_0x1ed2b5){var _0x6ad39c={'agent':{},'channel':_0xc4fe('0x77')};if(_0x148a3f[_0xc4fe('0x59')]['id']){delete _0x148a3f[_0xc4fe('0x59')]['id'];}_0x148a3f[_0xc4fe('0x59')][_0xc4fe('0x5f')]=_0x148a3f[_0xc4fe('0x59')][_0xc4fe('0x5f')]||_0x148a3f[_0xc4fe('0x60')]['id'];_0x6ad39c['agent']['id']=_0x148a3f[_0xc4fe('0x59')][_0xc4fe('0x5f')];return db[_0xc4fe('0x3c')]['find']({'where':{'id':_0x148a3f[_0xc4fe('0x54')]['id'],'UserId':null}})[_0xc4fe('0x22')](handleEntityNotFound(_0x40b566,null))['then'](function(_0x32c9e9){if(_0x32c9e9){_0x6ad39c['message']=_0x32c9e9[_0xc4fe('0x63')]({'plain':!![]});return db[_0xc4fe('0x64')][_0xc4fe('0x57')]({'where':{'id':_0x32c9e9[_0xc4fe('0x65')]}});}return null;})[_0xc4fe('0x22')](handleEntityNotFound(_0x40b566,null))[_0xc4fe('0x22')](function(_0x29db2f){if(_0x29db2f){_0x6ad39c[_0xc4fe('0x6a')]=_0x29db2f[_0xc4fe('0x63')]({'plain':!![]});interaction_log[_0xc4fe('0x2b')]('[CHATMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x148a3f[_0xc4fe('0x60')]['id'],_0x148a3f[_0xc4fe('0x60')]['name'],_0x148a3f[_0xc4fe('0x60')]['role'],_0x6ad39c[_0xc4fe('0x6a')]['id'],_0x148a3f['body']?JSON[_0xc4fe('0x26')](_0x148a3f[_0xc4fe('0x59')]):_0xc4fe('0x6b'));return respondWithRpcPromise(_0xc4fe('0x78'),_0xc4fe('0x79'),_0x6ad39c);}return null;})['then'](function(_0x354261){if(_0x354261){_0x354261[_0xc4fe('0x2a')][_0xc4fe('0x6f')]=util[_0xc4fe('0x67')](_0xc4fe('0x70'),_0x148a3f['user'][_0xc4fe('0x3a')]);_0x354261['message']['channel']=_0x6ad39c[_0xc4fe('0x71')];_0x354261['message']['event']='reject';respondWithRpcPromise(_0xc4fe('0x73'),_0xc4fe('0x73'),{'event':'rejectmessage','message':_0x354261[_0xc4fe('0x2a')]},client9002);return _0x6ad39c;}return null;})[_0xc4fe('0x22')](respondWithResult(_0x40b566,null))[_0xc4fe('0x2d')](handleError(_0x40b566,null));};
\ No newline at end of file
+var _0xa236=['ChatMessage,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','ChatMessage,\x20%s,\x20%s','message','catch','status','offset','undefined','limit','count','set','Content-Range','destroy','name','send','index','map','ChatMessage','rawAttributes','fieldName','type','key','model','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','include','rows','show','params','keys','includeAll','create','body','update','find','describe','accept','chat','acceptMessage','agent','UserId','get','ChatInteraction','interaction','[CHATMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','user','role','stringify','null','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','SELECT','contact','User','fullname','internal','interface','format','SIP/%s','motionChannel','reject','EventManager','parse','formData','util','lodash','../../components/interaction/service','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','localhost','socket.io-emitter','./chatMessage.socket','register','jayson/promise','client','http','chat-interactions','request','then','info','debug'];(function(_0x2125f0,_0x2f23b9){var _0x12d6eb=function(_0x7a43ea){while(--_0x7a43ea){_0x2125f0['push'](_0x2125f0['shift']());}};_0x12d6eb(++_0x2f23b9);}(_0xa236,0x1e4));var _0x6a23=function(_0x5c6061,_0x5bb492){_0x5c6061=_0x5c6061-0x0;var _0x396143=_0xa236[_0x5c6061];return _0x396143;};'use strict';var util=require(_0x6a23('0x0'));var _=require(_0x6a23('0x1'));var Redis=require('ioredis');var interactionService=require(_0x6a23('0x2'));var qs=require(_0x6a23('0x3'));var logger=require(_0x6a23('0x4'))(_0x6a23('0x5'));var config=require(_0x6a23('0x6'));var db=require('../../mysqldb')['db'];config[_0x6a23('0x7')]=_[_0x6a23('0x8')](config[_0x6a23('0x7')],{'host':_0x6a23('0x9'),'port':0x18eb});var socket=require(_0x6a23('0xa'))(new Redis(config[_0x6a23('0x7')]));require(_0x6a23('0xb'))[_0x6a23('0xc')](socket);var jayson=require(_0x6a23('0xd'));var client=jayson[_0x6a23('0xe')][_0x6a23('0xf')]({'port':0x232c});var client9002=jayson[_0x6a23('0xe')][_0x6a23('0xf')]({'port':0x232a});var interaction_log=require(_0x6a23('0x4'))(_0x6a23('0x10'));function respondWithRpcPromise(_0xf30835,_0x6f10d1,_0x16d619,_0x2cdbc5){return new Promise(function(_0x129770,_0x2550c7){var _0x7be8ef=_0x2cdbc5||client;return _0x7be8ef[_0x6a23('0x11')](_0xf30835,_0x16d619)[_0x6a23('0x12')](function(_0x460c19){logger[_0x6a23('0x13')]('ChatMessage,\x20%s,\x20%s',_0x6f10d1,'request\x20sent');logger[_0x6a23('0x14')](_0x6a23('0x15'),_0x6f10d1,_0x6a23('0x16'),JSON['stringify'](_0x460c19));if(_0x460c19['error']){if(_0x460c19[_0x6a23('0x17')][_0x6a23('0x18')]===0x1f4){logger['error'](_0x6a23('0x19'),_0x6f10d1,_0x460c19['error'][_0x6a23('0x1a')]);return _0x2550c7(_0x460c19['error'][_0x6a23('0x1a')]);}logger[_0x6a23('0x17')](_0x6a23('0x19'),_0x6f10d1,_0x460c19[_0x6a23('0x17')]['message']);return _0x129770(_0x460c19['error']['message']);}else{logger['info'](_0x6a23('0x19'),_0x6f10d1,_0x6a23('0x16'));_0x129770(_0x460c19['result'][_0x6a23('0x1a')]);}})[_0x6a23('0x1b')](function(_0x1bd598){logger[_0x6a23('0x17')](_0x6a23('0x19'),_0x6f10d1,_0x1bd598);_0x2550c7(_0x1bd598);});});}function respondWithResult(_0x47a754,_0x2b90bf){_0x2b90bf=_0x2b90bf||0xc8;return function(_0x3c1332){if(_0x3c1332){return _0x47a754[_0x6a23('0x1c')](_0x2b90bf)['json'](_0x3c1332);}};}function respondWithFilteredResult(_0x4d0331,_0x2fccf3){return function(_0x37f403){if(_0x37f403){var _0x317f7e=typeof _0x2fccf3[_0x6a23('0x1d')]===_0x6a23('0x1e')&&typeof _0x2fccf3[_0x6a23('0x1f')]===_0x6a23('0x1e');var _0x48de6f=_0x37f403[_0x6a23('0x20')];var _0x128418=_0x317f7e?0x0:_0x2fccf3[_0x6a23('0x1d')];var _0x4cdcd7=_0x317f7e?_0x37f403['count']:_0x2fccf3['offset']+_0x2fccf3[_0x6a23('0x1f')];var _0x38ebd8;if(_0x4cdcd7>=_0x48de6f){_0x4cdcd7=_0x48de6f;_0x38ebd8=0xc8;}else{_0x38ebd8=0xce;}_0x4d0331[_0x6a23('0x1c')](_0x38ebd8);return _0x4d0331[_0x6a23('0x21')](_0x6a23('0x22'),_0x128418+'-'+_0x4cdcd7+'/'+_0x48de6f)['json'](_0x37f403);}return null;};}function saveUpdates(_0x5ab977){return function(_0x23a4f4){if(_0x23a4f4){return _0x23a4f4['update'](_0x5ab977)['then'](function(_0x2d9ab1){return _0x2d9ab1;});}return null;};}function removeEntity(_0x2dadc9){return function(_0x176853){if(_0x176853){return _0x176853[_0x6a23('0x23')]()[_0x6a23('0x12')](function(){_0x2dadc9['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xef6300){return function(_0x1d6446){if(!_0x1d6446){_0xef6300['sendStatus'](0x194);}return _0x1d6446;};}function handleError(_0x212646,_0x45b81d){_0x45b81d=_0x45b81d||0x1f4;return function(_0x3f2735){logger[_0x6a23('0x17')](_0x3f2735['stack']);if(_0x3f2735[_0x6a23('0x24')]){delete _0x3f2735[_0x6a23('0x24')];}_0x212646['status'](_0x45b81d)[_0x6a23('0x25')](_0x3f2735);};}exports[_0x6a23('0x26')]=function(_0x4656f1,_0x48ffcb){var _0x1a3c12={},_0x2bcecd={},_0x50c71d={'count':0x0,'rows':[]};var _0x527cef=_[_0x6a23('0x27')](db[_0x6a23('0x28')][_0x6a23('0x29')],function(_0x58bef6){return{'name':_0x58bef6[_0x6a23('0x2a')],'type':_0x58bef6[_0x6a23('0x2b')][_0x6a23('0x2c')]};});_0x2bcecd[_0x6a23('0x2d')]=_['map'](_0x527cef,_0x6a23('0x24'));_0x2bcecd[_0x6a23('0x2e')]=_['keys'](_0x4656f1[_0x6a23('0x2e')]);_0x2bcecd[_0x6a23('0x2f')]=_['intersection'](_0x2bcecd['model'],_0x2bcecd[_0x6a23('0x2e')]);_0x1a3c12[_0x6a23('0x30')]=_[_0x6a23('0x31')](_0x2bcecd['model'],qs[_0x6a23('0x32')](_0x4656f1[_0x6a23('0x2e')][_0x6a23('0x32')]));_0x1a3c12[_0x6a23('0x30')]=_0x1a3c12[_0x6a23('0x30')][_0x6a23('0x33')]?_0x1a3c12[_0x6a23('0x30')]:_0x2bcecd[_0x6a23('0x2d')];if(!_0x4656f1[_0x6a23('0x2e')][_0x6a23('0x34')](_0x6a23('0x35'))){_0x1a3c12['limit']=qs[_0x6a23('0x1f')](_0x4656f1[_0x6a23('0x2e')][_0x6a23('0x1f')]);_0x1a3c12[_0x6a23('0x1d')]=qs[_0x6a23('0x1d')](_0x4656f1['query'][_0x6a23('0x1d')]);}_0x1a3c12['order']=qs['sort'](_0x4656f1[_0x6a23('0x2e')][_0x6a23('0x36')]);_0x1a3c12[_0x6a23('0x37')]=qs[_0x6a23('0x2f')](_[_0x6a23('0x38')](_0x4656f1[_0x6a23('0x2e')],_0x2bcecd[_0x6a23('0x2f')]),_0x527cef);if(_0x4656f1[_0x6a23('0x2e')][_0x6a23('0x39')]){_0x1a3c12[_0x6a23('0x37')]=_['merge'](_0x1a3c12[_0x6a23('0x37')],{'$or':_[_0x6a23('0x27')](_0x527cef,function(_0x4ccfff){if(_0x4ccfff[_0x6a23('0x2b')]!==_0x6a23('0x3a')){var _0x274bf6={};_0x274bf6[_0x4ccfff[_0x6a23('0x24')]]={'$like':'%'+_0x4656f1[_0x6a23('0x2e')][_0x6a23('0x39')]+'%'};return _0x274bf6;}})});}_0x1a3c12=_[_0x6a23('0x3b')]({},_0x1a3c12,_0x4656f1[_0x6a23('0x3c')]);var _0x57c68c={'where':_0x1a3c12[_0x6a23('0x37')]};return db[_0x6a23('0x28')][_0x6a23('0x20')](_0x57c68c)[_0x6a23('0x12')](function(_0x16e42f){_0x50c71d['count']=_0x16e42f;if(_0x4656f1[_0x6a23('0x2e')]['includeAll']){_0x1a3c12[_0x6a23('0x3d')]=[{'all':!![]}];}return db[_0x6a23('0x28')]['findAll'](_0x1a3c12);})[_0x6a23('0x12')](function(_0x2ff62f){_0x50c71d[_0x6a23('0x3e')]=_0x2ff62f;return _0x50c71d;})['then'](respondWithFilteredResult(_0x48ffcb,_0x1a3c12))[_0x6a23('0x1b')](handleError(_0x48ffcb,null));};exports[_0x6a23('0x3f')]=function(_0x22dfc5,_0x4acd1e){var _0xc0304={'raw':!![],'where':{'id':_0x22dfc5[_0x6a23('0x40')]['id']}},_0x82a9d1={};_0x82a9d1[_0x6a23('0x2d')]=_['keys'](db[_0x6a23('0x28')][_0x6a23('0x29')]);_0x82a9d1[_0x6a23('0x2e')]=_[_0x6a23('0x41')](_0x22dfc5['query']);_0x82a9d1[_0x6a23('0x2f')]=_[_0x6a23('0x31')](_0x82a9d1[_0x6a23('0x2d')],_0x82a9d1[_0x6a23('0x2e')]);_0xc0304['attributes']=_[_0x6a23('0x31')](_0x82a9d1[_0x6a23('0x2d')],qs[_0x6a23('0x32')](_0x22dfc5[_0x6a23('0x2e')][_0x6a23('0x32')]));_0xc0304['attributes']=_0xc0304['attributes'][_0x6a23('0x33')]?_0xc0304[_0x6a23('0x30')]:_0x82a9d1[_0x6a23('0x2d')];if(_0x22dfc5[_0x6a23('0x2e')][_0x6a23('0x42')]){_0xc0304['include']=[{'all':!![]}];}_0xc0304=_[_0x6a23('0x3b')]({},_0xc0304,_0x22dfc5[_0x6a23('0x3c')]);return db[_0x6a23('0x28')]['find'](_0xc0304)['then'](handleEntityNotFound(_0x4acd1e,null))[_0x6a23('0x12')](respondWithResult(_0x4acd1e,null))[_0x6a23('0x1b')](handleError(_0x4acd1e,null));};exports[_0x6a23('0x43')]=function(_0x1290a8,_0x538eea){return db[_0x6a23('0x28')][_0x6a23('0x43')](_0x1290a8[_0x6a23('0x44')],{})['then'](respondWithResult(_0x538eea,0xc9))[_0x6a23('0x1b')](handleError(_0x538eea,null));};exports[_0x6a23('0x45')]=function(_0x58781f,_0x1ac2ed){if(_0x58781f['body']['id']){delete _0x58781f['body']['id'];}return db['ChatMessage'][_0x6a23('0x46')]({'where':{'id':_0x58781f['params']['id']}})[_0x6a23('0x12')](handleEntityNotFound(_0x1ac2ed,null))['then'](saveUpdates(_0x58781f['body'],null))[_0x6a23('0x12')](respondWithResult(_0x1ac2ed,null))[_0x6a23('0x1b')](handleError(_0x1ac2ed,null));};exports[_0x6a23('0x23')]=function(_0x40bdce,_0x448910){return db[_0x6a23('0x28')]['find']({'where':{'id':_0x40bdce[_0x6a23('0x40')]['id']}})[_0x6a23('0x12')](handleEntityNotFound(_0x448910,null))[_0x6a23('0x12')](removeEntity(_0x448910,null))['catch'](handleError(_0x448910,null));};exports[_0x6a23('0x47')]=function(_0x13e574,_0x8dbadc){return db['ChatMessage'][_0x6a23('0x47')]()[_0x6a23('0x12')](respondWithResult(_0x8dbadc,null))[_0x6a23('0x1b')](handleError(_0x8dbadc,null));};exports[_0x6a23('0x48')]=function(_0x480dae,_0x5b5bbc){var _0x1aa4e6=_0x6a23('0x49');return interactionService[_0x6a23('0x4a')](_0x480dae,_0x1aa4e6)[_0x6a23('0x12')](respondWithResult(_0x5b5bbc,null))[_0x6a23('0x1b')](handleError(_0x5b5bbc,null));};exports['reject']=function(_0x1f97a2,_0x503099){var _0x305222={'agent':{},'channel':_0x6a23('0x49')};if(_0x1f97a2[_0x6a23('0x44')]['id']){delete _0x1f97a2['body']['id'];}_0x1f97a2['body']['UserId']=_0x1f97a2['body']['UserId']||_0x1f97a2['user']['id'];_0x305222[_0x6a23('0x4b')]['id']=_0x1f97a2['body'][_0x6a23('0x4c')];return db[_0x6a23('0x28')][_0x6a23('0x46')]({'where':{'id':_0x1f97a2[_0x6a23('0x40')]['id'],'UserId':null}})[_0x6a23('0x12')](handleEntityNotFound(_0x503099,null))[_0x6a23('0x12')](function(_0x4845e0){if(_0x4845e0){_0x305222[_0x6a23('0x1a')]=_0x4845e0[_0x6a23('0x4d')]({'plain':!![]});return db[_0x6a23('0x4e')][_0x6a23('0x46')]({'where':{'id':_0x4845e0['ChatInteractionId']}});}return null;})['then'](handleEntityNotFound(_0x503099,null))[_0x6a23('0x12')](function(_0x4b8f2a){if(_0x4b8f2a){_0x305222[_0x6a23('0x4f')]=_0x4b8f2a[_0x6a23('0x4d')]({'plain':!![]});interaction_log[_0x6a23('0x13')](_0x6a23('0x50'),_0x1f97a2[_0x6a23('0x51')]['id'],_0x1f97a2['user'][_0x6a23('0x24')],_0x1f97a2[_0x6a23('0x51')][_0x6a23('0x52')],_0x305222[_0x6a23('0x4f')]['id'],_0x1f97a2['body']?JSON[_0x6a23('0x53')](_0x1f97a2['body']):_0x6a23('0x54'));return respondWithRpcPromise('RejectMessage','rejectMessage',_0x305222);}return null;})[_0x6a23('0x12')](function(_0x46b322){var _0x1671ad=_0x6a23('0x55')+_0x46b322['message'][_0x6a23('0x56')];return db['sequelize'][_0x6a23('0x2e')](_0x1671ad,{'type':db[_0x6a23('0x57')]['QueryTypes'][_0x6a23('0x58')],'raw':!![]})[_0x6a23('0x12')](function(_0x1dc9af){return _0x1dc9af;});})[_0x6a23('0x12')](function(_0x1b9b67){if(_0x1b9b67){_0x305222[_0x6a23('0x1a')][_0x6a23('0x59')]=_0x1b9b67[0x0];if(!_0x1f97a2[_0x6a23('0x44')][_0x6a23('0x4c')])return;return db[_0x6a23('0x5a')][_0x6a23('0x46')]({'where':{'id':_0x1f97a2['body'][_0x6a23('0x4c')],'role':_0x6a23('0x4b')},'attributes':['id',_0x6a23('0x24'),_0x6a23('0x5b'),'email',_0x6a23('0x5c')],'raw':!![]});}return null;})[_0x6a23('0x12')](function(_0x8a088c){if(!_0x8a088c)return null;_0x305222[_0x6a23('0x1a')]['agent']=_0x8a088c;return _0x305222;})[_0x6a23('0x12')](function(_0x3f892f){if(_0x3f892f){_0x3f892f[_0x6a23('0x1a')][_0x6a23('0x5d')]=util[_0x6a23('0x5e')](_0x6a23('0x5f'),_0x1f97a2[_0x6a23('0x51')][_0x6a23('0x24')]);_0x3f892f[_0x6a23('0x1a')]['channel']=_0x305222['channel'];_0x3f892f[_0x6a23('0x1a')][_0x6a23('0x60')]=_0x305222['channel'];_0x3f892f[_0x6a23('0x1a')]['event']=_0x6a23('0x61');respondWithRpcPromise(_0x6a23('0x62'),_0x6a23('0x62'),{'event':'rejectmessage','message':_[_0x6a23('0x3b')](_0x305222[_0x6a23('0x1a')],JSON[_0x6a23('0x63')](_0x305222[_0x6a23('0x4f')][_0x6a23('0x64')]))},client9002);return _0x305222;}return null;})[_0x6a23('0x12')](respondWithResult(_0x503099,null))[_0x6a23('0x1b')](handleError(_0x503099,null));};
\ No newline at end of file