Built motion from commit 19a84241.|2.5.34
[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 _0x0ff2=['device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','INUSE','BUSY','voice','TALKING','now','NOT_INUSE','isNil','exitAt','diffTime','enterAt','agentcomplete','[%s][members][agentcomplete]','queue','assign','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','./utils','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','channel','data2','membername','type','interface','getUserByInterface','then','name','internal','request','CreateMemberReport','split','error','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]'];(function(_0x58839b,_0x2134a8){var _0x564873=function(_0x4ff53c){while(--_0x4ff53c){_0x58839b['push'](_0x58839b['shift']());}};_0x564873(++_0x2134a8);}(_0x0ff2,0x197));var _0x20ff=function(_0x41428e,_0x22fbef){_0x41428e=_0x41428e-0x0;var _0x51b23b=_0x0ff2[_0x41428e];return _0x51b23b;};'use strict';var _=require(_0x20ff('0x0'));var util=require('util');var utils=require(_0x20ff('0x1'));var members={};var exclude=['Local/_attended@transfer',_0x20ff('0x2')];function writeDB(_0x5277ff){utils[_0x20ff('0x3')](util[_0x20ff('0x4')](_0x20ff('0x5'),_0x5277ff[_0x20ff('0x6')],_0x5277ff['interface'],_0x5277ff[_0x20ff('0x7')],_0x5277ff[_0x20ff('0x8')],_0x5277ff[_0x20ff('0x9')],_0x5277ff[_0x20ff('0xa')]));if(_0x5277ff[_0x20ff('0xb')]){utils[_0x20ff('0xc')](_0x5277ff[_0x20ff('0xb')])[_0x20ff('0xd')](function(_0x4eef83){if(_0x4eef83){_0x5277ff[_0x20ff('0x9')]=_0x4eef83[_0x20ff('0xe')];_0x5277ff[_0x20ff('0xf')]=_0x4eef83[_0x20ff('0xf')];utils[_0x20ff('0x10')](_0x20ff('0x11'),_0x5277ff);}else{utils['getUserByName'](_0x5277ff[_0x20ff('0xb')][_0x20ff('0x12')]('/')[0x1])[_0x20ff('0xd')](function(_0x3902ba){if(_0x3902ba){_0x5277ff['membername']=_0x3902ba['name'];_0x5277ff[_0x20ff('0xf')]=_0x3902ba[_0x20ff('0xf')];utils['request'](_0x20ff('0x11'),_0x5277ff);}});}})['catch'](function(_0x13a5ad){utils[_0x20ff('0x13')](util[_0x20ff('0x4')]('[%s][members][writeDB]',_0x5277ff[_0x20ff('0x6')]),_0x13a5ad);});}delete members[_0x5277ff[_0x20ff('0xb')]];}function startsWith(_0x303070,_0x5878b5){return _[_0x20ff('0x14')](_0x303070,function(_0x2fc54a){return _[_0x20ff('0x15')](_0x5878b5,_0x2fc54a);});}exports[_0x20ff('0x16')]=function(_0x479b76){try{utils[_0x20ff('0x17')](util[_0x20ff('0x4')](_0x20ff('0x18'),members[_0x479b76[_0x20ff('0x19')]]?members[_0x479b76[_0x20ff('0x19')]][_0x20ff('0x6')]:_0x479b76[_0x20ff('0x19')]),_0x479b76);utils['info'](util[_0x20ff('0x4')](_0x20ff('0x1a'),members[_0x479b76[_0x20ff('0x19')]]?members[_0x479b76[_0x20ff('0x19')]][_0x20ff('0x6')]:_0x479b76['device'],_0x479b76['state'],_0x479b76[_0x20ff('0x19')]));switch(_0x479b76['state']){case _0x20ff('0x1b'):case _0x20ff('0x1c'):if(!startsWith(exclude,_0x479b76[_0x20ff('0x19')])){members[_0x479b76[_0x20ff('0x19')]]={'channel':_0x20ff('0x1d'),'interface':_0x479b76[_0x20ff('0x19')],'type':_0x20ff('0x1e'),'enterAt':utils[_0x20ff('0x1f')](),'role':'agent'};}break;case _0x20ff('0x20'):if(!_[_0x20ff('0x21')](members[_0x479b76['device']])){members[_0x479b76[_0x20ff('0x19')]][_0x20ff('0x22')]=utils[_0x20ff('0x1f')]();members[_0x479b76[_0x20ff('0x19')]]['duration']=utils[_0x20ff('0x23')](members[_0x479b76[_0x20ff('0x19')]][_0x20ff('0x22')],members[_0x479b76[_0x20ff('0x19')]][_0x20ff('0x24')]);if(members[_0x479b76[_0x20ff('0x19')]][_0x20ff('0x6')]){writeDB(members[_0x479b76[_0x20ff('0x19')]]);}}break;default:break;}}catch(_0x5889bb){utils['error'](util[_0x20ff('0x4')](_0x20ff('0x18'),members[_0x479b76[_0x20ff('0x19')]]?members[_0x479b76[_0x20ff('0x19')]]['uniqueid']:_0x479b76['device']),_0x5889bb);}};exports[_0x20ff('0x25')]=function(_0x2a92e3){try{if(!_[_0x20ff('0x21')](members[_0x2a92e3[_0x20ff('0xb')]])){utils['debug'](util['format'](_0x20ff('0x26'),_0x2a92e3[_0x20ff('0x6')]),_0x2a92e3);utils['info'](util[_0x20ff('0x4')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x2a92e3['uniqueid'],_0x2a92e3[_0x20ff('0xb')],_0x2a92e3[_0x20ff('0x27')]));members[_0x2a92e3['interface']]=_[_0x20ff('0x28')](members[_0x2a92e3[_0x20ff('0xb')]],{'data4':_0x2a92e3[_0x20ff('0x27')],'uniqueid':_0x2a92e3['uniqueid']});}}catch(_0x24f0cd){utils['error'](util[_0x20ff('0x4')](_0x20ff('0x26'),_0x2a92e3['uniqueid']),_0x24f0cd);}};exports['cdr']=function(_0x319259){try{utils[_0x20ff('0x17')](util[_0x20ff('0x4')](_0x20ff('0x29'),_0x319259[_0x20ff('0x6')]),_0x319259);if(_0x319259[_0x20ff('0x7')]){var _0x1a6482=_0x319259[_0x20ff('0x7')]['split']('-')[0x0];if(!_[_0x20ff('0x21')](members[_0x1a6482])){members[_0x1a6482]=_[_0x20ff('0x28')](members[_0x1a6482],{'data1':members[_0x1a6482][_0x20ff('0x2a')]||_0x319259['type'],'data2':members[_0x1a6482][_0x20ff('0x8')]||_0x319259[_0x20ff('0x2b')],'data3':members[_0x1a6482][_0x20ff('0x2c')]||_0x319259[_0x20ff('0x2d')],'uniqueid':members[_0x1a6482][_0x20ff('0x6')]||_0x319259[_0x20ff('0x6')]});utils[_0x20ff('0x3')](util[_0x20ff('0x4')](_0x20ff('0x2e'),_0x319259[_0x20ff('0x6')],members[_0x1a6482][_0x20ff('0x2a')],members[_0x1a6482]['data2'],members[_0x1a6482][_0x20ff('0x2c')]));if(members[_0x1a6482][_0x20ff('0x22')]){writeDB(members[_0x1a6482]);}}}if(_0x319259[_0x20ff('0x2f')]){var _0x12be76=_0x319259[_0x20ff('0x2f')]['split']('-')[0x0];if(!_[_0x20ff('0x21')](members[_0x12be76])){members[_0x12be76]=_[_0x20ff('0x28')](members[_0x12be76],{'data1':members[_0x12be76]['data1']||_0x319259[_0x20ff('0xa')],'data2':members[_0x12be76][_0x20ff('0x8')]||_0x319259[_0x20ff('0x2b')],'data3':members[_0x12be76][_0x20ff('0x2c')]||_0x319259['destination'],'uniqueid':members[_0x12be76][_0x20ff('0x6')]||_0x319259[_0x20ff('0x6')]});utils['info'](util['format']('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x319259[_0x20ff('0x6')],members[_0x12be76][_0x20ff('0x2a')],members[_0x12be76]['data2'],members[_0x12be76][_0x20ff('0x2c')]));if(members[_0x12be76][_0x20ff('0x22')]){writeDB(members[_0x12be76]);}}}}catch(_0x41a611){utils[_0x20ff('0x13')](util[_0x20ff('0x4')]('[%s][members][cdr]',_0x319259[_0x20ff('0x6')]),_0x41a611);}};