Built motion from commit (unavailable).|2.5.13
[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 _0x8b0c=['some','startsWith','debug','device','state','INUSE','BUSY','voice','TALKING','agent','NOT_INUSE','isNil','exitAt','now','duration','diffTime','[%s][members][devicestatechange]','agentcomplete','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','[%s][members][cdr]','assign','type','data2','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','data1','lodash','util','Local/_attended@transfer','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','membername','getUserByInterface','then','request','CreateMemberReport','split','name','internal','catch','error','[%s][members][writeDB]'];(function(_0x36f9c3,_0x1d22d1){var _0x4ba06a=function(_0x5032f3){while(--_0x5032f3){_0x36f9c3['push'](_0x36f9c3['shift']());}};_0x4ba06a(++_0x1d22d1);}(_0x8b0c,0x1b6));var _0xc8b0=function(_0x1fe56b,_0x3860ff){_0x1fe56b=_0x1fe56b-0x0;var _0x366c40=_0x8b0c[_0x1fe56b];return _0x366c40;};'use strict';var _=require(_0xc8b0('0x0'));var util=require(_0xc8b0('0x1'));var utils=require('./utils');var members={};var exclude=[_0xc8b0('0x2'),_0xc8b0('0x3')];function writeDB(_0x54ea94){utils[_0xc8b0('0x4')](util[_0xc8b0('0x5')](_0xc8b0('0x6'),_0x54ea94[_0xc8b0('0x7')],_0x54ea94[_0xc8b0('0x8')],_0x54ea94[_0xc8b0('0x9')],_0x54ea94['data2'],_0x54ea94[_0xc8b0('0xa')],_0x54ea94['type']));if(_0x54ea94[_0xc8b0('0x8')]){utils[_0xc8b0('0xb')](_0x54ea94[_0xc8b0('0x8')])[_0xc8b0('0xc')](function(_0x45d0b0){if(_0x45d0b0){_0x54ea94[_0xc8b0('0xa')]=_0x45d0b0['name'];_0x54ea94['internal']=_0x45d0b0['internal'];utils[_0xc8b0('0xd')](_0xc8b0('0xe'),_0x54ea94);}else{utils['getUserByName'](_0x54ea94[_0xc8b0('0x8')][_0xc8b0('0xf')]('/')[0x1])[_0xc8b0('0xc')](function(_0x4a09fd){if(_0x4a09fd){_0x54ea94[_0xc8b0('0xa')]=_0x4a09fd[_0xc8b0('0x10')];_0x54ea94['internal']=_0x4a09fd[_0xc8b0('0x11')];utils[_0xc8b0('0xd')](_0xc8b0('0xe'),_0x54ea94);}});}})[_0xc8b0('0x12')](function(_0x26367f){utils[_0xc8b0('0x13')](util[_0xc8b0('0x5')](_0xc8b0('0x14'),_0x54ea94[_0xc8b0('0x7')]),_0x26367f);});}delete members[_0x54ea94['interface']];}function startsWith(_0x23b99c,_0x1c38a9){return _[_0xc8b0('0x15')](_0x23b99c,function(_0x4ed744){return _[_0xc8b0('0x16')](_0x1c38a9,_0x4ed744);});}exports['devicestatechange']=function(_0x58a384){try{utils[_0xc8b0('0x17')](util[_0xc8b0('0x5')]('[%s][members][devicestatechange]',members[_0x58a384[_0xc8b0('0x18')]]?members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x7')]:_0x58a384[_0xc8b0('0x18')]),_0x58a384);utils[_0xc8b0('0x4')](util[_0xc8b0('0x5')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x58a384[_0xc8b0('0x18')]]?members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x7')]:_0x58a384[_0xc8b0('0x18')],_0x58a384[_0xc8b0('0x19')],_0x58a384[_0xc8b0('0x18')]));switch(_0x58a384[_0xc8b0('0x19')]){case _0xc8b0('0x1a'):case _0xc8b0('0x1b'):if(!startsWith(exclude,_0x58a384[_0xc8b0('0x18')])){members[_0x58a384[_0xc8b0('0x18')]]={'channel':_0xc8b0('0x1c'),'interface':_0x58a384[_0xc8b0('0x18')],'type':_0xc8b0('0x1d'),'enterAt':utils['now'](),'role':_0xc8b0('0x1e')};}break;case _0xc8b0('0x1f'):if(!_[_0xc8b0('0x20')](members[_0x58a384[_0xc8b0('0x18')]])){members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x21')]=utils[_0xc8b0('0x22')]();members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x23')]=utils[_0xc8b0('0x24')](members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x21')],members[_0x58a384['device']]['enterAt']);if(members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x7')]){writeDB(members[_0x58a384[_0xc8b0('0x18')]]);}}break;default:break;}}catch(_0x250bda){utils[_0xc8b0('0x13')](util[_0xc8b0('0x5')](_0xc8b0('0x25'),members[_0x58a384['device']]?members[_0x58a384[_0xc8b0('0x18')]][_0xc8b0('0x7')]:_0x58a384['device']),_0x250bda);}};exports[_0xc8b0('0x26')]=function(_0x34c8a1){try{if(!_['isNil'](members[_0x34c8a1[_0xc8b0('0x8')]])){utils[_0xc8b0('0x17')](util[_0xc8b0('0x5')](_0xc8b0('0x27'),_0x34c8a1[_0xc8b0('0x7')]),_0x34c8a1);utils[_0xc8b0('0x4')](util[_0xc8b0('0x5')](_0xc8b0('0x28'),_0x34c8a1[_0xc8b0('0x7')],_0x34c8a1[_0xc8b0('0x8')],_0x34c8a1['queue']));members[_0x34c8a1[_0xc8b0('0x8')]]=_['assign'](members[_0x34c8a1['interface']],{'data4':_0x34c8a1[_0xc8b0('0x29')],'uniqueid':_0x34c8a1[_0xc8b0('0x7')]});}}catch(_0xf417c){utils['error'](util[_0xc8b0('0x5')](_0xc8b0('0x27'),_0x34c8a1[_0xc8b0('0x7')]),_0xf417c);}};exports['cdr']=function(_0x4aef7e){try{utils['debug'](util['format'](_0xc8b0('0x2a'),_0x4aef7e[_0xc8b0('0x7')]),_0x4aef7e);if(_0x4aef7e[_0xc8b0('0x9')]){var _0x40a334=_0x4aef7e[_0xc8b0('0x9')][_0xc8b0('0xf')]('-')[0x0];if(!_['isNil'](members[_0x40a334])){members[_0x40a334]=_[_0xc8b0('0x2b')](members[_0x40a334],{'data1':members[_0x40a334]['data1']||_0x4aef7e[_0xc8b0('0x2c')],'data2':members[_0x40a334][_0xc8b0('0x2d')]||_0x4aef7e['source'],'data3':members[_0x40a334][_0xc8b0('0x2e')]||_0x4aef7e[_0xc8b0('0x2f')],'uniqueid':members[_0x40a334]['uniqueid']||_0x4aef7e[_0xc8b0('0x7')]});utils[_0xc8b0('0x4')](util[_0xc8b0('0x5')](_0xc8b0('0x30'),_0x4aef7e[_0xc8b0('0x7')],members[_0x40a334]['data1'],members[_0x40a334][_0xc8b0('0x2d')],members[_0x40a334]['data3']));if(members[_0x40a334]['exitAt']){writeDB(members[_0x40a334]);}}}if(_0x4aef7e[_0xc8b0('0x31')]){var _0x20fde9=_0x4aef7e[_0xc8b0('0x31')][_0xc8b0('0xf')]('-')[0x0];if(!_['isNil'](members[_0x20fde9])){members[_0x20fde9]=_[_0xc8b0('0x2b')](members[_0x20fde9],{'data1':members[_0x20fde9][_0xc8b0('0x32')]||_0x4aef7e[_0xc8b0('0x2c')],'data2':members[_0x20fde9][_0xc8b0('0x2d')]||_0x4aef7e['source'],'data3':members[_0x20fde9][_0xc8b0('0x2e')]||_0x4aef7e[_0xc8b0('0x2f')],'uniqueid':members[_0x20fde9][_0xc8b0('0x7')]||_0x4aef7e[_0xc8b0('0x7')]});utils[_0xc8b0('0x4')](util[_0xc8b0('0x5')](_0xc8b0('0x30'),_0x4aef7e[_0xc8b0('0x7')],members[_0x20fde9]['data1'],members[_0x20fde9]['data2'],members[_0x20fde9][_0xc8b0('0x2e')]));if(members[_0x20fde9][_0xc8b0('0x21')]){writeDB(members[_0x20fde9]);}}}}catch(_0x3c51ba){utils[_0xc8b0('0x13')](util[_0xc8b0('0x5')](_0xc8b0('0x2a'),_0x4aef7e[_0xc8b0('0x7')]),_0x3c51ba);}};