Built motion from commit 97153652.|2.6.26
[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 _0x61ee=['device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','voice','TALKING','now','NOT_INUSE','isNil','duration','diffTime','enterAt','agentcomplete','[%s][members][agentcomplete]','queue','cdr','channel','split','data1','source','data3','exitAt','destinationchannel','assign','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','lodash','./utils','Local/_attended@transfer','Queue:','info','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','data2','membername','type','getUserByInterface','interface','internal','CreateMemberReport','getUserByName','then','name','request','catch','error','format','uniqueid','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]'];(function(_0x586c6c,_0x52d41b){var _0x1f70c6=function(_0x3fcb94){while(--_0x3fcb94){_0x586c6c['push'](_0x586c6c['shift']());}};_0x1f70c6(++_0x52d41b);}(_0x61ee,0x1ba));var _0xe61e=function(_0x2298f0,_0x3bbf4f){_0x2298f0=_0x2298f0-0x0;var _0x39b136=_0x61ee[_0x2298f0];return _0x39b136;};'use strict';var _=require(_0xe61e('0x0'));var util=require('util');var utils=require(_0xe61e('0x1'));var members={};var exclude=[_0xe61e('0x2'),_0xe61e('0x3')];function writeDB(_0x15595a){utils[_0xe61e('0x4')](util['format'](_0xe61e('0x5'),_0x15595a['uniqueid'],_0x15595a['interface'],_0x15595a['channel'],_0x15595a[_0xe61e('0x6')],_0x15595a[_0xe61e('0x7')],_0x15595a[_0xe61e('0x8')]));if(_0x15595a['interface']){utils[_0xe61e('0x9')](_0x15595a[_0xe61e('0xa')])['then'](function(_0xe807f3){if(_0xe807f3){_0x15595a[_0xe61e('0x7')]=_0xe807f3['name'];_0x15595a[_0xe61e('0xb')]=_0xe807f3[_0xe61e('0xb')];utils['request'](_0xe61e('0xc'),_0x15595a);}else{utils[_0xe61e('0xd')](_0x15595a[_0xe61e('0xa')]['split']('/')[0x1])[_0xe61e('0xe')](function(_0x357e4f){if(_0x357e4f){_0x15595a[_0xe61e('0x7')]=_0x357e4f[_0xe61e('0xf')];_0x15595a[_0xe61e('0xb')]=_0x357e4f[_0xe61e('0xb')];utils[_0xe61e('0x10')](_0xe61e('0xc'),_0x15595a);}});}})[_0xe61e('0x11')](function(_0x4a18ca){utils[_0xe61e('0x12')](util[_0xe61e('0x13')]('[%s][members][writeDB]',_0x15595a[_0xe61e('0x14')]),_0x4a18ca);});}delete members[_0x15595a[_0xe61e('0xa')]];}function startsWith(_0x13a8f5,_0x45b8d4){return _[_0xe61e('0x15')](_0x13a8f5,function(_0x218ce4){return _[_0xe61e('0x16')](_0x45b8d4,_0x218ce4);});}exports[_0xe61e('0x17')]=function(_0x493620){try{utils[_0xe61e('0x18')](util['format'](_0xe61e('0x19'),members[_0x493620[_0xe61e('0x1a')]]?members[_0x493620['device']]['uniqueid']:_0x493620[_0xe61e('0x1a')]),_0x493620);utils['info'](util['format'](_0xe61e('0x1b'),members[_0x493620[_0xe61e('0x1a')]]?members[_0x493620['device']]['uniqueid']:_0x493620[_0xe61e('0x1a')],_0x493620['state'],_0x493620[_0xe61e('0x1a')]));switch(_0x493620[_0xe61e('0x1c')]){case'INUSE':case _0xe61e('0x1d'):if(!startsWith(exclude,_0x493620[_0xe61e('0x1a')])){members[_0x493620[_0xe61e('0x1a')]]={'channel':_0xe61e('0x1e'),'interface':_0x493620[_0xe61e('0x1a')],'type':_0xe61e('0x1f'),'enterAt':utils[_0xe61e('0x20')](),'role':'agent'};}break;case _0xe61e('0x21'):if(!_[_0xe61e('0x22')](members[_0x493620[_0xe61e('0x1a')]])){members[_0x493620[_0xe61e('0x1a')]]['exitAt']=utils[_0xe61e('0x20')]();members[_0x493620['device']][_0xe61e('0x23')]=utils[_0xe61e('0x24')](members[_0x493620[_0xe61e('0x1a')]]['exitAt'],members[_0x493620[_0xe61e('0x1a')]][_0xe61e('0x25')]);if(members[_0x493620[_0xe61e('0x1a')]][_0xe61e('0x14')]){writeDB(members[_0x493620[_0xe61e('0x1a')]]);}}break;default:break;}}catch(_0x1dc2e0){utils[_0xe61e('0x12')](util['format'](_0xe61e('0x19'),members[_0x493620[_0xe61e('0x1a')]]?members[_0x493620[_0xe61e('0x1a')]]['uniqueid']:_0x493620[_0xe61e('0x1a')]),_0x1dc2e0);}};exports[_0xe61e('0x26')]=function(_0x2c8bd1){try{if(!_[_0xe61e('0x22')](members[_0x2c8bd1[_0xe61e('0xa')]])){utils[_0xe61e('0x18')](util[_0xe61e('0x13')](_0xe61e('0x27'),_0x2c8bd1[_0xe61e('0x14')]),_0x2c8bd1);utils[_0xe61e('0x4')](util[_0xe61e('0x13')]('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x2c8bd1[_0xe61e('0x14')],_0x2c8bd1[_0xe61e('0xa')],_0x2c8bd1[_0xe61e('0x28')]));members[_0x2c8bd1['interface']]=_['assign'](members[_0x2c8bd1[_0xe61e('0xa')]],{'data4':_0x2c8bd1[_0xe61e('0x28')],'uniqueid':_0x2c8bd1[_0xe61e('0x14')]});}}catch(_0x4b18eb){utils[_0xe61e('0x12')](util[_0xe61e('0x13')]('[%s][members][agentcomplete]',_0x2c8bd1[_0xe61e('0x14')]),_0x4b18eb);}};exports[_0xe61e('0x29')]=function(_0x2fb563){try{utils[_0xe61e('0x18')](util[_0xe61e('0x13')]('[%s][members][cdr]',_0x2fb563[_0xe61e('0x14')]),_0x2fb563);if(_0x2fb563[_0xe61e('0x2a')]){var _0x27aace=_0x2fb563['channel'][_0xe61e('0x2b')]('-')[0x0];if(!_[_0xe61e('0x22')](members[_0x27aace])){members[_0x27aace]=_['assign'](members[_0x27aace],{'data1':members[_0x27aace][_0xe61e('0x2c')]||_0x2fb563[_0xe61e('0x8')],'data2':members[_0x27aace][_0xe61e('0x6')]||_0x2fb563[_0xe61e('0x2d')],'data3':members[_0x27aace][_0xe61e('0x2e')]||_0x2fb563['destination'],'uniqueid':members[_0x27aace]['uniqueid']||_0x2fb563['uniqueid']});utils['info'](util[_0xe61e('0x13')]('[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s',_0x2fb563[_0xe61e('0x14')],members[_0x27aace]['data1'],members[_0x27aace][_0xe61e('0x6')],members[_0x27aace][_0xe61e('0x2e')]));if(members[_0x27aace][_0xe61e('0x2f')]){writeDB(members[_0x27aace]);}}}if(_0x2fb563[_0xe61e('0x30')]){var _0x3a4ac3=_0x2fb563[_0xe61e('0x30')][_0xe61e('0x2b')]('-')[0x0];if(!_[_0xe61e('0x22')](members[_0x3a4ac3])){members[_0x3a4ac3]=_[_0xe61e('0x31')](members[_0x3a4ac3],{'data1':members[_0x3a4ac3][_0xe61e('0x2c')]||_0x2fb563['type'],'data2':members[_0x3a4ac3]['data2']||_0x2fb563[_0xe61e('0x2d')],'data3':members[_0x3a4ac3]['data3']||_0x2fb563[_0xe61e('0x32')],'uniqueid':members[_0x3a4ac3]['uniqueid']||_0x2fb563[_0xe61e('0x14')]});utils['info'](util['format'](_0xe61e('0x33'),_0x2fb563['uniqueid'],members[_0x3a4ac3][_0xe61e('0x2c')],members[_0x3a4ac3][_0xe61e('0x6')],members[_0x3a4ac3][_0xe61e('0x2e')]));if(members[_0x3a4ac3][_0xe61e('0x2f')]){writeDB(members[_0x3a4ac3]);}}}}catch(_0xcf1fb4){utils['error'](util[_0xe61e('0x13')]('[%s][members][cdr]',_0x2fb563[_0xe61e('0x14')]),_0xcf1fb4);}};