Built motion from commit 25580385.|2.6.2
[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 _0x83ed=['internal','request','CreateMemberReport','getUserByName','split','catch','[%s][members][writeDB]','some','devicestatechange','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','INUSE','BUSY','voice','now','NOT_INUSE','isNil','exitAt','duration','diffTime','error','agentcomplete','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','channel','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','util','./utils','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','data2','membername','type','then','name'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x83ed,0xb7));var _0xd83e=function(_0x2dea24,_0x2fc021){_0x2dea24=_0x2dea24-0x0;var _0x309d58=_0x83ed[_0x2dea24];return _0x309d58;};'use strict';var _=require('lodash');var util=require(_0xd83e('0x0'));var utils=require(_0xd83e('0x1'));var members={};var exclude=['Local/_attended@transfer',_0xd83e('0x2')];function writeDB(_0x3a4575){utils[_0xd83e('0x3')](util[_0xd83e('0x4')](_0xd83e('0x5'),_0x3a4575[_0xd83e('0x6')],_0x3a4575[_0xd83e('0x7')],_0x3a4575['channel'],_0x3a4575[_0xd83e('0x8')],_0x3a4575[_0xd83e('0x9')],_0x3a4575[_0xd83e('0xa')]));if(_0x3a4575[_0xd83e('0x7')]){utils['getUserByInterface'](_0x3a4575[_0xd83e('0x7')])[_0xd83e('0xb')](function(_0x3906fb){if(_0x3906fb){_0x3a4575[_0xd83e('0x9')]=_0x3906fb[_0xd83e('0xc')];_0x3a4575[_0xd83e('0xd')]=_0x3906fb['internal'];utils[_0xd83e('0xe')](_0xd83e('0xf'),_0x3a4575);}else{utils[_0xd83e('0x10')](_0x3a4575[_0xd83e('0x7')][_0xd83e('0x11')]('/')[0x1])['then'](function(_0x29df0a){if(_0x29df0a){_0x3a4575[_0xd83e('0x9')]=_0x29df0a[_0xd83e('0xc')];_0x3a4575['internal']=_0x29df0a['internal'];utils[_0xd83e('0xe')](_0xd83e('0xf'),_0x3a4575);}});}})[_0xd83e('0x12')](function(_0x17ea2f){utils['error'](util[_0xd83e('0x4')](_0xd83e('0x13'),_0x3a4575[_0xd83e('0x6')]),_0x17ea2f);});}delete members[_0x3a4575['interface']];}function startsWith(_0x53367a,_0xd7ff84){return _[_0xd83e('0x14')](_0x53367a,function(_0xc6105b){return _['startsWith'](_0xd7ff84,_0xc6105b);});}exports[_0xd83e('0x15')]=function(_0x53a3aa){try{utils['debug'](util[_0xd83e('0x4')](_0xd83e('0x16'),members[_0x53a3aa[_0xd83e('0x17')]]?members[_0x53a3aa[_0xd83e('0x17')]][_0xd83e('0x6')]:_0x53a3aa['device']),_0x53a3aa);utils[_0xd83e('0x3')](util['format'](_0xd83e('0x18'),members[_0x53a3aa[_0xd83e('0x17')]]?members[_0x53a3aa[_0xd83e('0x17')]][_0xd83e('0x6')]:_0x53a3aa[_0xd83e('0x17')],_0x53a3aa['state'],_0x53a3aa['device']));switch(_0x53a3aa['state']){case _0xd83e('0x19'):case _0xd83e('0x1a'):if(!startsWith(exclude,_0x53a3aa[_0xd83e('0x17')])){members[_0x53a3aa[_0xd83e('0x17')]]={'channel':_0xd83e('0x1b'),'interface':_0x53a3aa[_0xd83e('0x17')],'type':'TALKING','enterAt':utils[_0xd83e('0x1c')](),'role':'agent'};}break;case _0xd83e('0x1d'):if(!_[_0xd83e('0x1e')](members[_0x53a3aa[_0xd83e('0x17')]])){members[_0x53a3aa[_0xd83e('0x17')]][_0xd83e('0x1f')]=utils[_0xd83e('0x1c')]();members[_0x53a3aa[_0xd83e('0x17')]][_0xd83e('0x20')]=utils[_0xd83e('0x21')](members[_0x53a3aa[_0xd83e('0x17')]]['exitAt'],members[_0x53a3aa[_0xd83e('0x17')]]['enterAt']);if(members[_0x53a3aa[_0xd83e('0x17')]][_0xd83e('0x6')]){writeDB(members[_0x53a3aa[_0xd83e('0x17')]]);}}break;default:break;}}catch(_0x49d60c){utils[_0xd83e('0x22')](util[_0xd83e('0x4')](_0xd83e('0x16'),members[_0x53a3aa[_0xd83e('0x17')]]?members[_0x53a3aa[_0xd83e('0x17')]][_0xd83e('0x6')]:_0x53a3aa[_0xd83e('0x17')]),_0x49d60c);}};exports[_0xd83e('0x23')]=function(_0x2a8900){try{if(!_[_0xd83e('0x1e')](members[_0x2a8900[_0xd83e('0x7')]])){utils[_0xd83e('0x24')](util[_0xd83e('0x4')](_0xd83e('0x25'),_0x2a8900['uniqueid']),_0x2a8900);utils[_0xd83e('0x3')](util[_0xd83e('0x4')](_0xd83e('0x26'),_0x2a8900[_0xd83e('0x6')],_0x2a8900[_0xd83e('0x7')],_0x2a8900[_0xd83e('0x27')]));members[_0x2a8900[_0xd83e('0x7')]]=_[_0xd83e('0x28')](members[_0x2a8900[_0xd83e('0x7')]],{'data4':_0x2a8900[_0xd83e('0x27')],'uniqueid':_0x2a8900['uniqueid']});}}catch(_0x2295aa){utils[_0xd83e('0x22')](util[_0xd83e('0x4')]('[%s][members][agentcomplete]',_0x2a8900['uniqueid']),_0x2295aa);}};exports[_0xd83e('0x29')]=function(_0x2b570f){try{utils['debug'](util['format'](_0xd83e('0x2a'),_0x2b570f[_0xd83e('0x6')]),_0x2b570f);if(_0x2b570f[_0xd83e('0x2b')]){var _0xf95b62=_0x2b570f[_0xd83e('0x2b')][_0xd83e('0x11')]('-')[0x0];if(!_['isNil'](members[_0xf95b62])){members[_0xf95b62]=_[_0xd83e('0x28')](members[_0xf95b62],{'data1':members[_0xf95b62]['data1']||_0x2b570f[_0xd83e('0xa')],'data2':members[_0xf95b62][_0xd83e('0x8')]||_0x2b570f[_0xd83e('0x2c')],'data3':members[_0xf95b62][_0xd83e('0x2d')]||_0x2b570f[_0xd83e('0x2e')],'uniqueid':members[_0xf95b62][_0xd83e('0x6')]||_0x2b570f[_0xd83e('0x6')]});utils[_0xd83e('0x3')](util[_0xd83e('0x4')](_0xd83e('0x2f'),_0x2b570f[_0xd83e('0x6')],members[_0xf95b62]['data1'],members[_0xf95b62][_0xd83e('0x8')],members[_0xf95b62]['data3']));if(members[_0xf95b62]['exitAt']){writeDB(members[_0xf95b62]);}}}if(_0x2b570f[_0xd83e('0x30')]){var _0x2f5cc4=_0x2b570f[_0xd83e('0x30')]['split']('-')[0x0];if(!_['isNil'](members[_0x2f5cc4])){members[_0x2f5cc4]=_[_0xd83e('0x28')](members[_0x2f5cc4],{'data1':members[_0x2f5cc4]['data1']||_0x2b570f['type'],'data2':members[_0x2f5cc4]['data2']||_0x2b570f[_0xd83e('0x2c')],'data3':members[_0x2f5cc4][_0xd83e('0x2d')]||_0x2b570f[_0xd83e('0x2e')],'uniqueid':members[_0x2f5cc4][_0xd83e('0x6')]||_0x2b570f[_0xd83e('0x6')]});utils[_0xd83e('0x3')](util[_0xd83e('0x4')](_0xd83e('0x2f'),_0x2b570f[_0xd83e('0x6')],members[_0x2f5cc4]['data1'],members[_0x2f5cc4][_0xd83e('0x8')],members[_0x2f5cc4][_0xd83e('0x2d')]));if(members[_0x2f5cc4][_0xd83e('0x1f')]){writeDB(members[_0x2f5cc4]);}}}}catch(_0x2a681a){utils[_0xd83e('0x22')](util[_0xd83e('0x4')](_0xd83e('0x2a'),_0x2b570f[_0xd83e('0x6')]),_0x2a681a);}};