Built motion from commit 4ca75f1b.|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 _0xa25b=['[%s][members][agentcomplete]','cdr','debug','[%s][members][cdr]','data1','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','lodash','util','Local/_attended@transfer','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','membername','type','getUserByInterface','internal','request','getUserByName','split','then','CreateMemberReport','catch','error','[%s][members][writeDB]','uniqueid','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','assign','queue'];(function(_0x8c43de,_0x90ff31){var _0xa6591b=function(_0x469716){while(--_0x469716){_0x8c43de['push'](_0x8c43de['shift']());}};_0xa6591b(++_0x90ff31);}(_0xa25b,0x170));var _0xba25=function(_0x1b87d5,_0x44167f){_0x1b87d5=_0x1b87d5-0x0;var _0x16cb5b=_0xa25b[_0x1b87d5];return _0x16cb5b;};'use strict';var _=require(_0xba25('0x0'));var util=require(_0xba25('0x1'));var utils=require('./utils');var members={};var exclude=[_0xba25('0x2'),'Queue:'];function writeDB(_0xed0ef6){utils[_0xba25('0x3')](util[_0xba25('0x4')](_0xba25('0x5'),_0xed0ef6['uniqueid'],_0xed0ef6[_0xba25('0x6')],_0xed0ef6[_0xba25('0x7')],_0xed0ef6['data2'],_0xed0ef6[_0xba25('0x8')],_0xed0ef6[_0xba25('0x9')]));if(_0xed0ef6[_0xba25('0x6')]){utils[_0xba25('0xa')](_0xed0ef6['interface'])['then'](function(_0x188c45){if(_0x188c45){_0xed0ef6[_0xba25('0x8')]=_0x188c45['name'];_0xed0ef6['internal']=_0x188c45[_0xba25('0xb')];utils[_0xba25('0xc')]('CreateMemberReport',_0xed0ef6);}else{utils[_0xba25('0xd')](_0xed0ef6[_0xba25('0x6')][_0xba25('0xe')]('/')[0x1])[_0xba25('0xf')](function(_0x37db3f){if(_0x37db3f){_0xed0ef6[_0xba25('0x8')]=_0x37db3f['name'];_0xed0ef6[_0xba25('0xb')]=_0x37db3f[_0xba25('0xb')];utils[_0xba25('0xc')](_0xba25('0x10'),_0xed0ef6);}});}})[_0xba25('0x11')](function(_0x410e8b){utils[_0xba25('0x12')](util[_0xba25('0x4')](_0xba25('0x13'),_0xed0ef6[_0xba25('0x14')]),_0x410e8b);});}delete members[_0xed0ef6[_0xba25('0x6')]];}function startsWith(_0x508e45,_0xe0d90f){return _['some'](_0x508e45,function(_0x1b0a2e){return _['startsWith'](_0xe0d90f,_0x1b0a2e);});}exports['devicestatechange']=function(_0x6bb3a2){try{utils['debug'](util[_0xba25('0x4')](_0xba25('0x15'),members[_0x6bb3a2[_0xba25('0x16')]]?members[_0x6bb3a2[_0xba25('0x16')]][_0xba25('0x14')]:_0x6bb3a2[_0xba25('0x16')]),_0x6bb3a2);utils[_0xba25('0x3')](util[_0xba25('0x4')](_0xba25('0x17'),members[_0x6bb3a2[_0xba25('0x16')]]?members[_0x6bb3a2[_0xba25('0x16')]][_0xba25('0x14')]:_0x6bb3a2[_0xba25('0x16')],_0x6bb3a2[_0xba25('0x18')],_0x6bb3a2['device']));switch(_0x6bb3a2['state']){case _0xba25('0x19'):case _0xba25('0x1a'):if(!startsWith(exclude,_0x6bb3a2['device'])){members[_0x6bb3a2[_0xba25('0x16')]]={'channel':_0xba25('0x1b'),'interface':_0x6bb3a2['device'],'type':_0xba25('0x1c'),'enterAt':utils[_0xba25('0x1d')](),'role':_0xba25('0x1e')};}break;case _0xba25('0x1f'):if(!_[_0xba25('0x20')](members[_0x6bb3a2[_0xba25('0x16')]])){members[_0x6bb3a2[_0xba25('0x16')]][_0xba25('0x21')]=utils[_0xba25('0x1d')]();members[_0x6bb3a2['device']][_0xba25('0x22')]=utils[_0xba25('0x23')](members[_0x6bb3a2[_0xba25('0x16')]][_0xba25('0x21')],members[_0x6bb3a2[_0xba25('0x16')]][_0xba25('0x24')]);if(members[_0x6bb3a2[_0xba25('0x16')]][_0xba25('0x14')]){writeDB(members[_0x6bb3a2[_0xba25('0x16')]]);}}break;default:break;}}catch(_0x244c26){utils['error'](util[_0xba25('0x4')]('[%s][members][devicestatechange]',members[_0x6bb3a2[_0xba25('0x16')]]?members[_0x6bb3a2[_0xba25('0x16')]]['uniqueid']:_0x6bb3a2[_0xba25('0x16')]),_0x244c26);}};exports[_0xba25('0x25')]=function(_0x241ed3){try{if(!_[_0xba25('0x20')](members[_0x241ed3[_0xba25('0x6')]])){utils['debug'](util[_0xba25('0x4')]('[%s][members][agentcomplete]',_0x241ed3[_0xba25('0x14')]),_0x241ed3);utils[_0xba25('0x3')](util['format']('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x241ed3['uniqueid'],_0x241ed3[_0xba25('0x6')],_0x241ed3['queue']));members[_0x241ed3[_0xba25('0x6')]]=_[_0xba25('0x26')](members[_0x241ed3[_0xba25('0x6')]],{'data4':_0x241ed3[_0xba25('0x27')],'uniqueid':_0x241ed3['uniqueid']});}}catch(_0x546bc3){utils[_0xba25('0x12')](util[_0xba25('0x4')](_0xba25('0x28'),_0x241ed3[_0xba25('0x14')]),_0x546bc3);}};exports[_0xba25('0x29')]=function(_0x18221d){try{utils[_0xba25('0x2a')](util[_0xba25('0x4')](_0xba25('0x2b'),_0x18221d[_0xba25('0x14')]),_0x18221d);if(_0x18221d[_0xba25('0x7')]){var _0x31dee4=_0x18221d[_0xba25('0x7')][_0xba25('0xe')]('-')[0x0];if(!_[_0xba25('0x20')](members[_0x31dee4])){members[_0x31dee4]=_['assign'](members[_0x31dee4],{'data1':members[_0x31dee4][_0xba25('0x2c')]||_0x18221d[_0xba25('0x9')],'data2':members[_0x31dee4][_0xba25('0x2d')]||_0x18221d[_0xba25('0x2e')],'data3':members[_0x31dee4][_0xba25('0x2f')]||_0x18221d[_0xba25('0x30')],'uniqueid':members[_0x31dee4]['uniqueid']||_0x18221d[_0xba25('0x14')]});utils[_0xba25('0x3')](util[_0xba25('0x4')](_0xba25('0x31'),_0x18221d['uniqueid'],members[_0x31dee4][_0xba25('0x2c')],members[_0x31dee4]['data2'],members[_0x31dee4]['data3']));if(members[_0x31dee4][_0xba25('0x21')]){writeDB(members[_0x31dee4]);}}}if(_0x18221d[_0xba25('0x32')]){var _0x316590=_0x18221d[_0xba25('0x32')]['split']('-')[0x0];if(!_['isNil'](members[_0x316590])){members[_0x316590]=_[_0xba25('0x26')](members[_0x316590],{'data1':members[_0x316590][_0xba25('0x2c')]||_0x18221d[_0xba25('0x9')],'data2':members[_0x316590][_0xba25('0x2d')]||_0x18221d[_0xba25('0x2e')],'data3':members[_0x316590][_0xba25('0x2f')]||_0x18221d[_0xba25('0x30')],'uniqueid':members[_0x316590]['uniqueid']||_0x18221d['uniqueid']});utils[_0xba25('0x3')](util[_0xba25('0x4')](_0xba25('0x31'),_0x18221d['uniqueid'],members[_0x316590][_0xba25('0x2c')],members[_0x316590][_0xba25('0x2d')],members[_0x316590][_0xba25('0x2f')]));if(members[_0x316590][_0xba25('0x21')]){writeDB(members[_0x316590]);}}}}catch(_0x57bb18){utils['error'](util['format'](_0xba25('0x2b'),_0x18221d['uniqueid']),_0x57bb18);}};