Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / chatMessage / chatMessage.controller.js
index 0ee1db2..8bca6a4 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x70da=['fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','includeAll','include','findAll','rows','show','params','rawAttributes','merge','find','create','body','describe','accept','chat','readAt','format','UserId','user','agent','ChatInteraction','isNil','YYYY-MM-DD\x20HH:mm:ss','interaction','role','null','AcceptMessage','acceptMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','Sequelize','QueryTypes','contact','User','fullname','internal','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','parse','chat-interactions','ChatInteractionId','[CHATMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','RejectMessage','rejectMessage','sequelize','SELECT','rejectmessage','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','redis','defaults','localhost','./chatMessage.socket','client','http','request','then','info','ChatMessage,\x20%s,\x20%s','request\x20sent','ChatMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','destroy','stack','name','send','index','map','ChatMessage','fieldName','type','key','model','query','keys','filters','attributes','intersection'];(function(_0x3fe2be,_0x24cfba){var _0x16b3ca=function(_0x266d1e){while(--_0x266d1e){_0x3fe2be['push'](_0x3fe2be['shift']());}};_0x16b3ca(++_0x24cfba);}(_0x70da,0xbd));var _0xa70d=function(_0x1ccdf7,_0x215d5a){_0x1ccdf7=_0x1ccdf7-0x0;var _0x52a0ae=_0x70da[_0x1ccdf7];return _0x52a0ae;};'use strict';var emlformat=require(_0xa70d('0x0'));var rimraf=require(_0xa70d('0x1'));var zipdir=require(_0xa70d('0x2'));var jsonpatch=require(_0xa70d('0x3'));var rp=require(_0xa70d('0x4'));var moment=require(_0xa70d('0x5'));var BPromise=require(_0xa70d('0x6'));var Mustache=require(_0xa70d('0x7'));var util=require(_0xa70d('0x8'));var path=require(_0xa70d('0x9'));var sox=require(_0xa70d('0xa'));var csv=require(_0xa70d('0xb'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa70d('0xc'));var squel=require('squel');var crypto=require(_0xa70d('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xa70d('0xe'));var Papa=require(_0xa70d('0xf'));var Redis=require(_0xa70d('0x10'));var authService=require(_0xa70d('0x11'));var qs=require(_0xa70d('0x12'));var as=require(_0xa70d('0x13'));var hardwareService=require(_0xa70d('0x14'));var logger=require(_0xa70d('0x15'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xa70d('0x16'));var db=require('../../mysqldb')['db'];config[_0xa70d('0x17')]=_[_0xa70d('0x18')](config['redis'],{'host':_0xa70d('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xa70d('0x17')]));require(_0xa70d('0x1a'))['register'](socket);var jayson=require('jayson/promise');var client=jayson['client']['http']({'port':0x232c});var client9002=jayson[_0xa70d('0x1b')][_0xa70d('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x470189,_0x13d625,_0x2f7aca,_0x105af1){return new BPromise(function(_0xa7e32,_0x3e4350){var _0x6b0177=_0x105af1||client;return _0x6b0177[_0xa70d('0x1d')](_0x470189,_0x2f7aca)[_0xa70d('0x1e')](function(_0x34ac4b){logger[_0xa70d('0x1f')](_0xa70d('0x20'),_0x13d625,_0xa70d('0x21'));logger['debug'](_0xa70d('0x22'),_0x13d625,_0xa70d('0x21'),JSON[_0xa70d('0x23')](_0x34ac4b));if(_0x34ac4b[_0xa70d('0x24')]){if(_0x34ac4b['error'][_0xa70d('0x25')]===0x1f4){logger[_0xa70d('0x24')](_0xa70d('0x20'),_0x13d625,_0x34ac4b['error']['message']);return _0x3e4350(_0x34ac4b['error'][_0xa70d('0x26')]);}logger['error']('ChatMessage,\x20%s,\x20%s',_0x13d625,_0x34ac4b['error'][_0xa70d('0x26')]);return _0xa7e32(_0x34ac4b[_0xa70d('0x24')][_0xa70d('0x26')]);}else{logger[_0xa70d('0x1f')](_0xa70d('0x20'),_0x13d625,_0xa70d('0x21'));_0xa7e32(_0x34ac4b['result'][_0xa70d('0x26')]);}})[_0xa70d('0x27')](function(_0x527420){logger[_0xa70d('0x24')]('ChatMessage,\x20%s,\x20%s',_0x13d625,_0x527420);_0x3e4350(_0x527420);});});}function respondWithStatusCode(_0xd90429,_0x1e27e9){_0x1e27e9=_0x1e27e9||0xcc;return function(_0x519872){if(_0x519872){return _0xd90429[_0xa70d('0x28')](_0x1e27e9);}return _0xd90429[_0xa70d('0x29')](_0x1e27e9)[_0xa70d('0x2a')]();};}function respondWithResult(_0x249a77,_0x486109){_0x486109=_0x486109||0xc8;return function(_0x2528df){if(_0x2528df){return _0x249a77[_0xa70d('0x29')](_0x486109)[_0xa70d('0x2b')](_0x2528df);}};}function respondWithFilteredResult(_0x377a97,_0x4bd4c3){return function(_0x4e4730){if(_0x4e4730){var _0x27d249=typeof _0x4bd4c3[_0xa70d('0x2c')]===_0xa70d('0x2d')&&typeof _0x4bd4c3['limit']===_0xa70d('0x2d');var _0x1dd3c8=_0x4e4730['count'];var _0x2a879d=_0x27d249?0x0:_0x4bd4c3['offset'];var _0x37ed86=_0x27d249?_0x4e4730[_0xa70d('0x2e')]:_0x4bd4c3[_0xa70d('0x2c')]+_0x4bd4c3[_0xa70d('0x2f')];var _0x186599;if(_0x37ed86>=_0x1dd3c8){_0x37ed86=_0x1dd3c8;_0x186599=0xc8;}else{_0x186599=0xce;}_0x377a97['status'](_0x186599);return _0x377a97[_0xa70d('0x30')](_0xa70d('0x31'),_0x2a879d+'-'+_0x37ed86+'/'+_0x1dd3c8)[_0xa70d('0x2b')](_0x4e4730);}return null;};}function patchUpdates(_0x144afc){return function(_0x213466){try{jsonpatch['apply'](_0x213466,_0x144afc,!![]);}catch(_0x3c99ab){return BPromise[_0xa70d('0x32')](_0x3c99ab);}return _0x213466[_0xa70d('0x33')]();};}function saveUpdates(_0x24d991,_0x30cf73){return function(_0x478271){if(_0x478271){return _0x478271[_0xa70d('0x34')](_0x24d991)[_0xa70d('0x1e')](function(_0x3531aa){return _0x3531aa;});}return null;};}function removeEntity(_0x32098c,_0x39943b){return function(_0x34bf78){if(_0x34bf78){return _0x34bf78[_0xa70d('0x35')]()[_0xa70d('0x1e')](function(){_0x32098c[_0xa70d('0x29')](0xcc)['end']();});}};}function handleEntityNotFound(_0x27b824,_0x1644bc){return function(_0x401456){if(!_0x401456){_0x27b824['sendStatus'](0x194);}return _0x401456;};}function handleError(_0x4ea2a1,_0x59a3e9){_0x59a3e9=_0x59a3e9||0x1f4;return function(_0xc717a3){logger[_0xa70d('0x24')](_0xc717a3[_0xa70d('0x36')]);if(_0xc717a3[_0xa70d('0x37')]){delete _0xc717a3[_0xa70d('0x37')];}_0x4ea2a1[_0xa70d('0x29')](_0x59a3e9)[_0xa70d('0x38')](_0xc717a3);};}exports[_0xa70d('0x39')]=function(_0x44a66a,_0x3c566f){var _0x404183={},_0x24e3d2={},_0x2e3025={'count':0x0,'rows':[]};var _0x49873b=_[_0xa70d('0x3a')](db[_0xa70d('0x3b')]['rawAttributes'],function(_0x4cf9cd){return{'name':_0x4cf9cd[_0xa70d('0x3c')],'type':_0x4cf9cd[_0xa70d('0x3d')][_0xa70d('0x3e')]};});_0x24e3d2[_0xa70d('0x3f')]=_[_0xa70d('0x3a')](_0x49873b,'name');_0x24e3d2[_0xa70d('0x40')]=_[_0xa70d('0x41')](_0x44a66a[_0xa70d('0x40')]);_0x24e3d2[_0xa70d('0x42')]=_['intersection'](_0x24e3d2[_0xa70d('0x3f')],_0x24e3d2[_0xa70d('0x40')]);_0x404183[_0xa70d('0x43')]=_[_0xa70d('0x44')](_0x24e3d2['model'],qs[_0xa70d('0x45')](_0x44a66a[_0xa70d('0x40')]['fields']));_0x404183[_0xa70d('0x43')]=_0x404183[_0xa70d('0x43')][_0xa70d('0x46')]?_0x404183['attributes']:_0x24e3d2[_0xa70d('0x3f')];if(!_0x44a66a[_0xa70d('0x40')][_0xa70d('0x47')](_0xa70d('0x48'))){_0x404183['limit']=qs['limit'](_0x44a66a[_0xa70d('0x40')][_0xa70d('0x2f')]);_0x404183['offset']=qs[_0xa70d('0x2c')](_0x44a66a['query'][_0xa70d('0x2c')]);}_0x404183['order']=qs[_0xa70d('0x49')](_0x44a66a[_0xa70d('0x40')][_0xa70d('0x49')]);_0x404183[_0xa70d('0x4a')]=qs['filters'](_[_0xa70d('0x4b')](_0x44a66a[_0xa70d('0x40')],_0x24e3d2[_0xa70d('0x42')]),_0x49873b);if(_0x44a66a[_0xa70d('0x40')][_0xa70d('0x4c')]){_0x404183['where']=_['merge'](_0x404183[_0xa70d('0x4a')],{'$or':_[_0xa70d('0x3a')](_0x49873b,function(_0x4d6256){if(_0x4d6256[_0xa70d('0x3d')]!==_0xa70d('0x4d')){var _0x60826d={};_0x60826d[_0x4d6256['name']]={'$like':'%'+_0x44a66a[_0xa70d('0x40')][_0xa70d('0x4c')]+'%'};return _0x60826d;}})});}_0x404183=_['merge']({},_0x404183,_0x44a66a['options']);var _0x3be967={'where':_0x404183['where']};return db[_0xa70d('0x3b')]['count'](_0x3be967)[_0xa70d('0x1e')](function(_0x4d371b){_0x2e3025[_0xa70d('0x2e')]=_0x4d371b;if(_0x44a66a[_0xa70d('0x40')][_0xa70d('0x4e')]){_0x404183[_0xa70d('0x4f')]=[{'all':!![]}];}return db[_0xa70d('0x3b')][_0xa70d('0x50')](_0x404183);})[_0xa70d('0x1e')](function(_0x608bf4){_0x2e3025[_0xa70d('0x51')]=_0x608bf4;return _0x2e3025;})[_0xa70d('0x1e')](respondWithFilteredResult(_0x3c566f,_0x404183))['catch'](handleError(_0x3c566f,null));};exports[_0xa70d('0x52')]=function(_0x4ee349,_0x461031){var _0x1ac7dd={'raw':!![],'where':{'id':_0x4ee349[_0xa70d('0x53')]['id']}},_0x2734a2={};_0x2734a2['model']=_[_0xa70d('0x41')](db[_0xa70d('0x3b')][_0xa70d('0x54')]);_0x2734a2[_0xa70d('0x40')]=_['keys'](_0x4ee349['query']);_0x2734a2[_0xa70d('0x42')]=_[_0xa70d('0x44')](_0x2734a2[_0xa70d('0x3f')],_0x2734a2[_0xa70d('0x40')]);_0x1ac7dd[_0xa70d('0x43')]=_[_0xa70d('0x44')](_0x2734a2[_0xa70d('0x3f')],qs['fields'](_0x4ee349[_0xa70d('0x40')][_0xa70d('0x45')]));_0x1ac7dd[_0xa70d('0x43')]=_0x1ac7dd[_0xa70d('0x43')][_0xa70d('0x46')]?_0x1ac7dd[_0xa70d('0x43')]:_0x2734a2[_0xa70d('0x3f')];if(_0x4ee349['query']['includeAll']){_0x1ac7dd[_0xa70d('0x4f')]=[{'all':!![]}];}_0x1ac7dd=_[_0xa70d('0x55')]({},_0x1ac7dd,_0x4ee349['options']);return db['ChatMessage'][_0xa70d('0x56')](_0x1ac7dd)[_0xa70d('0x1e')](handleEntityNotFound(_0x461031,null))[_0xa70d('0x1e')](respondWithResult(_0x461031,null))['catch'](handleError(_0x461031,null));};exports[_0xa70d('0x57')]=function(_0x5040f9,_0xbdeaa3){return db[_0xa70d('0x3b')][_0xa70d('0x57')](_0x5040f9[_0xa70d('0x58')],{})['then'](respondWithResult(_0xbdeaa3,0xc9))[_0xa70d('0x27')](handleError(_0xbdeaa3,null));};exports[_0xa70d('0x34')]=function(_0x4d2f75,_0x5c5c7e){if(_0x4d2f75[_0xa70d('0x58')]['id']){delete _0x4d2f75['body']['id'];}return db[_0xa70d('0x3b')]['find']({'where':{'id':_0x4d2f75['params']['id']}})[_0xa70d('0x1e')](handleEntityNotFound(_0x5c5c7e,null))[_0xa70d('0x1e')](saveUpdates(_0x4d2f75[_0xa70d('0x58')],null))[_0xa70d('0x1e')](respondWithResult(_0x5c5c7e,null))['catch'](handleError(_0x5c5c7e,null));};exports[_0xa70d('0x35')]=function(_0x4e8c68,_0x9661b6){return db[_0xa70d('0x3b')][_0xa70d('0x56')]({'where':{'id':_0x4e8c68[_0xa70d('0x53')]['id']}})[_0xa70d('0x1e')](handleEntityNotFound(_0x9661b6,null))[_0xa70d('0x1e')](removeEntity(_0x9661b6,null))[_0xa70d('0x27')](handleError(_0x9661b6,null));};exports[_0xa70d('0x59')]=function(_0x5a975c,_0x503728){return db['ChatMessage'][_0xa70d('0x59')]()['then'](respondWithResult(_0x503728,null))[_0xa70d('0x27')](handleError(_0x503728,null));};var interaction_log=require('../../config/logger')('chat-interactions');exports[_0xa70d('0x5a')]=function(_0x136268,_0xb2de81,_0x447893){var _0x415dcd={'agent':{},'channel':_0xa70d('0x5b')};if(_0x136268[_0xa70d('0x58')]['id']){delete _0x136268[_0xa70d('0x58')]['id'];}_0x136268[_0xa70d('0x58')]['read']=!![];_0x136268[_0xa70d('0x58')][_0xa70d('0x5c')]=moment()[_0xa70d('0x5d')]('YYYY-MM-DD\x20HH:mm:ss');_0x136268[_0xa70d('0x58')]['UserId']=_0x136268[_0xa70d('0x58')][_0xa70d('0x5e')]||_0x136268[_0xa70d('0x5f')]['id'];_0x415dcd[_0xa70d('0x60')]['id']=_0x136268[_0xa70d('0x58')][_0xa70d('0x5e')];return db['ChatMessage']['find']({'where':{'id':_0x136268[_0xa70d('0x53')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0xb2de81,null))[_0xa70d('0x1e')](saveUpdates(_0x136268[_0xa70d('0x58')],null))['then'](function(_0x11d682){if(_0x11d682){_0x415dcd[_0xa70d('0x26')]=_0x11d682['get']({'plain':!![]});return db[_0xa70d('0x61')][_0xa70d('0x56')]({'where':{'id':_0x11d682['ChatInteractionId']}});}return null;})[_0xa70d('0x1e')](handleEntityNotFound(_0xb2de81,null))[_0xa70d('0x1e')](function(_0x16daa4){if(_0x16daa4){return _0x16daa4[_0xa70d('0x34')]({'UserId':_0x136268['body'][_0xa70d('0x5e')],'read1stAt':_[_0xa70d('0x62')](_0x16daa4['read1stAt'])?moment()['format'](_0xa70d('0x63')):undefined});}return null;})[_0xa70d('0x1e')](function(_0x3eb141){if(_0x3eb141){_0x415dcd[_0xa70d('0x64')]=_0x3eb141['get']({'plain':!![]});interaction_log[_0xa70d('0x1f')]('[CHATMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x136268[_0xa70d('0x5f')]['id'],_0x136268['user'][_0xa70d('0x37')],_0x136268['user'][_0xa70d('0x65')],_0x415dcd[_0xa70d('0x64')]['id'],_0x136268[_0xa70d('0x58')]?JSON[_0xa70d('0x23')](_0x136268[_0xa70d('0x58')]):_0xa70d('0x66'));return respondWithRpcPromise(_0xa70d('0x67'),_0xa70d('0x68'),_0x415dcd);}return null;})[_0xa70d('0x1e')](function(_0x2efe3c){var _0x271aae=_0xa70d('0x69')+_0x2efe3c[_0xa70d('0x26')][_0xa70d('0x6a')];return db['sequelize'][_0xa70d('0x40')](_0x271aae,{'type':db[_0xa70d('0x6b')][_0xa70d('0x6c')]['SELECT'],'raw':!![]})[_0xa70d('0x1e')](function(_0x5af10c){return _0x5af10c;});})[_0xa70d('0x1e')](function(_0x32a4c2){if(_0x32a4c2){_0x415dcd['message'][_0xa70d('0x6d')]=_0x32a4c2[0x0];if(!_0x136268[_0xa70d('0x58')][_0xa70d('0x5e')])return;return db[_0xa70d('0x6e')]['find']({'where':{'id':_0x136268[_0xa70d('0x58')][_0xa70d('0x5e')],'role':_0xa70d('0x60')},'attributes':['id',_0xa70d('0x37'),_0xa70d('0x6f'),'email',_0xa70d('0x70')],'raw':!![]});}return null;})[_0xa70d('0x1e')](function(_0x75b516){if(!_0x75b516)return null;_0x415dcd[_0xa70d('0x26')][_0xa70d('0x60')]=_0x75b516;return _0x415dcd;})['then'](function(_0x2af126){if(_0x2af126){if(_0x136268[_0xa70d('0x58')]['manual']){_0x415dcd[_0xa70d('0x26')][_0xa70d('0x71')]=util[_0xa70d('0x5d')](_0xa70d('0x72'),_0x136268[_0xa70d('0x5f')][_0xa70d('0x37')]);_0x415dcd[_0xa70d('0x26')]['channel']=_0x415dcd[_0xa70d('0x73')];_0x415dcd[_0xa70d('0x26')][_0xa70d('0x74')]=_0x415dcd[_0xa70d('0x73')];_0x415dcd['message'][_0xa70d('0x75')]='accept';return respondWithRpcPromise(_0xa70d('0x76'),_0xa70d('0x76'),{'event':_0xa70d('0x77'),'message':_[_0xa70d('0x55')](_0x415dcd[_0xa70d('0x26')],JSON[_0xa70d('0x78')](_0x415dcd[_0xa70d('0x64')]['formData']))},client9002)['then'](function(){return _0x415dcd;});}return _0x415dcd;}return null;})[_0xa70d('0x1e')](respondWithResult(_0xb2de81,null))[_0xa70d('0x27')](handleError(_0xb2de81,null));};var interaction_log=require(_0xa70d('0x15'))(_0xa70d('0x79'));exports['reject']=function(_0x27d416,_0x57f600,_0xfaa068){var _0x378a13={'agent':{},'channel':'chat'};if(_0x27d416[_0xa70d('0x58')]['id']){delete _0x27d416[_0xa70d('0x58')]['id'];}_0x27d416['body'][_0xa70d('0x5e')]=_0x27d416['body'][_0xa70d('0x5e')]||_0x27d416[_0xa70d('0x5f')]['id'];_0x378a13['agent']['id']=_0x27d416[_0xa70d('0x58')][_0xa70d('0x5e')];return db['ChatMessage'][_0xa70d('0x56')]({'where':{'id':_0x27d416[_0xa70d('0x53')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x57f600,null))[_0xa70d('0x1e')](function(_0x5ab017){if(_0x5ab017){_0x378a13[_0xa70d('0x26')]=_0x5ab017['get']({'plain':!![]});return db['ChatInteraction']['find']({'where':{'id':_0x5ab017[_0xa70d('0x7a')]}});}return null;})['then'](handleEntityNotFound(_0x57f600,null))[_0xa70d('0x1e')](function(_0x53a86a){if(_0x53a86a){_0x378a13['interaction']=_0x53a86a['get']({'plain':!![]});interaction_log[_0xa70d('0x1f')](_0xa70d('0x7b'),_0x27d416['user']['id'],_0x27d416[_0xa70d('0x5f')][_0xa70d('0x37')],_0x27d416[_0xa70d('0x5f')][_0xa70d('0x65')],_0x378a13[_0xa70d('0x64')]['id'],_0x27d416[_0xa70d('0x58')]?JSON[_0xa70d('0x23')](_0x27d416['body']):_0xa70d('0x66'));return respondWithRpcPromise(_0xa70d('0x7c'),_0xa70d('0x7d'),_0x378a13);}return null;})['then'](function(_0x457e59){var _0x198840=_0xa70d('0x69')+_0x457e59[_0xa70d('0x26')][_0xa70d('0x6a')];return db[_0xa70d('0x7e')]['query'](_0x198840,{'type':db[_0xa70d('0x6b')][_0xa70d('0x6c')][_0xa70d('0x7f')],'raw':!![]})[_0xa70d('0x1e')](function(_0x12f349){return _0x12f349;});})[_0xa70d('0x1e')](function(_0x16d241){if(_0x16d241){_0x378a13[_0xa70d('0x26')][_0xa70d('0x6d')]=_0x16d241[0x0];if(!_0x27d416[_0xa70d('0x58')][_0xa70d('0x5e')])return;return db['User'][_0xa70d('0x56')]({'where':{'id':_0x27d416['body']['UserId'],'role':_0xa70d('0x60')},'attributes':['id',_0xa70d('0x37'),'fullname','email',_0xa70d('0x70')],'raw':!![]});}return null;})[_0xa70d('0x1e')](function(_0x24d80c){if(!_0x24d80c)return null;_0x378a13[_0xa70d('0x26')][_0xa70d('0x60')]=_0x24d80c;return _0x378a13;})['then'](function(_0x4b0e22){if(_0x4b0e22){_0x4b0e22[_0xa70d('0x26')][_0xa70d('0x71')]=util[_0xa70d('0x5d')](_0xa70d('0x72'),_0x27d416[_0xa70d('0x5f')][_0xa70d('0x37')]);_0x4b0e22[_0xa70d('0x26')][_0xa70d('0x73')]=_0x378a13[_0xa70d('0x73')];_0x4b0e22[_0xa70d('0x26')]['motionChannel']=_0x378a13[_0xa70d('0x73')];_0x4b0e22[_0xa70d('0x26')]['event']=_0xa70d('0x32');respondWithRpcPromise('EventManager',_0xa70d('0x76'),{'event':_0xa70d('0x80'),'message':_[_0xa70d('0x55')](_0x378a13[_0xa70d('0x26')],JSON[_0xa70d('0x78')](_0x378a13[_0xa70d('0x64')]['formData']))},client9002);return _0x378a13;}return null;})['then'](respondWithResult(_0x57f600,null))[_0xa70d('0x27')](handleError(_0x57f600,null));};
\ No newline at end of file
+var _0x960a=['interface','SIP/%s','channel','event','EventManager','parse','formData','util','lodash','ioredis','../../components/interaction/service','../../config/environment','../../mysqldb','redis','defaults','localhost','jayson/promise','client','http','../../config/logger','chat-interactions','then','info','ChatMessage,\x20%s,\x20%s','request\x20sent','ChatMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','json','undefined','limit','count','offset','status','set','destroy','end','sendStatus','name','send','index','map','ChatMessage','rawAttributes','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','show','params','keys','find','create','body','update','describe','accept','chat','acceptMessage','reject','UserId','user','agent','ChatInteraction','ChatInteractionId','interaction','get','role','RejectMessage','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','ContactId','sequelize','QueryTypes','SELECT','contact','User','email'];(function(_0x5ebec4,_0x474731){var _0x3b9d3b=function(_0x3aa9da){while(--_0x3aa9da){_0x5ebec4['push'](_0x5ebec4['shift']());}};_0x3b9d3b(++_0x474731);}(_0x960a,0x18f));var _0xa960=function(_0x1b2aea,_0x1c51ff){_0x1b2aea=_0x1b2aea-0x0;var _0x2ff88c=_0x960a[_0x1b2aea];return _0x2ff88c;};'use strict';var util=require(_0xa960('0x0'));var _=require(_0xa960('0x1'));var Redis=require(_0xa960('0x2'));var interactionService=require(_0xa960('0x3'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')('api');var config=require(_0xa960('0x4'));var db=require(_0xa960('0x5'))['db'];config[_0xa960('0x6')]=_[_0xa960('0x7')](config[_0xa960('0x6')],{'host':_0xa960('0x8'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./chatMessage.socket')['register'](socket);var jayson=require(_0xa960('0x9'));var client=jayson[_0xa960('0xa')][_0xa960('0xb')]({'port':0x232c});var client9002=jayson[_0xa960('0xa')][_0xa960('0xb')]({'port':0x232a});var interaction_log=require(_0xa960('0xc'))(_0xa960('0xd'));function respondWithRpcPromise(_0x5de2f6,_0x1b9980,_0x218d30,_0x18cb56){return new Promise(function(_0x3aeeae,_0xa6fc5f){var _0x36a988=_0x18cb56||client;return _0x36a988['request'](_0x5de2f6,_0x218d30)[_0xa960('0xe')](function(_0x4110dc){logger[_0xa960('0xf')](_0xa960('0x10'),_0x1b9980,_0xa960('0x11'));logger['debug'](_0xa960('0x12'),_0x1b9980,_0xa960('0x11'),JSON[_0xa960('0x13')](_0x4110dc));if(_0x4110dc[_0xa960('0x14')]){if(_0x4110dc[_0xa960('0x14')][_0xa960('0x15')]===0x1f4){logger[_0xa960('0x14')](_0xa960('0x10'),_0x1b9980,_0x4110dc[_0xa960('0x14')]['message']);return _0xa6fc5f(_0x4110dc[_0xa960('0x14')][_0xa960('0x16')]);}logger[_0xa960('0x14')]('ChatMessage,\x20%s,\x20%s',_0x1b9980,_0x4110dc['error'][_0xa960('0x16')]);return _0x3aeeae(_0x4110dc[_0xa960('0x14')][_0xa960('0x16')]);}else{logger[_0xa960('0xf')](_0xa960('0x10'),_0x1b9980,_0xa960('0x11'));_0x3aeeae(_0x4110dc['result'][_0xa960('0x16')]);}})[_0xa960('0x17')](function(_0x311c82){logger[_0xa960('0x14')](_0xa960('0x10'),_0x1b9980,_0x311c82);_0xa6fc5f(_0x311c82);});});}function respondWithResult(_0x307cf8,_0x5a408d){_0x5a408d=_0x5a408d||0xc8;return function(_0x1532a0){if(_0x1532a0){return _0x307cf8['status'](_0x5a408d)[_0xa960('0x18')](_0x1532a0);}};}function respondWithFilteredResult(_0x4ea051,_0x76ab41){return function(_0x57dfc4){if(_0x57dfc4){var _0x18d70a=typeof _0x76ab41['offset']===_0xa960('0x19')&&typeof _0x76ab41[_0xa960('0x1a')]===_0xa960('0x19');var _0x4b443a=_0x57dfc4[_0xa960('0x1b')];var _0xcdd616=_0x18d70a?0x0:_0x76ab41[_0xa960('0x1c')];var _0x458b27=_0x18d70a?_0x57dfc4[_0xa960('0x1b')]:_0x76ab41[_0xa960('0x1c')]+_0x76ab41[_0xa960('0x1a')];var _0x52e27d;if(_0x458b27>=_0x4b443a){_0x458b27=_0x4b443a;_0x52e27d=0xc8;}else{_0x52e27d=0xce;}_0x4ea051[_0xa960('0x1d')](_0x52e27d);return _0x4ea051[_0xa960('0x1e')]('Content-Range',_0xcdd616+'-'+_0x458b27+'/'+_0x4b443a)[_0xa960('0x18')](_0x57dfc4);}return null;};}function saveUpdates(_0x40b451){return function(_0x3e0647){if(_0x3e0647){return _0x3e0647['update'](_0x40b451)[_0xa960('0xe')](function(_0x2fb446){return _0x2fb446;});}return null;};}function removeEntity(_0x3ac980){return function(_0x2376d9){if(_0x2376d9){return _0x2376d9[_0xa960('0x1f')]()[_0xa960('0xe')](function(){_0x3ac980[_0xa960('0x1d')](0xcc)[_0xa960('0x20')]();});}};}function handleEntityNotFound(_0x14ce5d){return function(_0x4d6437){if(!_0x4d6437){_0x14ce5d[_0xa960('0x21')](0x194);}return _0x4d6437;};}function handleError(_0xd64cb9,_0x4aa39d){_0x4aa39d=_0x4aa39d||0x1f4;return function(_0x401af3){logger['error'](_0x401af3['stack']);if(_0x401af3[_0xa960('0x22')]){delete _0x401af3[_0xa960('0x22')];}_0xd64cb9['status'](_0x4aa39d)[_0xa960('0x23')](_0x401af3);};}exports[_0xa960('0x24')]=function(_0x36252c,_0x4e928d){var _0x47435f={},_0x5b066a={},_0x1c9e12={'count':0x0,'rows':[]};var _0x37467a=_[_0xa960('0x25')](db[_0xa960('0x26')][_0xa960('0x27')],function(_0x108be3){return{'name':_0x108be3['fieldName'],'type':_0x108be3[_0xa960('0x28')][_0xa960('0x29')]};});_0x5b066a[_0xa960('0x2a')]=_[_0xa960('0x25')](_0x37467a,_0xa960('0x22'));_0x5b066a[_0xa960('0x2b')]=_['keys'](_0x36252c[_0xa960('0x2b')]);_0x5b066a[_0xa960('0x2c')]=_[_0xa960('0x2d')](_0x5b066a['model'],_0x5b066a['query']);_0x47435f['attributes']=_[_0xa960('0x2d')](_0x5b066a[_0xa960('0x2a')],qs[_0xa960('0x2e')](_0x36252c[_0xa960('0x2b')][_0xa960('0x2e')]));_0x47435f[_0xa960('0x2f')]=_0x47435f[_0xa960('0x2f')][_0xa960('0x30')]?_0x47435f[_0xa960('0x2f')]:_0x5b066a[_0xa960('0x2a')];if(!_0x36252c['query'][_0xa960('0x31')](_0xa960('0x32'))){_0x47435f[_0xa960('0x1a')]=qs['limit'](_0x36252c['query']['limit']);_0x47435f[_0xa960('0x1c')]=qs['offset'](_0x36252c[_0xa960('0x2b')][_0xa960('0x1c')]);}_0x47435f[_0xa960('0x33')]=qs[_0xa960('0x34')](_0x36252c[_0xa960('0x2b')][_0xa960('0x34')]);_0x47435f[_0xa960('0x35')]=qs[_0xa960('0x2c')](_[_0xa960('0x36')](_0x36252c[_0xa960('0x2b')],_0x5b066a['filters']),_0x37467a);if(_0x36252c[_0xa960('0x2b')][_0xa960('0x37')]){_0x47435f['where']=_[_0xa960('0x38')](_0x47435f['where'],{'$or':_[_0xa960('0x25')](_0x37467a,function(_0x5b6c3f){if(_0x5b6c3f[_0xa960('0x28')]!==_0xa960('0x39')){var _0x21cddf={};_0x21cddf[_0x5b6c3f[_0xa960('0x22')]]={'$like':'%'+_0x36252c[_0xa960('0x2b')]['filter']+'%'};return _0x21cddf;}})});}_0x47435f=_['merge']({},_0x47435f,_0x36252c['options']);var _0x2473dc={'where':_0x47435f[_0xa960('0x35')]};return db['ChatMessage'][_0xa960('0x1b')](_0x2473dc)[_0xa960('0xe')](function(_0x540a9f){_0x1c9e12[_0xa960('0x1b')]=_0x540a9f;if(_0x36252c[_0xa960('0x2b')][_0xa960('0x3a')]){_0x47435f[_0xa960('0x3b')]=[{'all':!![]}];}return db['ChatMessage'][_0xa960('0x3c')](_0x47435f);})['then'](function(_0x26720e){_0x1c9e12['rows']=_0x26720e;return _0x1c9e12;})['then'](respondWithFilteredResult(_0x4e928d,_0x47435f))[_0xa960('0x17')](handleError(_0x4e928d,null));};exports[_0xa960('0x3d')]=function(_0x110c17,_0x2332fc){var _0x5f0d2d={'raw':!![],'where':{'id':_0x110c17[_0xa960('0x3e')]['id']}},_0x430c0b={};_0x430c0b['model']=_[_0xa960('0x3f')](db[_0xa960('0x26')]['rawAttributes']);_0x430c0b[_0xa960('0x2b')]=_['keys'](_0x110c17['query']);_0x430c0b[_0xa960('0x2c')]=_['intersection'](_0x430c0b[_0xa960('0x2a')],_0x430c0b[_0xa960('0x2b')]);_0x5f0d2d[_0xa960('0x2f')]=_[_0xa960('0x2d')](_0x430c0b[_0xa960('0x2a')],qs[_0xa960('0x2e')](_0x110c17['query'][_0xa960('0x2e')]));_0x5f0d2d[_0xa960('0x2f')]=_0x5f0d2d[_0xa960('0x2f')]['length']?_0x5f0d2d[_0xa960('0x2f')]:_0x430c0b[_0xa960('0x2a')];if(_0x110c17[_0xa960('0x2b')][_0xa960('0x3a')]){_0x5f0d2d[_0xa960('0x3b')]=[{'all':!![]}];}_0x5f0d2d=_[_0xa960('0x38')]({},_0x5f0d2d,_0x110c17['options']);return db[_0xa960('0x26')][_0xa960('0x40')](_0x5f0d2d)[_0xa960('0xe')](handleEntityNotFound(_0x2332fc,null))[_0xa960('0xe')](respondWithResult(_0x2332fc,null))[_0xa960('0x17')](handleError(_0x2332fc,null));};exports[_0xa960('0x41')]=function(_0x1dc2fa,_0x10f1c0){return db[_0xa960('0x26')][_0xa960('0x41')](_0x1dc2fa[_0xa960('0x42')],{})[_0xa960('0xe')](respondWithResult(_0x10f1c0,0xc9))[_0xa960('0x17')](handleError(_0x10f1c0,null));};exports[_0xa960('0x43')]=function(_0x5b6817,_0x280dcf){if(_0x5b6817[_0xa960('0x42')]['id']){delete _0x5b6817[_0xa960('0x42')]['id'];}return db[_0xa960('0x26')][_0xa960('0x40')]({'where':{'id':_0x5b6817[_0xa960('0x3e')]['id']}})[_0xa960('0xe')](handleEntityNotFound(_0x280dcf,null))[_0xa960('0xe')](saveUpdates(_0x5b6817[_0xa960('0x42')],null))['then'](respondWithResult(_0x280dcf,null))[_0xa960('0x17')](handleError(_0x280dcf,null));};exports[_0xa960('0x1f')]=function(_0x4a9d66,_0x12ad6f){return db[_0xa960('0x26')]['find']({'where':{'id':_0x4a9d66[_0xa960('0x3e')]['id']}})[_0xa960('0xe')](handleEntityNotFound(_0x12ad6f,null))[_0xa960('0xe')](removeEntity(_0x12ad6f,null))[_0xa960('0x17')](handleError(_0x12ad6f,null));};exports[_0xa960('0x44')]=function(_0x5f2ad1,_0x14f6e6){return db[_0xa960('0x26')]['describe']()['then'](respondWithResult(_0x14f6e6,null))[_0xa960('0x17')](handleError(_0x14f6e6,null));};exports[_0xa960('0x45')]=function(_0x4c1e6d,_0x30650f){var _0x5d87d8=_0xa960('0x46');return interactionService[_0xa960('0x47')](_0x4c1e6d,_0x5d87d8)[_0xa960('0xe')](respondWithResult(_0x30650f,null))[_0xa960('0x17')](handleError(_0x30650f,null));};exports[_0xa960('0x48')]=function(_0xdc17fa,_0x47f4e7){var _0x3fc48={'agent':{},'channel':_0xa960('0x46')};if(_0xdc17fa['body']['id']){delete _0xdc17fa[_0xa960('0x42')]['id'];}_0xdc17fa['body'][_0xa960('0x49')]=_0xdc17fa[_0xa960('0x42')][_0xa960('0x49')]||_0xdc17fa[_0xa960('0x4a')]['id'];_0x3fc48[_0xa960('0x4b')]['id']=_0xdc17fa[_0xa960('0x42')][_0xa960('0x49')];return db[_0xa960('0x26')][_0xa960('0x40')]({'where':{'id':_0xdc17fa[_0xa960('0x3e')]['id'],'UserId':null}})[_0xa960('0xe')](handleEntityNotFound(_0x47f4e7,null))[_0xa960('0xe')](function(_0x1224b4){if(_0x1224b4){_0x3fc48['message']=_0x1224b4['get']({'plain':!![]});return db[_0xa960('0x4c')][_0xa960('0x40')]({'where':{'id':_0x1224b4[_0xa960('0x4d')]}});}return null;})['then'](handleEntityNotFound(_0x47f4e7,null))[_0xa960('0xe')](function(_0x577b84){if(_0x577b84){_0x3fc48[_0xa960('0x4e')]=_0x577b84[_0xa960('0x4f')]({'plain':!![]});interaction_log[_0xa960('0xf')]('[CHATMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0xdc17fa['user']['id'],_0xdc17fa['user']['name'],_0xdc17fa[_0xa960('0x4a')][_0xa960('0x50')],_0x3fc48[_0xa960('0x4e')]['id'],_0xdc17fa[_0xa960('0x42')]?JSON[_0xa960('0x13')](_0xdc17fa[_0xa960('0x42')]):'null');return respondWithRpcPromise(_0xa960('0x51'),_0xa960('0x52'),_0x3fc48);}return null;})[_0xa960('0xe')](function(_0x2ac80d){var _0x3705e2=_0xa960('0x53')+_0x2ac80d[_0xa960('0x16')][_0xa960('0x54')];return db[_0xa960('0x55')][_0xa960('0x2b')](_0x3705e2,{'type':db['Sequelize'][_0xa960('0x56')][_0xa960('0x57')],'raw':!![]})[_0xa960('0xe')](function(_0x8ecc5){return _0x8ecc5;});})[_0xa960('0xe')](function(_0x495cb9){if(_0x495cb9){_0x3fc48[_0xa960('0x16')][_0xa960('0x58')]=_0x495cb9[0x0];if(!_0xdc17fa[_0xa960('0x42')][_0xa960('0x49')])return;return db[_0xa960('0x59')]['find']({'where':{'id':_0xdc17fa[_0xa960('0x42')][_0xa960('0x49')],'role':_0xa960('0x4b')},'attributes':['id',_0xa960('0x22'),'fullname',_0xa960('0x5a'),'internal'],'raw':!![]});}return null;})[_0xa960('0xe')](function(_0x9ede29){if(!_0x9ede29)return null;_0x3fc48[_0xa960('0x16')][_0xa960('0x4b')]=_0x9ede29;return _0x3fc48;})[_0xa960('0xe')](function(_0x514e4e){if(_0x514e4e){_0x514e4e['message'][_0xa960('0x5b')]=util['format'](_0xa960('0x5c'),_0xdc17fa[_0xa960('0x4a')][_0xa960('0x22')]);_0x514e4e[_0xa960('0x16')][_0xa960('0x5d')]=_0x3fc48['channel'];_0x514e4e['message']['motionChannel']=_0x3fc48['channel'];_0x514e4e[_0xa960('0x16')][_0xa960('0x5e')]='reject';respondWithRpcPromise(_0xa960('0x5f'),_0xa960('0x5f'),{'event':'rejectmessage','message':_[_0xa960('0x38')](_0x3fc48[_0xa960('0x16')],JSON[_0xa960('0x60')](_0x3fc48[_0xa960('0x4e')][_0xa960('0x61')]))},client9002);return _0x3fc48;}return null;})[_0xa960('0xe')](respondWithResult(_0x47f4e7,null))[_0xa960('0x17')](handleError(_0x47f4e7,null));};
\ No newline at end of file