Built motion from commit e6806ed6.|2.6.0
[motion2.git] / server / services / xdr / members.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 _0x8985=['lodash','util','./utils','Queue:','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','data2','membername','type','getUserByInterface','then','name','split','internal','request','CreateMemberReport','catch','error','uniqueid','interface','some','startsWith','devicestatechange','[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','voice','TALKING','now','agent','NOT_INUSE','isNil','duration','enterAt','agentcomplete','debug','queue','assign','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','source','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data3','exitAt','destinationchannel','destination'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x8985,0x198));var _0x5898=function(_0x39b479,_0x4ff292){_0x39b479=_0x39b479-0x0;var _0x5b8200=_0x8985[_0x39b479];return _0x5b8200;};'use strict';var _=require(_0x5898('0x0'));var util=require(_0x5898('0x1'));var utils=require(_0x5898('0x2'));var members={};var exclude=['Local/_attended@transfer',_0x5898('0x3')];function writeDB(_0x5af60e){utils['info'](util[_0x5898('0x4')](_0x5898('0x5'),_0x5af60e['uniqueid'],_0x5af60e['interface'],_0x5af60e['channel'],_0x5af60e[_0x5898('0x6')],_0x5af60e[_0x5898('0x7')],_0x5af60e[_0x5898('0x8')]));if(_0x5af60e['interface']){utils[_0x5898('0x9')](_0x5af60e['interface'])[_0x5898('0xa')](function(_0x380e4d){if(_0x380e4d){_0x5af60e['membername']=_0x380e4d[_0x5898('0xb')];_0x5af60e['internal']=_0x380e4d['internal'];utils['request']('CreateMemberReport',_0x5af60e);}else{utils['getUserByName'](_0x5af60e['interface'][_0x5898('0xc')]('/')[0x1])[_0x5898('0xa')](function(_0x23ee16){if(_0x23ee16){_0x5af60e[_0x5898('0x7')]=_0x23ee16['name'];_0x5af60e[_0x5898('0xd')]=_0x23ee16[_0x5898('0xd')];utils[_0x5898('0xe')](_0x5898('0xf'),_0x5af60e);}});}})[_0x5898('0x10')](function(_0x57b9c3){utils[_0x5898('0x11')](util[_0x5898('0x4')]('[%s][members][writeDB]',_0x5af60e[_0x5898('0x12')]),_0x57b9c3);});}delete members[_0x5af60e[_0x5898('0x13')]];}function startsWith(_0x5ba4ea,_0x1bfb2b){return _[_0x5898('0x14')](_0x5ba4ea,function(_0x322487){return _[_0x5898('0x15')](_0x1bfb2b,_0x322487);});}exports[_0x5898('0x16')]=function(_0x29d1e2){try{utils['debug'](util['format'](_0x5898('0x17'),members[_0x29d1e2[_0x5898('0x18')]]?members[_0x29d1e2[_0x5898('0x18')]][_0x5898('0x12')]:_0x29d1e2[_0x5898('0x18')]),_0x29d1e2);utils[_0x5898('0x19')](util[_0x5898('0x4')](_0x5898('0x1a'),members[_0x29d1e2[_0x5898('0x18')]]?members[_0x29d1e2[_0x5898('0x18')]]['uniqueid']:_0x29d1e2[_0x5898('0x18')],_0x29d1e2[_0x5898('0x1b')],_0x29d1e2['device']));switch(_0x29d1e2[_0x5898('0x1b')]){case _0x5898('0x1c'):case'BUSY':if(!startsWith(exclude,_0x29d1e2[_0x5898('0x18')])){members[_0x29d1e2['device']]={'channel':_0x5898('0x1d'),'interface':_0x29d1e2[_0x5898('0x18')],'type':_0x5898('0x1e'),'enterAt':utils[_0x5898('0x1f')](),'role':_0x5898('0x20')};}break;case _0x5898('0x21'):if(!_[_0x5898('0x22')](members[_0x29d1e2['device']])){members[_0x29d1e2[_0x5898('0x18')]]['exitAt']=utils[_0x5898('0x1f')]();members[_0x29d1e2[_0x5898('0x18')]][_0x5898('0x23')]=utils['diffTime'](members[_0x29d1e2[_0x5898('0x18')]]['exitAt'],members[_0x29d1e2[_0x5898('0x18')]][_0x5898('0x24')]);if(members[_0x29d1e2[_0x5898('0x18')]][_0x5898('0x12')]){writeDB(members[_0x29d1e2['device']]);}}break;default:break;}}catch(_0x48493e){utils[_0x5898('0x11')](util['format'](_0x5898('0x17'),members[_0x29d1e2[_0x5898('0x18')]]?members[_0x29d1e2[_0x5898('0x18')]][_0x5898('0x12')]:_0x29d1e2[_0x5898('0x18')]),_0x48493e);}};exports[_0x5898('0x25')]=function(_0x3a744c){try{if(!_['isNil'](members[_0x3a744c[_0x5898('0x13')]])){utils[_0x5898('0x26')](util['format']('[%s][members][agentcomplete]',_0x3a744c[_0x5898('0x12')]),_0x3a744c);utils[_0x5898('0x19')](util[_0x5898('0x4')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x3a744c[_0x5898('0x12')],_0x3a744c[_0x5898('0x13')],_0x3a744c[_0x5898('0x27')]));members[_0x3a744c[_0x5898('0x13')]]=_[_0x5898('0x28')](members[_0x3a744c[_0x5898('0x13')]],{'data4':_0x3a744c[_0x5898('0x27')],'uniqueid':_0x3a744c[_0x5898('0x12')]});}}catch(_0x331802){utils[_0x5898('0x11')](util['format'](_0x5898('0x29'),_0x3a744c['uniqueid']),_0x331802);}};exports[_0x5898('0x2a')]=function(_0x39b97e){try{utils['debug'](util[_0x5898('0x4')](_0x5898('0x2b'),_0x39b97e['uniqueid']),_0x39b97e);if(_0x39b97e['channel']){var _0x31c0f2=_0x39b97e['channel'][_0x5898('0xc')]('-')[0x0];if(!_[_0x5898('0x22')](members[_0x31c0f2])){members[_0x31c0f2]=_['assign'](members[_0x31c0f2],{'data1':members[_0x31c0f2][_0x5898('0x2c')]||_0x39b97e['type'],'data2':members[_0x31c0f2][_0x5898('0x6')]||_0x39b97e[_0x5898('0x2d')],'data3':members[_0x31c0f2]['data3']||_0x39b97e['destination'],'uniqueid':members[_0x31c0f2]['uniqueid']||_0x39b97e[_0x5898('0x12')]});utils[_0x5898('0x19')](util[_0x5898('0x4')](_0x5898('0x2e'),_0x39b97e[_0x5898('0x12')],members[_0x31c0f2][_0x5898('0x2c')],members[_0x31c0f2][_0x5898('0x6')],members[_0x31c0f2][_0x5898('0x2f')]));if(members[_0x31c0f2][_0x5898('0x30')]){writeDB(members[_0x31c0f2]);}}}if(_0x39b97e[_0x5898('0x31')]){var _0x359d81=_0x39b97e[_0x5898('0x31')][_0x5898('0xc')]('-')[0x0];if(!_[_0x5898('0x22')](members[_0x359d81])){members[_0x359d81]=_[_0x5898('0x28')](members[_0x359d81],{'data1':members[_0x359d81]['data1']||_0x39b97e[_0x5898('0x8')],'data2':members[_0x359d81]['data2']||_0x39b97e['source'],'data3':members[_0x359d81][_0x5898('0x2f')]||_0x39b97e[_0x5898('0x32')],'uniqueid':members[_0x359d81][_0x5898('0x12')]||_0x39b97e[_0x5898('0x12')]});utils[_0x5898('0x19')](util[_0x5898('0x4')](_0x5898('0x2e'),_0x39b97e[_0x5898('0x12')],members[_0x359d81]['data1'],members[_0x359d81][_0x5898('0x6')],members[_0x359d81][_0x5898('0x2f')]));if(members[_0x359d81][_0x5898('0x30')]){writeDB(members[_0x359d81]);}}}}catch(_0x23227f){utils[_0x5898('0x11')](util['format']('[%s][members][cdr]',_0x39b97e[_0x5898('0x12')]),_0x23227f);}};