Built motion from commit b0a9a629.|2.6.33
[motion2.git] / server / api / openchannelMessage / openchannelMessage.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 _0x516d=['stringify','error','message','result','catch','status','json','offset','limit','undefined','count','set','Content-Range','update','end','sendStatus','send','index','OpenchannelMessage','rawAttributes','fieldName','type','key','model','map','name','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','show','create','body','find','params','destroy','describe','accept','acceptMessage','reject','openchannel','UserId','user','agent','get','OpenchannelInteraction','OpenchannelInteractionId','interaction','[OPENCHANNELMESSAGE:REJECT]\x20id=%s\x20name=%s\x20role=%s\x20interaction=%s\x20body=%s','role','null','RejectMessage','rejectMessage','ContactId','sequelize','Sequelize','QueryTypes','SELECT','fullname','email','internal','interface','format','SIP/%s','channel','event','EventManager','rejectmessage','util','lodash','ioredis','../../components/interaction/service','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','jayson/promise','http','client','openchannel-interactions','request','then','info','OpenchannelMessage,\x20%s,\x20%s','request\x20sent','debug'];(function(_0x5b8de1,_0x3bba31){var _0x40969d=function(_0x3f6832){while(--_0x3f6832){_0x5b8de1['push'](_0x5b8de1['shift']());}};_0x40969d(++_0x3bba31);}(_0x516d,0xbe));var _0xd516=function(_0x32171e,_0x2a2a78){_0x32171e=_0x32171e-0x0;var _0x396dd3=_0x516d[_0x32171e];return _0x396dd3;};'use strict';var util=require(_0xd516('0x0'));var _=require(_0xd516('0x1'));var Redis=require(_0xd516('0x2'));var interactionService=require(_0xd516('0x3'));var qs=require(_0xd516('0x4'));var logger=require('../../config/logger')(_0xd516('0x5'));var config=require(_0xd516('0x6'));var db=require(_0xd516('0x7'))['db'];config[_0xd516('0x8')]=_[_0xd516('0x9')](config[_0xd516('0x8')],{'host':_0xd516('0xa'),'port':0x18eb});var socket=require(_0xd516('0xb'))(new Redis(config['redis']));require('./openchannelMessage.socket')['register'](socket);var jayson=require(_0xd516('0xc'));var client=jayson['client'][_0xd516('0xd')]({'port':0x232c});var client9002=jayson[_0xd516('0xe')]['http']({'port':0x232a});var interaction_log=require('../../config/logger')(_0xd516('0xf'));function respondWithRpcPromise(_0x3c2191,_0x11c5c7,_0x1194af,_0x49943a){return new Promise(function(_0x495ea4,_0x5b01c6){var _0x43ddab=_0x49943a||client;return _0x43ddab[_0xd516('0x10')](_0x3c2191,_0x1194af)[_0xd516('0x11')](function(_0x337eaa){logger[_0xd516('0x12')](_0xd516('0x13'),_0x11c5c7,_0xd516('0x14'));logger[_0xd516('0x15')]('OpenchannelMessage,\x20%s,\x20%s,\x20%s',_0x11c5c7,'request\x20sent',JSON[_0xd516('0x16')](_0x337eaa));if(_0x337eaa['error']){if(_0x337eaa['error']['code']===0x1f4){logger[_0xd516('0x17')](_0xd516('0x13'),_0x11c5c7,_0x337eaa[_0xd516('0x17')]['message']);return _0x5b01c6(_0x337eaa['error'][_0xd516('0x18')]);}logger[_0xd516('0x17')](_0xd516('0x13'),_0x11c5c7,_0x337eaa[_0xd516('0x17')][_0xd516('0x18')]);return _0x495ea4(_0x337eaa['error'][_0xd516('0x18')]);}else{logger[_0xd516('0x12')]('OpenchannelMessage,\x20%s,\x20%s',_0x11c5c7,_0xd516('0x14'));_0x495ea4(_0x337eaa[_0xd516('0x19')]['message']);}})[_0xd516('0x1a')](function(_0x48425d){logger[_0xd516('0x17')](_0xd516('0x13'),_0x11c5c7,_0x48425d);_0x5b01c6(_0x48425d);});});}function respondWithResult(_0x52440e,_0x571b48){_0x571b48=_0x571b48||0xc8;return function(_0x1088f4){if(_0x1088f4){return _0x52440e[_0xd516('0x1b')](_0x571b48)[_0xd516('0x1c')](_0x1088f4);}};}function respondWithFilteredResult(_0x458102,_0x4ca800){return function(_0xca6e1b){if(_0xca6e1b){var _0x1b9d88=typeof _0x4ca800[_0xd516('0x1d')]==='undefined'&&typeof _0x4ca800[_0xd516('0x1e')]===_0xd516('0x1f');var _0x3b6a28=_0xca6e1b[_0xd516('0x20')];var _0x569d0a=_0x1b9d88?0x0:_0x4ca800[_0xd516('0x1d')];var _0x222565=_0x1b9d88?_0xca6e1b[_0xd516('0x20')]:_0x4ca800[_0xd516('0x1d')]+_0x4ca800[_0xd516('0x1e')];var _0x1a60a6;if(_0x222565>=_0x3b6a28){_0x222565=_0x3b6a28;_0x1a60a6=0xc8;}else{_0x1a60a6=0xce;}_0x458102[_0xd516('0x1b')](_0x1a60a6);return _0x458102[_0xd516('0x21')](_0xd516('0x22'),_0x569d0a+'-'+_0x222565+'/'+_0x3b6a28)[_0xd516('0x1c')](_0xca6e1b);}return null;};}function saveUpdates(_0x28f3b5){return function(_0x498e32){if(_0x498e32){return _0x498e32[_0xd516('0x23')](_0x28f3b5)[_0xd516('0x11')](function(_0x21284d){return _0x21284d;});}return null;};}function removeEntity(_0x3bb035){return function(_0x2f1cda){if(_0x2f1cda){return _0x2f1cda['destroy']()[_0xd516('0x11')](function(){_0x3bb035[_0xd516('0x1b')](0xcc)[_0xd516('0x24')]();});}};}function handleEntityNotFound(_0x90144a){return function(_0x2ba47c){if(!_0x2ba47c){_0x90144a[_0xd516('0x25')](0x194);}return _0x2ba47c;};}function handleError(_0x8f951f,_0x17588a){_0x17588a=_0x17588a||0x1f4;return function(_0x5627f2){logger[_0xd516('0x17')](_0x5627f2['stack']);if(_0x5627f2['name']){delete _0x5627f2['name'];}_0x8f951f[_0xd516('0x1b')](_0x17588a)[_0xd516('0x26')](_0x5627f2);};}exports[_0xd516('0x27')]=function(_0x3cf468,_0x273115){var _0x3a049a={},_0xb949ca={},_0x124c13={'count':0x0,'rows':[]};var _0x1b8a2e=_['map'](db[_0xd516('0x28')][_0xd516('0x29')],function(_0x7ea8c6){return{'name':_0x7ea8c6[_0xd516('0x2a')],'type':_0x7ea8c6[_0xd516('0x2b')][_0xd516('0x2c')]};});_0xb949ca[_0xd516('0x2d')]=_[_0xd516('0x2e')](_0x1b8a2e,_0xd516('0x2f'));_0xb949ca['query']=_[_0xd516('0x30')](_0x3cf468[_0xd516('0x31')]);_0xb949ca[_0xd516('0x32')]=_[_0xd516('0x33')](_0xb949ca[_0xd516('0x2d')],_0xb949ca[_0xd516('0x31')]);_0x3a049a[_0xd516('0x34')]=_[_0xd516('0x33')](_0xb949ca[_0xd516('0x2d')],qs[_0xd516('0x35')](_0x3cf468[_0xd516('0x31')]['fields']));_0x3a049a[_0xd516('0x34')]=_0x3a049a['attributes'][_0xd516('0x36')]?_0x3a049a[_0xd516('0x34')]:_0xb949ca[_0xd516('0x2d')];if(!_0x3cf468[_0xd516('0x31')][_0xd516('0x37')](_0xd516('0x38'))){_0x3a049a[_0xd516('0x1e')]=qs[_0xd516('0x1e')](_0x3cf468[_0xd516('0x31')][_0xd516('0x1e')]);_0x3a049a[_0xd516('0x1d')]=qs[_0xd516('0x1d')](_0x3cf468[_0xd516('0x31')][_0xd516('0x1d')]);}_0x3a049a[_0xd516('0x39')]=qs[_0xd516('0x3a')](_0x3cf468['query'][_0xd516('0x3a')]);_0x3a049a[_0xd516('0x3b')]=qs[_0xd516('0x32')](_[_0xd516('0x3c')](_0x3cf468['query'],_0xb949ca[_0xd516('0x32')]),_0x1b8a2e);if(_0x3cf468[_0xd516('0x31')][_0xd516('0x3d')]){_0x3a049a[_0xd516('0x3b')]=_['merge'](_0x3a049a['where'],{'$or':_[_0xd516('0x2e')](_0x1b8a2e,function(_0x2eaf9a){if(_0x2eaf9a[_0xd516('0x2b')]!==_0xd516('0x3e')){var _0x39cf87={};_0x39cf87[_0x2eaf9a[_0xd516('0x2f')]]={'$like':'%'+_0x3cf468[_0xd516('0x31')][_0xd516('0x3d')]+'%'};return _0x39cf87;}})});}_0x3a049a=_[_0xd516('0x3f')]({},_0x3a049a,_0x3cf468[_0xd516('0x40')]);var _0x277878={'where':_0x3a049a[_0xd516('0x3b')]};return db[_0xd516('0x28')][_0xd516('0x20')](_0x277878)[_0xd516('0x11')](function(_0xa5b32){_0x124c13[_0xd516('0x20')]=_0xa5b32;if(_0x3cf468[_0xd516('0x31')][_0xd516('0x41')]){_0x3a049a[_0xd516('0x42')]=[{'all':!![]}];}return db[_0xd516('0x28')][_0xd516('0x43')](_0x3a049a);})[_0xd516('0x11')](function(_0x560068){_0x124c13['rows']=_0x560068;return _0x124c13;})[_0xd516('0x11')](respondWithFilteredResult(_0x273115,_0x3a049a))['catch'](handleError(_0x273115,null));};exports[_0xd516('0x44')]=function(_0x29cffc,_0x1e819a){var _0x4a4341={'raw':!![],'where':{'id':_0x29cffc['params']['id']}},_0x441915={};_0x441915[_0xd516('0x2d')]=_[_0xd516('0x30')](db[_0xd516('0x28')][_0xd516('0x29')]);_0x441915['query']=_[_0xd516('0x30')](_0x29cffc[_0xd516('0x31')]);_0x441915[_0xd516('0x32')]=_[_0xd516('0x33')](_0x441915['model'],_0x441915[_0xd516('0x31')]);_0x4a4341[_0xd516('0x34')]=_[_0xd516('0x33')](_0x441915['model'],qs[_0xd516('0x35')](_0x29cffc[_0xd516('0x31')]['fields']));_0x4a4341[_0xd516('0x34')]=_0x4a4341[_0xd516('0x34')][_0xd516('0x36')]?_0x4a4341[_0xd516('0x34')]:_0x441915[_0xd516('0x2d')];if(_0x29cffc[_0xd516('0x31')][_0xd516('0x41')]){_0x4a4341[_0xd516('0x42')]=[{'all':!![]}];}_0x4a4341=_[_0xd516('0x3f')]({},_0x4a4341,_0x29cffc['options']);return db[_0xd516('0x28')]['find'](_0x4a4341)[_0xd516('0x11')](handleEntityNotFound(_0x1e819a,null))[_0xd516('0x11')](respondWithResult(_0x1e819a,null))['catch'](handleError(_0x1e819a,null));};exports[_0xd516('0x45')]=function(_0x310773,_0x19ed7b){return db['OpenchannelMessage'][_0xd516('0x45')](_0x310773['body'],{})['then'](respondWithResult(_0x19ed7b,0xc9))[_0xd516('0x1a')](handleError(_0x19ed7b,null));};exports[_0xd516('0x23')]=function(_0x13c07e,_0x5df58b){if(_0x13c07e[_0xd516('0x46')]['id']){delete _0x13c07e['body']['id'];}return db['OpenchannelMessage'][_0xd516('0x47')]({'where':{'id':_0x13c07e[_0xd516('0x48')]['id']}})[_0xd516('0x11')](handleEntityNotFound(_0x5df58b,null))[_0xd516('0x11')](saveUpdates(_0x13c07e[_0xd516('0x46')],null))[_0xd516('0x11')](respondWithResult(_0x5df58b,null))[_0xd516('0x1a')](handleError(_0x5df58b,null));};exports[_0xd516('0x49')]=function(_0x26e760,_0x202d84){return db[_0xd516('0x28')][_0xd516('0x47')]({'where':{'id':_0x26e760[_0xd516('0x48')]['id']}})[_0xd516('0x11')](handleEntityNotFound(_0x202d84,null))[_0xd516('0x11')](removeEntity(_0x202d84,null))[_0xd516('0x1a')](handleError(_0x202d84,null));};exports['describe']=function(_0x126c5b,_0x22a543){return db[_0xd516('0x28')][_0xd516('0x4a')]()['then'](respondWithResult(_0x22a543,null))[_0xd516('0x1a')](handleError(_0x22a543,null));};exports[_0xd516('0x4b')]=function(_0x5e15f4,_0xad7df5){var _0x5aad90='openchannel';return interactionService[_0xd516('0x4c')](_0x5e15f4,_0x5aad90)['then'](respondWithResult(_0xad7df5,null))[_0xd516('0x1a')](handleError(_0xad7df5,null));};exports[_0xd516('0x4d')]=function(_0x5492cf,_0x348cdd){var _0x1367e4={'agent':{},'channel':_0xd516('0x4e')};if(_0x5492cf[_0xd516('0x46')]['id']){delete _0x5492cf[_0xd516('0x46')]['id'];}_0x5492cf['body'][_0xd516('0x4f')]=_0x5492cf[_0xd516('0x46')][_0xd516('0x4f')]||_0x5492cf[_0xd516('0x50')]['id'];_0x1367e4[_0xd516('0x51')]['id']=_0x5492cf[_0xd516('0x46')]['UserId'];return db[_0xd516('0x28')][_0xd516('0x47')]({'where':{'id':_0x5492cf['params']['id'],'UserId':null}})[_0xd516('0x11')](handleEntityNotFound(_0x348cdd,null))[_0xd516('0x11')](function(_0x50793a){if(_0x50793a){_0x1367e4[_0xd516('0x18')]=_0x50793a[_0xd516('0x52')]({'plain':!![]});return db[_0xd516('0x53')][_0xd516('0x47')]({'where':{'id':_0x50793a[_0xd516('0x54')]}});}return null;})[_0xd516('0x11')](handleEntityNotFound(_0x348cdd,null))[_0xd516('0x11')](function(_0xd0815){if(_0xd0815){_0x1367e4[_0xd516('0x55')]=_0xd0815[_0xd516('0x52')]({'plain':!![]});interaction_log[_0xd516('0x12')](_0xd516('0x56'),_0x5492cf[_0xd516('0x50')]['id'],_0x5492cf[_0xd516('0x50')][_0xd516('0x2f')],_0x5492cf['user'][_0xd516('0x57')],_0x1367e4['interaction']['id'],_0x5492cf[_0xd516('0x46')]?JSON[_0xd516('0x16')](_0x5492cf[_0xd516('0x46')]):_0xd516('0x58'));return respondWithRpcPromise(_0xd516('0x59'),_0xd516('0x5a'),_0x1367e4);}return null;})[_0xd516('0x11')](function(_0x1534f0){var _0x389d16='SELECT\x20*\x20FROM\x20cm_contacts\x20WHERE\x20id\x20=\x20'+_0x1534f0[_0xd516('0x18')][_0xd516('0x5b')];return db[_0xd516('0x5c')][_0xd516('0x31')](_0x389d16,{'type':db[_0xd516('0x5d')][_0xd516('0x5e')][_0xd516('0x5f')],'raw':!![]})[_0xd516('0x11')](function(_0xe2a7aa){return _0xe2a7aa;});})[_0xd516('0x11')](function(_0x43b5de){if(_0x43b5de){_0x1367e4['message']['contact']=_0x43b5de[0x0];if(!_0x5492cf[_0xd516('0x46')][_0xd516('0x4f')])return;return db['User'][_0xd516('0x47')]({'where':{'id':_0x5492cf['body'][_0xd516('0x4f')],'role':'agent'},'attributes':['id','name',_0xd516('0x60'),_0xd516('0x61'),_0xd516('0x62')],'raw':!![]});}return null;})['then'](function(_0x1f3c43){if(!_0x1f3c43)return null;_0x1367e4[_0xd516('0x18')][_0xd516('0x51')]=_0x1f3c43;return _0x1367e4;})[_0xd516('0x11')](function(_0x41a9b8){if(_0x41a9b8){_0x41a9b8[_0xd516('0x18')][_0xd516('0x63')]=util[_0xd516('0x64')](_0xd516('0x65'),_0x5492cf[_0xd516('0x50')]['name']);_0x41a9b8[_0xd516('0x18')][_0xd516('0x66')]=_0x1367e4[_0xd516('0x66')];_0x41a9b8[_0xd516('0x18')]['motionChannel']=_0x1367e4['channel'];_0x41a9b8[_0xd516('0x18')][_0xd516('0x67')]=_0xd516('0x4d');respondWithRpcPromise(_0xd516('0x68'),_0xd516('0x68'),{'event':_0xd516('0x69'),'message':_0x41a9b8['message']},client9002);return _0x1367e4;}return null;})[_0xd516('0x11')](respondWithResult(_0x348cdd,null))[_0xd516('0x1a')](handleError(_0x348cdd,null));};