Built motion from commit d1eab355.|2.6.28
[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 _0xc1d1=['[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','TALKING','now','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','assign','queue','[%s][members][agentcomplete]','cdr','data1','source','data3','destination','destinationchannel','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','util','./utils','Local/_attended@transfer','Queue:','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','split','catch','error','format','some','devicestatechange','debug','[%s][members][devicestatechange]','device','info'];(function(_0x2ffc6e,_0x524c2d){var _0xce54a4=function(_0x1c8746){while(--_0x1c8746){_0x2ffc6e['push'](_0x2ffc6e['shift']());}};_0xce54a4(++_0x524c2d);}(_0xc1d1,0x1a5));var _0x1c1d=function(_0x2b1759,_0x13e6db){_0x2b1759=_0x2b1759-0x0;var _0x28fac7=_0xc1d1[_0x2b1759];return _0x28fac7;};'use strict';var _=require(_0x1c1d('0x0'));var util=require(_0x1c1d('0x1'));var utils=require(_0x1c1d('0x2'));var members={};var exclude=[_0x1c1d('0x3'),_0x1c1d('0x4')];function writeDB(_0xcae12b){utils['info'](util['format'](_0x1c1d('0x5'),_0xcae12b[_0x1c1d('0x6')],_0xcae12b[_0x1c1d('0x7')],_0xcae12b[_0x1c1d('0x8')],_0xcae12b[_0x1c1d('0x9')],_0xcae12b[_0x1c1d('0xa')],_0xcae12b[_0x1c1d('0xb')]));if(_0xcae12b[_0x1c1d('0x7')]){utils[_0x1c1d('0xc')](_0xcae12b['interface'])[_0x1c1d('0xd')](function(_0x4b71e0){if(_0x4b71e0){_0xcae12b[_0x1c1d('0xa')]=_0x4b71e0[_0x1c1d('0xe')];_0xcae12b['internal']=_0x4b71e0[_0x1c1d('0xf')];utils[_0x1c1d('0x10')](_0x1c1d('0x11'),_0xcae12b);}else{utils[_0x1c1d('0x12')](_0xcae12b[_0x1c1d('0x7')][_0x1c1d('0x13')]('/')[0x1])[_0x1c1d('0xd')](function(_0x397187){if(_0x397187){_0xcae12b['membername']=_0x397187[_0x1c1d('0xe')];_0xcae12b[_0x1c1d('0xf')]=_0x397187[_0x1c1d('0xf')];utils['request'](_0x1c1d('0x11'),_0xcae12b);}});}})[_0x1c1d('0x14')](function(_0x486e38){utils[_0x1c1d('0x15')](util[_0x1c1d('0x16')]('[%s][members][writeDB]',_0xcae12b[_0x1c1d('0x6')]),_0x486e38);});}delete members[_0xcae12b['interface']];}function startsWith(_0x114ff6,_0x4c5352){return _[_0x1c1d('0x17')](_0x114ff6,function(_0x55445d){return _['startsWith'](_0x4c5352,_0x55445d);});}exports[_0x1c1d('0x18')]=function(_0x3aa1ca){try{utils[_0x1c1d('0x19')](util['format'](_0x1c1d('0x1a'),members[_0x3aa1ca[_0x1c1d('0x1b')]]?members[_0x3aa1ca['device']]['uniqueid']:_0x3aa1ca['device']),_0x3aa1ca);utils[_0x1c1d('0x1c')](util[_0x1c1d('0x16')](_0x1c1d('0x1d'),members[_0x3aa1ca[_0x1c1d('0x1b')]]?members[_0x3aa1ca['device']][_0x1c1d('0x6')]:_0x3aa1ca[_0x1c1d('0x1b')],_0x3aa1ca[_0x1c1d('0x1e')],_0x3aa1ca[_0x1c1d('0x1b')]));switch(_0x3aa1ca['state']){case'INUSE':case'BUSY':if(!startsWith(exclude,_0x3aa1ca['device'])){members[_0x3aa1ca[_0x1c1d('0x1b')]]={'channel':'voice','interface':_0x3aa1ca[_0x1c1d('0x1b')],'type':_0x1c1d('0x1f'),'enterAt':utils[_0x1c1d('0x20')](),'role':'agent'};}break;case _0x1c1d('0x21'):if(!_[_0x1c1d('0x22')](members[_0x3aa1ca[_0x1c1d('0x1b')]])){members[_0x3aa1ca[_0x1c1d('0x1b')]][_0x1c1d('0x23')]=utils['now']();members[_0x3aa1ca[_0x1c1d('0x1b')]][_0x1c1d('0x24')]=utils[_0x1c1d('0x25')](members[_0x3aa1ca[_0x1c1d('0x1b')]]['exitAt'],members[_0x3aa1ca[_0x1c1d('0x1b')]][_0x1c1d('0x26')]);if(members[_0x3aa1ca['device']]['uniqueid']){writeDB(members[_0x3aa1ca[_0x1c1d('0x1b')]]);}}break;default:break;}}catch(_0x119ff3){utils[_0x1c1d('0x15')](util[_0x1c1d('0x16')](_0x1c1d('0x1a'),members[_0x3aa1ca[_0x1c1d('0x1b')]]?members[_0x3aa1ca[_0x1c1d('0x1b')]][_0x1c1d('0x6')]:_0x3aa1ca['device']),_0x119ff3);}};exports['agentcomplete']=function(_0x5a4cd0){try{if(!_[_0x1c1d('0x22')](members[_0x5a4cd0[_0x1c1d('0x7')]])){utils[_0x1c1d('0x19')](util[_0x1c1d('0x16')]('[%s][members][agentcomplete]',_0x5a4cd0['uniqueid']),_0x5a4cd0);utils[_0x1c1d('0x1c')](util[_0x1c1d('0x16')](_0x1c1d('0x27'),_0x5a4cd0[_0x1c1d('0x6')],_0x5a4cd0[_0x1c1d('0x7')],_0x5a4cd0['queue']));members[_0x5a4cd0[_0x1c1d('0x7')]]=_[_0x1c1d('0x28')](members[_0x5a4cd0[_0x1c1d('0x7')]],{'data4':_0x5a4cd0[_0x1c1d('0x29')],'uniqueid':_0x5a4cd0['uniqueid']});}}catch(_0x2e1131){utils[_0x1c1d('0x15')](util[_0x1c1d('0x16')](_0x1c1d('0x2a'),_0x5a4cd0[_0x1c1d('0x6')]),_0x2e1131);}};exports[_0x1c1d('0x2b')]=function(_0x26092e){try{utils['debug'](util[_0x1c1d('0x16')]('[%s][members][cdr]',_0x26092e[_0x1c1d('0x6')]),_0x26092e);if(_0x26092e['channel']){var _0x3f8da7=_0x26092e[_0x1c1d('0x8')][_0x1c1d('0x13')]('-')[0x0];if(!_[_0x1c1d('0x22')](members[_0x3f8da7])){members[_0x3f8da7]=_['assign'](members[_0x3f8da7],{'data1':members[_0x3f8da7][_0x1c1d('0x2c')]||_0x26092e['type'],'data2':members[_0x3f8da7][_0x1c1d('0x9')]||_0x26092e[_0x1c1d('0x2d')],'data3':members[_0x3f8da7][_0x1c1d('0x2e')]||_0x26092e[_0x1c1d('0x2f')],'uniqueid':members[_0x3f8da7]['uniqueid']||_0x26092e[_0x1c1d('0x6')]});utils[_0x1c1d('0x1c')](util[_0x1c1d('0x16')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x26092e[_0x1c1d('0x6')],members[_0x3f8da7][_0x1c1d('0x2c')],members[_0x3f8da7][_0x1c1d('0x9')],members[_0x3f8da7][_0x1c1d('0x2e')]));if(members[_0x3f8da7]['exitAt']){writeDB(members[_0x3f8da7]);}}}if(_0x26092e[_0x1c1d('0x30')]){var _0x584057=_0x26092e[_0x1c1d('0x30')][_0x1c1d('0x13')]('-')[0x0];if(!_[_0x1c1d('0x22')](members[_0x584057])){members[_0x584057]=_['assign'](members[_0x584057],{'data1':members[_0x584057][_0x1c1d('0x2c')]||_0x26092e[_0x1c1d('0xb')],'data2':members[_0x584057]['data2']||_0x26092e[_0x1c1d('0x2d')],'data3':members[_0x584057][_0x1c1d('0x2e')]||_0x26092e[_0x1c1d('0x2f')],'uniqueid':members[_0x584057][_0x1c1d('0x6')]||_0x26092e[_0x1c1d('0x6')]});utils[_0x1c1d('0x1c')](util[_0x1c1d('0x16')](_0x1c1d('0x31'),_0x26092e[_0x1c1d('0x6')],members[_0x584057][_0x1c1d('0x2c')],members[_0x584057]['data2'],members[_0x584057]['data3']));if(members[_0x584057][_0x1c1d('0x23')]){writeDB(members[_0x584057]);}}}}catch(_0x43df18){utils[_0x1c1d('0x15')](util[_0x1c1d('0x16')]('[%s][members][cdr]',_0x26092e['uniqueid']),_0x43df18);}};