Built motion from commit e02f907f.|2.6.14
[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 _0x7ee1=['diffTime','enterAt','agentcomplete','queue','assign','error','[%s][members][agentcomplete]','cdr','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','./utils','Local/_attended@transfer','Queue:','info','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','channel','data2','membername','type','interface','internal','request','CreateMemberReport','getUserByName','split','then','name','format','[%s][members][writeDB]','uniqueid','some','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','isNil','exitAt','duration'];(function(_0x3c1080,_0x376fad){var _0x2f9f3c=function(_0x57ea56){while(--_0x57ea56){_0x3c1080['push'](_0x3c1080['shift']());}};_0x2f9f3c(++_0x376fad);}(_0x7ee1,0xab));var _0x17ee=function(_0x4d4d08,_0x4729e7){_0x4d4d08=_0x4d4d08-0x0;var _0x39dfe3=_0x7ee1[_0x4d4d08];return _0x39dfe3;};'use strict';var _=require(_0x17ee('0x0'));var util=require('util');var utils=require(_0x17ee('0x1'));var members={};var exclude=[_0x17ee('0x2'),_0x17ee('0x3')];function writeDB(_0xe08ab1){utils[_0x17ee('0x4')](util['format'](_0x17ee('0x5'),_0xe08ab1['uniqueid'],_0xe08ab1['interface'],_0xe08ab1[_0x17ee('0x6')],_0xe08ab1[_0x17ee('0x7')],_0xe08ab1[_0x17ee('0x8')],_0xe08ab1[_0x17ee('0x9')]));if(_0xe08ab1[_0x17ee('0xa')]){utils['getUserByInterface'](_0xe08ab1[_0x17ee('0xa')])['then'](function(_0x274eb5){if(_0x274eb5){_0xe08ab1[_0x17ee('0x8')]=_0x274eb5['name'];_0xe08ab1[_0x17ee('0xb')]=_0x274eb5[_0x17ee('0xb')];utils[_0x17ee('0xc')](_0x17ee('0xd'),_0xe08ab1);}else{utils[_0x17ee('0xe')](_0xe08ab1[_0x17ee('0xa')][_0x17ee('0xf')]('/')[0x1])[_0x17ee('0x10')](function(_0x2fdfaa){if(_0x2fdfaa){_0xe08ab1[_0x17ee('0x8')]=_0x2fdfaa[_0x17ee('0x11')];_0xe08ab1[_0x17ee('0xb')]=_0x2fdfaa['internal'];utils[_0x17ee('0xc')](_0x17ee('0xd'),_0xe08ab1);}});}})['catch'](function(_0x1b3857){utils['error'](util[_0x17ee('0x12')](_0x17ee('0x13'),_0xe08ab1[_0x17ee('0x14')]),_0x1b3857);});}delete members[_0xe08ab1[_0x17ee('0xa')]];}function startsWith(_0x5eebbc,_0x3fa583){return _[_0x17ee('0x15')](_0x5eebbc,function(_0x1b09a3){return _['startsWith'](_0x3fa583,_0x1b09a3);});}exports[_0x17ee('0x16')]=function(_0x47c346){try{utils[_0x17ee('0x17')](util[_0x17ee('0x12')](_0x17ee('0x18'),members[_0x47c346[_0x17ee('0x19')]]?members[_0x47c346[_0x17ee('0x19')]]['uniqueid']:_0x47c346['device']),_0x47c346);utils[_0x17ee('0x4')](util[_0x17ee('0x12')](_0x17ee('0x1a'),members[_0x47c346[_0x17ee('0x19')]]?members[_0x47c346['device']][_0x17ee('0x14')]:_0x47c346[_0x17ee('0x19')],_0x47c346[_0x17ee('0x1b')],_0x47c346[_0x17ee('0x19')]));switch(_0x47c346['state']){case _0x17ee('0x1c'):case _0x17ee('0x1d'):if(!startsWith(exclude,_0x47c346[_0x17ee('0x19')])){members[_0x47c346['device']]={'channel':_0x17ee('0x1e'),'interface':_0x47c346[_0x17ee('0x19')],'type':_0x17ee('0x1f'),'enterAt':utils[_0x17ee('0x20')](),'role':_0x17ee('0x21')};}break;case'NOT_INUSE':if(!_[_0x17ee('0x22')](members[_0x47c346[_0x17ee('0x19')]])){members[_0x47c346[_0x17ee('0x19')]][_0x17ee('0x23')]=utils[_0x17ee('0x20')]();members[_0x47c346[_0x17ee('0x19')]][_0x17ee('0x24')]=utils[_0x17ee('0x25')](members[_0x47c346['device']][_0x17ee('0x23')],members[_0x47c346[_0x17ee('0x19')]][_0x17ee('0x26')]);if(members[_0x47c346[_0x17ee('0x19')]][_0x17ee('0x14')]){writeDB(members[_0x47c346[_0x17ee('0x19')]]);}}break;default:break;}}catch(_0x5b11c5){utils['error'](util[_0x17ee('0x12')](_0x17ee('0x18'),members[_0x47c346[_0x17ee('0x19')]]?members[_0x47c346['device']][_0x17ee('0x14')]:_0x47c346[_0x17ee('0x19')]),_0x5b11c5);}};exports[_0x17ee('0x27')]=function(_0x4ff2dc){try{if(!_[_0x17ee('0x22')](members[_0x4ff2dc[_0x17ee('0xa')]])){utils[_0x17ee('0x17')](util[_0x17ee('0x12')]('[%s][members][agentcomplete]',_0x4ff2dc[_0x17ee('0x14')]),_0x4ff2dc);utils[_0x17ee('0x4')](util[_0x17ee('0x12')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x4ff2dc[_0x17ee('0x14')],_0x4ff2dc['interface'],_0x4ff2dc[_0x17ee('0x28')]));members[_0x4ff2dc[_0x17ee('0xa')]]=_[_0x17ee('0x29')](members[_0x4ff2dc['interface']],{'data4':_0x4ff2dc[_0x17ee('0x28')],'uniqueid':_0x4ff2dc['uniqueid']});}}catch(_0x264d6e){utils[_0x17ee('0x2a')](util[_0x17ee('0x12')](_0x17ee('0x2b'),_0x4ff2dc['uniqueid']),_0x264d6e);}};exports[_0x17ee('0x2c')]=function(_0x27e103){try{utils[_0x17ee('0x17')](util['format'](_0x17ee('0x2d'),_0x27e103[_0x17ee('0x14')]),_0x27e103);if(_0x27e103[_0x17ee('0x6')]){var _0x5b338e=_0x27e103[_0x17ee('0x6')][_0x17ee('0xf')]('-')[0x0];if(!_[_0x17ee('0x22')](members[_0x5b338e])){members[_0x5b338e]=_[_0x17ee('0x29')](members[_0x5b338e],{'data1':members[_0x5b338e][_0x17ee('0x2e')]||_0x27e103[_0x17ee('0x9')],'data2':members[_0x5b338e][_0x17ee('0x7')]||_0x27e103[_0x17ee('0x2f')],'data3':members[_0x5b338e][_0x17ee('0x30')]||_0x27e103[_0x17ee('0x31')],'uniqueid':members[_0x5b338e]['uniqueid']||_0x27e103[_0x17ee('0x14')]});utils[_0x17ee('0x4')](util[_0x17ee('0x12')](_0x17ee('0x32'),_0x27e103[_0x17ee('0x14')],members[_0x5b338e][_0x17ee('0x2e')],members[_0x5b338e][_0x17ee('0x7')],members[_0x5b338e][_0x17ee('0x30')]));if(members[_0x5b338e][_0x17ee('0x23')]){writeDB(members[_0x5b338e]);}}}if(_0x27e103[_0x17ee('0x33')]){var _0x436ffa=_0x27e103['destinationchannel'][_0x17ee('0xf')]('-')[0x0];if(!_[_0x17ee('0x22')](members[_0x436ffa])){members[_0x436ffa]=_['assign'](members[_0x436ffa],{'data1':members[_0x436ffa][_0x17ee('0x2e')]||_0x27e103[_0x17ee('0x9')],'data2':members[_0x436ffa][_0x17ee('0x7')]||_0x27e103[_0x17ee('0x2f')],'data3':members[_0x436ffa][_0x17ee('0x30')]||_0x27e103[_0x17ee('0x31')],'uniqueid':members[_0x436ffa]['uniqueid']||_0x27e103['uniqueid']});utils[_0x17ee('0x4')](util[_0x17ee('0x12')](_0x17ee('0x32'),_0x27e103[_0x17ee('0x14')],members[_0x436ffa][_0x17ee('0x2e')],members[_0x436ffa][_0x17ee('0x7')],members[_0x436ffa]['data3']));if(members[_0x436ffa][_0x17ee('0x23')]){writeDB(members[_0x436ffa]);}}}}catch(_0x13260c){utils['error'](util[_0x17ee('0x12')]('[%s][members][cdr]',_0x27e103[_0x17ee('0x14')]),_0x13260c);}};