6291bc49bd4241ccfaa374475ba22bc05d558af1
[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 _0x3dcd=['data3','lodash','./utils','Local/_attended@transfer','Queue:','info','format','uniqueid','channel','data2','membername','type','interface','getUserByInterface','name','internal','request','getUserByName','split','then','CreateMemberReport','catch','error','[%s][members][writeDB]','devicestatechange','[%s][members][devicestatechange]','device','state','INUSE','BUSY','voice','TALKING','now','agent','exitAt','duration','diffTime','agentcomplete','isNil','debug','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','cdr','data1','source','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x3dcd,0xc5));var _0xd3dc=function(_0x576e92,_0x165314){_0x576e92=_0x576e92-0x0;var _0x24c32e=_0x3dcd[_0x576e92];return _0x24c32e;};'use strict';var _=require(_0xd3dc('0x0'));var util=require('util');var utils=require(_0xd3dc('0x1'));var members={};var exclude=[_0xd3dc('0x2'),_0xd3dc('0x3')];function writeDB(_0x19e23b){utils[_0xd3dc('0x4')](util[_0xd3dc('0x5')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x19e23b[_0xd3dc('0x6')],_0x19e23b['interface'],_0x19e23b[_0xd3dc('0x7')],_0x19e23b[_0xd3dc('0x8')],_0x19e23b[_0xd3dc('0x9')],_0x19e23b[_0xd3dc('0xa')]));if(_0x19e23b[_0xd3dc('0xb')]){utils[_0xd3dc('0xc')](_0x19e23b[_0xd3dc('0xb')])['then'](function(_0x20e056){if(_0x20e056){_0x19e23b[_0xd3dc('0x9')]=_0x20e056[_0xd3dc('0xd')];_0x19e23b['internal']=_0x20e056[_0xd3dc('0xe')];utils[_0xd3dc('0xf')]('CreateMemberReport',_0x19e23b);}else{utils[_0xd3dc('0x10')](_0x19e23b['interface'][_0xd3dc('0x11')]('/')[0x1])[_0xd3dc('0x12')](function(_0x52dadd){if(_0x52dadd){_0x19e23b[_0xd3dc('0x9')]=_0x52dadd[_0xd3dc('0xd')];_0x19e23b[_0xd3dc('0xe')]=_0x52dadd['internal'];utils[_0xd3dc('0xf')](_0xd3dc('0x13'),_0x19e23b);}});}})[_0xd3dc('0x14')](function(_0xae82c3){utils[_0xd3dc('0x15')](util['format'](_0xd3dc('0x16'),_0x19e23b[_0xd3dc('0x6')]),_0xae82c3);});}delete members[_0x19e23b[_0xd3dc('0xb')]];}function startsWith(_0x2fdbd7,_0x106adc){return _['some'](_0x2fdbd7,function(_0x2a433a){return _['startsWith'](_0x106adc,_0x2a433a);});}exports[_0xd3dc('0x17')]=function(_0x1ce024){try{utils['debug'](util[_0xd3dc('0x5')](_0xd3dc('0x18'),members[_0x1ce024['device']]?members[_0x1ce024['device']][_0xd3dc('0x6')]:_0x1ce024[_0xd3dc('0x19')]),_0x1ce024);utils[_0xd3dc('0x4')](util['format']('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x1ce024['device']]?members[_0x1ce024[_0xd3dc('0x19')]][_0xd3dc('0x6')]:_0x1ce024['device'],_0x1ce024[_0xd3dc('0x1a')],_0x1ce024['device']));switch(_0x1ce024['state']){case _0xd3dc('0x1b'):case _0xd3dc('0x1c'):if(!startsWith(exclude,_0x1ce024['device'])){members[_0x1ce024[_0xd3dc('0x19')]]={'channel':_0xd3dc('0x1d'),'interface':_0x1ce024['device'],'type':_0xd3dc('0x1e'),'enterAt':utils[_0xd3dc('0x1f')](),'role':_0xd3dc('0x20')};}break;case'NOT_INUSE':if(!_['isNil'](members[_0x1ce024['device']])){members[_0x1ce024[_0xd3dc('0x19')]][_0xd3dc('0x21')]=utils[_0xd3dc('0x1f')]();members[_0x1ce024[_0xd3dc('0x19')]][_0xd3dc('0x22')]=utils[_0xd3dc('0x23')](members[_0x1ce024[_0xd3dc('0x19')]]['exitAt'],members[_0x1ce024['device']]['enterAt']);if(members[_0x1ce024['device']][_0xd3dc('0x6')]){writeDB(members[_0x1ce024[_0xd3dc('0x19')]]);}}break;default:break;}}catch(_0xea117f){utils[_0xd3dc('0x15')](util[_0xd3dc('0x5')](_0xd3dc('0x18'),members[_0x1ce024['device']]?members[_0x1ce024[_0xd3dc('0x19')]]['uniqueid']:_0x1ce024[_0xd3dc('0x19')]),_0xea117f);}};exports[_0xd3dc('0x24')]=function(_0x450f46){try{if(!_[_0xd3dc('0x25')](members[_0x450f46[_0xd3dc('0xb')]])){utils[_0xd3dc('0x26')](util['format']('[%s][members][agentcomplete]',_0x450f46['uniqueid']),_0x450f46);utils[_0xd3dc('0x4')](util['format'](_0xd3dc('0x27'),_0x450f46[_0xd3dc('0x6')],_0x450f46[_0xd3dc('0xb')],_0x450f46['queue']));members[_0x450f46[_0xd3dc('0xb')]]=_[_0xd3dc('0x28')](members[_0x450f46[_0xd3dc('0xb')]],{'data4':_0x450f46[_0xd3dc('0x29')],'uniqueid':_0x450f46[_0xd3dc('0x6')]});}}catch(_0x13157a){utils['error'](util['format']('[%s][members][agentcomplete]',_0x450f46['uniqueid']),_0x13157a);}};exports[_0xd3dc('0x2a')]=function(_0x540734){try{utils[_0xd3dc('0x26')](util['format']('[%s][members][cdr]',_0x540734[_0xd3dc('0x6')]),_0x540734);if(_0x540734[_0xd3dc('0x7')]){var _0x58a520=_0x540734['channel'][_0xd3dc('0x11')]('-')[0x0];if(!_[_0xd3dc('0x25')](members[_0x58a520])){members[_0x58a520]=_[_0xd3dc('0x28')](members[_0x58a520],{'data1':members[_0x58a520][_0xd3dc('0x2b')]||_0x540734[_0xd3dc('0xa')],'data2':members[_0x58a520]['data2']||_0x540734[_0xd3dc('0x2c')],'data3':members[_0x58a520]['data3']||_0x540734[_0xd3dc('0x2d')],'uniqueid':members[_0x58a520][_0xd3dc('0x6')]||_0x540734[_0xd3dc('0x6')]});utils[_0xd3dc('0x4')](util[_0xd3dc('0x5')](_0xd3dc('0x2e'),_0x540734[_0xd3dc('0x6')],members[_0x58a520][_0xd3dc('0x2b')],members[_0x58a520][_0xd3dc('0x8')],members[_0x58a520]['data3']));if(members[_0x58a520]['exitAt']){writeDB(members[_0x58a520]);}}}if(_0x540734[_0xd3dc('0x2f')]){var _0x26643a=_0x540734[_0xd3dc('0x2f')][_0xd3dc('0x11')]('-')[0x0];if(!_[_0xd3dc('0x25')](members[_0x26643a])){members[_0x26643a]=_[_0xd3dc('0x28')](members[_0x26643a],{'data1':members[_0x26643a][_0xd3dc('0x2b')]||_0x540734['type'],'data2':members[_0x26643a][_0xd3dc('0x8')]||_0x540734[_0xd3dc('0x2c')],'data3':members[_0x26643a][_0xd3dc('0x30')]||_0x540734[_0xd3dc('0x2d')],'uniqueid':members[_0x26643a][_0xd3dc('0x6')]||_0x540734[_0xd3dc('0x6')]});utils[_0xd3dc('0x4')](util['format'](_0xd3dc('0x2e'),_0x540734['uniqueid'],members[_0x26643a][_0xd3dc('0x2b')],members[_0x26643a][_0xd3dc('0x8')],members[_0x26643a]['data3']));if(members[_0x26643a][_0xd3dc('0x21')]){writeDB(members[_0x26643a]);}}}}catch(_0xa8c703){utils['error'](util[_0xd3dc('0x5')]('[%s][members][cdr]',_0x540734[_0xd3dc('0x6')]),_0xa8c703);}};