f071ffb5a9f4bbceedde1cb9ac9f7c27d7239adb
[motion2.git] / server / api / chatMessage / chatMessage.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 _0xc8d1=['sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','jayson/promise','http','request','then','ChatMessage,\x20%s,\x20%s','request\x20sent','debug','ChatMessage,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','undefined','limit','offset','count','Content-Range','apply','reject','update','destroy','stack','name','send','map','ChatMessage','fieldName','type','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','rawAttributes','find','create','body','params','describe','chat-interactions','accept','chat','YYYY-MM-DD\x20HH:mm:ss','UserId','user','agent','get','ChatInteraction','ChatInteractionId','isNil','format','interaction','[CHATMESSAGE:ACCEPT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','AcceptMessage','acceptMessage','ContactId','sequelize','Sequelize','QueryTypes','User','fullname','email','internal','interface','SIP/%s','channel','motionChannel','event','EventManager','acceptmessage','parse','rejectMessage','SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20','SELECT','rejectmessage','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path'];(function(_0x15bffd,_0x3f5d61){var _0xd4cfb3=function(_0x2af003){while(--_0x2af003){_0x15bffd['push'](_0x15bffd['shift']());}};_0xd4cfb3(++_0x3f5d61);}(_0xc8d1,0x77));var _0x1c8d=function(_0x457b64,_0x49a219){_0x457b64=_0x457b64-0x0;var _0x437111=_0xc8d1[_0x457b64];return _0x437111;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1c8d('0x0'));var zipdir=require(_0x1c8d('0x1'));var jsonpatch=require(_0x1c8d('0x2'));var rp=require(_0x1c8d('0x3'));var moment=require(_0x1c8d('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x1c8d('0x5'));var util=require(_0x1c8d('0x6'));var path=require(_0x1c8d('0x7'));var sox=require(_0x1c8d('0x8'));var csv=require('to-csv');var ejs=require(_0x1c8d('0x9'));var fs=require('fs');var fs_extra=require(_0x1c8d('0xa'));var _=require(_0x1c8d('0xb'));var squel=require(_0x1c8d('0xc'));var crypto=require(_0x1c8d('0xd'));var jsforce=require(_0x1c8d('0xe'));var deskjs=require(_0x1c8d('0xf'));var toCsv=require(_0x1c8d('0x10'));var querystring=require(_0x1c8d('0x11'));var Papa=require('papaparse');var Redis=require(_0x1c8d('0x12'));var authService=require(_0x1c8d('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x1c8d('0x14'))('api');var utils=require(_0x1c8d('0x15'));var config=require(_0x1c8d('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x1c8d('0x17'))['db'];config['redis']=_['defaults'](config[_0x1c8d('0x18')],{'host':_0x1c8d('0x19'),'port':0x18eb});var socket=require(_0x1c8d('0x1a'))(new Redis(config[_0x1c8d('0x18')]));require('./chatMessage.socket')[_0x1c8d('0x1b')](socket);var jayson=require(_0x1c8d('0x1c'));var client=jayson['client'][_0x1c8d('0x1d')]({'port':0x232c});var client9002=jayson['client'][_0x1c8d('0x1d')]({'port':0x232a});function respondWithRpcPromise(_0x29bc18,_0x2e0ab2,_0x41c485,_0x19ec41){return new BPromise(function(_0x685ee2,_0x19b4d8){var _0x1dd5ee=_0x19ec41||client;return _0x1dd5ee[_0x1c8d('0x1e')](_0x29bc18,_0x41c485)[_0x1c8d('0x1f')](function(_0x1b73fe){logger['info'](_0x1c8d('0x20'),_0x2e0ab2,_0x1c8d('0x21'));logger[_0x1c8d('0x22')](_0x1c8d('0x23'),_0x2e0ab2,_0x1c8d('0x21'),JSON[_0x1c8d('0x24')](_0x1b73fe));if(_0x1b73fe[_0x1c8d('0x25')]){if(_0x1b73fe[_0x1c8d('0x25')][_0x1c8d('0x26')]===0x1f4){logger[_0x1c8d('0x25')](_0x1c8d('0x20'),_0x2e0ab2,_0x1b73fe[_0x1c8d('0x25')][_0x1c8d('0x27')]);return _0x19b4d8(_0x1b73fe[_0x1c8d('0x25')][_0x1c8d('0x27')]);}logger[_0x1c8d('0x25')](_0x1c8d('0x20'),_0x2e0ab2,_0x1b73fe['error'][_0x1c8d('0x27')]);return _0x685ee2(_0x1b73fe['error']['message']);}else{logger[_0x1c8d('0x28')](_0x1c8d('0x20'),_0x2e0ab2,'request\x20sent');_0x685ee2(_0x1b73fe[_0x1c8d('0x29')][_0x1c8d('0x27')]);}})[_0x1c8d('0x2a')](function(_0x118a77){logger['error']('ChatMessage,\x20%s,\x20%s',_0x2e0ab2,_0x118a77);_0x19b4d8(_0x118a77);});});}function respondWithStatusCode(_0x412fb3,_0x4f5a6b){_0x4f5a6b=_0x4f5a6b||0xcc;return function(_0x357234){if(_0x357234){return _0x412fb3[_0x1c8d('0x2b')](_0x4f5a6b);}return _0x412fb3[_0x1c8d('0x2c')](_0x4f5a6b)[_0x1c8d('0x2d')]();};}function respondWithResult(_0x4ce472,_0x54db49){_0x54db49=_0x54db49||0xc8;return function(_0x516de8){if(_0x516de8){return _0x4ce472['status'](_0x54db49)['json'](_0x516de8);}};}function respondWithFilteredResult(_0x37e343,_0x174a15){return function(_0x4c64cd){if(_0x4c64cd){var _0x16ebf6=typeof _0x174a15['offset']===_0x1c8d('0x2e')&&typeof _0x174a15[_0x1c8d('0x2f')]===_0x1c8d('0x2e');var _0x5bfb7d=_0x4c64cd['count'];var _0x1493a2=_0x16ebf6?0x0:_0x174a15[_0x1c8d('0x30')];var _0x3dd0a6=_0x16ebf6?_0x4c64cd[_0x1c8d('0x31')]:_0x174a15[_0x1c8d('0x30')]+_0x174a15[_0x1c8d('0x2f')];var _0x351159;if(_0x3dd0a6>=_0x5bfb7d){_0x3dd0a6=_0x5bfb7d;_0x351159=0xc8;}else{_0x351159=0xce;}_0x37e343['status'](_0x351159);return _0x37e343['set'](_0x1c8d('0x32'),_0x1493a2+'-'+_0x3dd0a6+'/'+_0x5bfb7d)['json'](_0x4c64cd);}return null;};}function patchUpdates(_0x1759a7){return function(_0x5116d8){try{jsonpatch[_0x1c8d('0x33')](_0x5116d8,_0x1759a7,!![]);}catch(_0x1034ba){return BPromise[_0x1c8d('0x34')](_0x1034ba);}return _0x5116d8['save']();};}function saveUpdates(_0x286df0,_0x578049){return function(_0x23864d){if(_0x23864d){return _0x23864d[_0x1c8d('0x35')](_0x286df0)['then'](function(_0x800b65){return _0x800b65;});}return null;};}function removeEntity(_0xabee1d,_0x5374ca){return function(_0x10af8e){if(_0x10af8e){return _0x10af8e[_0x1c8d('0x36')]()[_0x1c8d('0x1f')](function(){_0xabee1d[_0x1c8d('0x2c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4a1ab8,_0x588620){return function(_0x5f2b0b){if(!_0x5f2b0b){_0x4a1ab8['sendStatus'](0x194);}return _0x5f2b0b;};}function handleError(_0x1512d3,_0x1ad7e0){_0x1ad7e0=_0x1ad7e0||0x1f4;return function(_0x1317e4){logger[_0x1c8d('0x25')](_0x1317e4[_0x1c8d('0x37')]);if(_0x1317e4[_0x1c8d('0x38')]){delete _0x1317e4['name'];}_0x1512d3['status'](_0x1ad7e0)[_0x1c8d('0x39')](_0x1317e4);};}exports['index']=function(_0x22f543,_0x4c985d){var _0x5a6fc5={},_0x183b73={},_0x3bef60={'count':0x0,'rows':[]};var _0xc27b42=_[_0x1c8d('0x3a')](db[_0x1c8d('0x3b')]['rawAttributes'],function(_0x4f23c3){return{'name':_0x4f23c3[_0x1c8d('0x3c')],'type':_0x4f23c3[_0x1c8d('0x3d')]['key']};});_0x183b73[_0x1c8d('0x3e')]=_[_0x1c8d('0x3a')](_0xc27b42,_0x1c8d('0x38'));_0x183b73['query']=_[_0x1c8d('0x3f')](_0x22f543[_0x1c8d('0x40')]);_0x183b73[_0x1c8d('0x41')]=_[_0x1c8d('0x42')](_0x183b73['model'],_0x183b73[_0x1c8d('0x40')]);_0x5a6fc5[_0x1c8d('0x43')]=_[_0x1c8d('0x42')](_0x183b73[_0x1c8d('0x3e')],qs[_0x1c8d('0x44')](_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x44')]));_0x5a6fc5[_0x1c8d('0x43')]=_0x5a6fc5['attributes']['length']?_0x5a6fc5[_0x1c8d('0x43')]:_0x183b73[_0x1c8d('0x3e')];if(!_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x45')](_0x1c8d('0x46'))){_0x5a6fc5[_0x1c8d('0x2f')]=qs['limit'](_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x2f')]);_0x5a6fc5[_0x1c8d('0x30')]=qs[_0x1c8d('0x30')](_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x30')]);}_0x5a6fc5['order']=qs[_0x1c8d('0x47')](_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x47')]);_0x5a6fc5[_0x1c8d('0x48')]=qs[_0x1c8d('0x41')](_[_0x1c8d('0x49')](_0x22f543[_0x1c8d('0x40')],_0x183b73[_0x1c8d('0x41')]),_0xc27b42);if(_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x4a')]){_0x5a6fc5[_0x1c8d('0x48')]=_[_0x1c8d('0x4b')](_0x5a6fc5[_0x1c8d('0x48')],{'$or':_['map'](_0xc27b42,function(_0x3d806d){if(_0x3d806d['type']!==_0x1c8d('0x4c')){var _0x12211e={};_0x12211e[_0x3d806d['name']]={'$like':'%'+_0x22f543['query'][_0x1c8d('0x4a')]+'%'};return _0x12211e;}})});}_0x5a6fc5=_[_0x1c8d('0x4b')]({},_0x5a6fc5,_0x22f543[_0x1c8d('0x4d')]);var _0x8734cf={'where':_0x5a6fc5[_0x1c8d('0x48')]};return db[_0x1c8d('0x3b')][_0x1c8d('0x31')](_0x8734cf)[_0x1c8d('0x1f')](function(_0x3ec3df){_0x3bef60[_0x1c8d('0x31')]=_0x3ec3df;if(_0x22f543[_0x1c8d('0x40')][_0x1c8d('0x4e')]){_0x5a6fc5[_0x1c8d('0x4f')]=[{'all':!![]}];}return db['ChatMessage'][_0x1c8d('0x50')](_0x5a6fc5);})[_0x1c8d('0x1f')](function(_0x125960){_0x3bef60[_0x1c8d('0x51')]=_0x125960;return _0x3bef60;})[_0x1c8d('0x1f')](respondWithFilteredResult(_0x4c985d,_0x5a6fc5))[_0x1c8d('0x2a')](handleError(_0x4c985d,null));};exports[_0x1c8d('0x52')]=function(_0x373a81,_0x23eca1){var _0x1c5786={'raw':!![],'where':{'id':_0x373a81['params']['id']}},_0xc6ae03={};_0xc6ae03[_0x1c8d('0x3e')]=_[_0x1c8d('0x3f')](db['ChatMessage'][_0x1c8d('0x53')]);_0xc6ae03[_0x1c8d('0x40')]=_['keys'](_0x373a81[_0x1c8d('0x40')]);_0xc6ae03[_0x1c8d('0x41')]=_[_0x1c8d('0x42')](_0xc6ae03['model'],_0xc6ae03[_0x1c8d('0x40')]);_0x1c5786[_0x1c8d('0x43')]=_[_0x1c8d('0x42')](_0xc6ae03[_0x1c8d('0x3e')],qs[_0x1c8d('0x44')](_0x373a81[_0x1c8d('0x40')][_0x1c8d('0x44')]));_0x1c5786[_0x1c8d('0x43')]=_0x1c5786['attributes']['length']?_0x1c5786[_0x1c8d('0x43')]:_0xc6ae03[_0x1c8d('0x3e')];if(_0x373a81[_0x1c8d('0x40')]['includeAll']){_0x1c5786[_0x1c8d('0x4f')]=[{'all':!![]}];}_0x1c5786=_[_0x1c8d('0x4b')]({},_0x1c5786,_0x373a81[_0x1c8d('0x4d')]);return db['ChatMessage'][_0x1c8d('0x54')](_0x1c5786)[_0x1c8d('0x1f')](handleEntityNotFound(_0x23eca1,null))[_0x1c8d('0x1f')](respondWithResult(_0x23eca1,null))[_0x1c8d('0x2a')](handleError(_0x23eca1,null));};exports[_0x1c8d('0x55')]=function(_0x421067,_0x2aa72b){return db[_0x1c8d('0x3b')]['create'](_0x421067['body'],{})[_0x1c8d('0x1f')](respondWithResult(_0x2aa72b,0xc9))[_0x1c8d('0x2a')](handleError(_0x2aa72b,null));};exports[_0x1c8d('0x35')]=function(_0x5d69db,_0xd875fe){if(_0x5d69db[_0x1c8d('0x56')]['id']){delete _0x5d69db[_0x1c8d('0x56')]['id'];}return db[_0x1c8d('0x3b')][_0x1c8d('0x54')]({'where':{'id':_0x5d69db[_0x1c8d('0x57')]['id']}})[_0x1c8d('0x1f')](handleEntityNotFound(_0xd875fe,null))['then'](saveUpdates(_0x5d69db[_0x1c8d('0x56')],null))[_0x1c8d('0x1f')](respondWithResult(_0xd875fe,null))[_0x1c8d('0x2a')](handleError(_0xd875fe,null));};exports[_0x1c8d('0x36')]=function(_0xac9b88,_0x3e00b5){return db['ChatMessage']['find']({'where':{'id':_0xac9b88['params']['id']}})[_0x1c8d('0x1f')](handleEntityNotFound(_0x3e00b5,null))['then'](removeEntity(_0x3e00b5,null))[_0x1c8d('0x2a')](handleError(_0x3e00b5,null));};exports[_0x1c8d('0x58')]=function(_0x428f6a,_0x4634ea){return db['ChatMessage'][_0x1c8d('0x58')]()[_0x1c8d('0x1f')](respondWithResult(_0x4634ea,null))[_0x1c8d('0x2a')](handleError(_0x4634ea,null));};var interaction_log=require(_0x1c8d('0x14'))(_0x1c8d('0x59'));exports[_0x1c8d('0x5a')]=function(_0x236ab1,_0xcb8913,_0x263db3){var _0x2ec7c1={'agent':{},'channel':_0x1c8d('0x5b')};if(_0x236ab1['body']['id']){delete _0x236ab1[_0x1c8d('0x56')]['id'];}_0x236ab1['body']['read']=!![];_0x236ab1[_0x1c8d('0x56')]['readAt']=moment()['format'](_0x1c8d('0x5c'));_0x236ab1[_0x1c8d('0x56')][_0x1c8d('0x5d')]=_0x236ab1[_0x1c8d('0x56')][_0x1c8d('0x5d')]||_0x236ab1[_0x1c8d('0x5e')]['id'];_0x2ec7c1[_0x1c8d('0x5f')]['id']=_0x236ab1[_0x1c8d('0x56')]['UserId'];return db[_0x1c8d('0x3b')][_0x1c8d('0x54')]({'where':{'id':_0x236ab1[_0x1c8d('0x57')]['id'],'UserId':null}})[_0x1c8d('0x1f')](handleEntityNotFound(_0xcb8913,null))[_0x1c8d('0x1f')](saveUpdates(_0x236ab1[_0x1c8d('0x56')],null))[_0x1c8d('0x1f')](function(_0xf3beee){if(_0xf3beee){_0x2ec7c1['message']=_0xf3beee[_0x1c8d('0x60')]({'plain':!![]});return db[_0x1c8d('0x61')]['find']({'where':{'id':_0xf3beee[_0x1c8d('0x62')]}});}return null;})['then'](handleEntityNotFound(_0xcb8913,null))[_0x1c8d('0x1f')](function(_0x378b65){if(_0x378b65){return _0x378b65[_0x1c8d('0x35')]({'UserId':_0x236ab1[_0x1c8d('0x56')][_0x1c8d('0x5d')],'read1stAt':_[_0x1c8d('0x63')](_0x378b65['read1stAt'])?moment()[_0x1c8d('0x64')](_0x1c8d('0x5c')):undefined});}return null;})[_0x1c8d('0x1f')](function(_0x1d4bd6){if(_0x1d4bd6){_0x2ec7c1[_0x1c8d('0x65')]=_0x1d4bd6['get']({'plain':!![]});interaction_log[_0x1c8d('0x28')](_0x1c8d('0x66'),_0x236ab1[_0x1c8d('0x5e')]['id'],_0x236ab1[_0x1c8d('0x5e')][_0x1c8d('0x38')],_0x236ab1['user'][_0x1c8d('0x67')],_0x2ec7c1[_0x1c8d('0x65')]['id'],_0x236ab1[_0x1c8d('0x56')]?JSON[_0x1c8d('0x24')](_0x236ab1[_0x1c8d('0x56')]):_0x1c8d('0x68'));return respondWithRpcPromise(_0x1c8d('0x69'),_0x1c8d('0x6a'),_0x2ec7c1);}return null;})['then'](function(_0x3391ea){var _0x191bcc='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x3391ea[_0x1c8d('0x27')][_0x1c8d('0x6b')];return db[_0x1c8d('0x6c')][_0x1c8d('0x40')](_0x191bcc,{'type':db[_0x1c8d('0x6d')][_0x1c8d('0x6e')]['SELECT'],'raw':!![]})[_0x1c8d('0x1f')](function(_0x55a934){return _0x55a934;});})['then'](function(_0x173d49){if(_0x173d49){_0x2ec7c1['message']['contact']=_0x173d49[0x0];if(!_0x236ab1[_0x1c8d('0x56')][_0x1c8d('0x5d')])return;return db[_0x1c8d('0x6f')]['find']({'where':{'id':_0x236ab1[_0x1c8d('0x56')]['UserId'],'role':'agent'},'attributes':['id',_0x1c8d('0x38'),_0x1c8d('0x70'),_0x1c8d('0x71'),_0x1c8d('0x72')],'raw':!![]});}return null;})['then'](function(_0x155740){if(!_0x155740)return null;_0x2ec7c1[_0x1c8d('0x27')][_0x1c8d('0x5f')]=_0x155740;return _0x2ec7c1;})['then'](function(_0x26673d){if(_0x26673d){if(_0x236ab1[_0x1c8d('0x56')]['manual']){_0x2ec7c1['message'][_0x1c8d('0x73')]=util['format'](_0x1c8d('0x74'),_0x236ab1[_0x1c8d('0x5e')]['name']);_0x2ec7c1[_0x1c8d('0x27')]['channel']=_0x2ec7c1[_0x1c8d('0x75')];_0x2ec7c1[_0x1c8d('0x27')][_0x1c8d('0x76')]=_0x2ec7c1['channel'];_0x2ec7c1['message'][_0x1c8d('0x77')]=_0x1c8d('0x5a');return respondWithRpcPromise('EventManager',_0x1c8d('0x78'),{'event':_0x1c8d('0x79'),'message':_['merge'](_0x2ec7c1[_0x1c8d('0x27')],JSON[_0x1c8d('0x7a')](_0x2ec7c1[_0x1c8d('0x65')]['formData']))},client9002)[_0x1c8d('0x1f')](function(){return _0x2ec7c1;});}return _0x2ec7c1;}return null;})['then'](respondWithResult(_0xcb8913,null))[_0x1c8d('0x2a')](handleError(_0xcb8913,null));};var interaction_log=require('../../config/logger')(_0x1c8d('0x59'));exports['reject']=function(_0x51fab2,_0x1cb2d4,_0x5265e3){var _0x3b1b6a={'agent':{},'channel':_0x1c8d('0x5b')};if(_0x51fab2[_0x1c8d('0x56')]['id']){delete _0x51fab2[_0x1c8d('0x56')]['id'];}_0x51fab2[_0x1c8d('0x56')][_0x1c8d('0x5d')]=_0x51fab2[_0x1c8d('0x56')][_0x1c8d('0x5d')]||_0x51fab2['user']['id'];_0x3b1b6a['agent']['id']=_0x51fab2[_0x1c8d('0x56')]['UserId'];return db[_0x1c8d('0x3b')][_0x1c8d('0x54')]({'where':{'id':_0x51fab2[_0x1c8d('0x57')]['id'],'UserId':null}})['then'](handleEntityNotFound(_0x1cb2d4,null))['then'](function(_0x10a604){if(_0x10a604){_0x3b1b6a[_0x1c8d('0x27')]=_0x10a604[_0x1c8d('0x60')]({'plain':!![]});return db[_0x1c8d('0x61')][_0x1c8d('0x54')]({'where':{'id':_0x10a604[_0x1c8d('0x62')]}});}return null;})[_0x1c8d('0x1f')](handleEntityNotFound(_0x1cb2d4,null))[_0x1c8d('0x1f')](function(_0x4fc6b4){if(_0x4fc6b4){_0x3b1b6a['interaction']=_0x4fc6b4[_0x1c8d('0x60')]({'plain':!![]});interaction_log[_0x1c8d('0x28')]('[CHATMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s',_0x51fab2['user']['id'],_0x51fab2[_0x1c8d('0x5e')][_0x1c8d('0x38')],_0x51fab2[_0x1c8d('0x5e')][_0x1c8d('0x67')],_0x3b1b6a[_0x1c8d('0x65')]['id'],_0x51fab2['body']?JSON[_0x1c8d('0x24')](_0x51fab2['body']):_0x1c8d('0x68'));return respondWithRpcPromise('RejectMessage',_0x1c8d('0x7b'),_0x3b1b6a);}return null;})[_0x1c8d('0x1f')](function(_0x5b1aef){var _0x3fb968=_0x1c8d('0x7c')+_0x5b1aef[_0x1c8d('0x27')][_0x1c8d('0x6b')];return db['sequelize'][_0x1c8d('0x40')](_0x3fb968,{'type':db['Sequelize'][_0x1c8d('0x6e')][_0x1c8d('0x7d')],'raw':!![]})[_0x1c8d('0x1f')](function(_0x1377c2){return _0x1377c2;});})['then'](function(_0x332868){if(_0x332868){_0x3b1b6a[_0x1c8d('0x27')]['contact']=_0x332868[0x0];if(!_0x51fab2[_0x1c8d('0x56')][_0x1c8d('0x5d')])return;return db[_0x1c8d('0x6f')]['find']({'where':{'id':_0x51fab2[_0x1c8d('0x56')][_0x1c8d('0x5d')],'role':_0x1c8d('0x5f')},'attributes':['id','name',_0x1c8d('0x70'),_0x1c8d('0x71'),_0x1c8d('0x72')],'raw':!![]});}return null;})[_0x1c8d('0x1f')](function(_0x569ada){if(!_0x569ada)return null;_0x3b1b6a[_0x1c8d('0x27')]['agent']=_0x569ada;return _0x3b1b6a;})[_0x1c8d('0x1f')](function(_0x1af58c){if(_0x1af58c){_0x1af58c[_0x1c8d('0x27')][_0x1c8d('0x73')]=util[_0x1c8d('0x64')](_0x1c8d('0x74'),_0x51fab2[_0x1c8d('0x5e')][_0x1c8d('0x38')]);_0x1af58c[_0x1c8d('0x27')][_0x1c8d('0x75')]=_0x3b1b6a[_0x1c8d('0x75')];_0x1af58c[_0x1c8d('0x27')]['motionChannel']=_0x3b1b6a['channel'];_0x1af58c[_0x1c8d('0x27')]['event']=_0x1c8d('0x34');respondWithRpcPromise(_0x1c8d('0x78'),'EventManager',{'event':_0x1c8d('0x7e'),'message':_[_0x1c8d('0x4b')](_0x3b1b6a['message'],JSON['parse'](_0x3b1b6a['interaction']['formData']))},client9002);return _0x3b1b6a;}return null;})['then'](respondWithResult(_0x1cb2d4,null))[_0x1c8d('0x2a')](handleError(_0x1cb2d4,null));};