6477a0d9d1bd969e50b1bc721a30716cb8b82b30
[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 _0xa854=['util','./utils','Local/_attended@transfer','Queue:','info','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','interface','channel','membername','type','getUserByInterface','then','name','internal','request','CreateMemberReport','getUserByName','split','error','format','[%s][members][writeDB]','uniqueid','some','startsWith','debug','[%s][members][devicestatechange]','device','state','INUSE','BUSY','TALKING','now','agent','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','data1','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','data2','destinationchannel','lodash'];(function(_0x4d26f3,_0x3e1615){var _0x3accb7=function(_0x53c769){while(--_0x53c769){_0x4d26f3['push'](_0x4d26f3['shift']());}};_0x3accb7(++_0x3e1615);}(_0xa854,0x103));var _0x4a85=function(_0x434c61,_0x4d26d3){_0x434c61=_0x434c61-0x0;var _0x152581=_0xa854[_0x434c61];return _0x152581;};'use strict';var _=require(_0x4a85('0x0'));var util=require(_0x4a85('0x1'));var utils=require(_0x4a85('0x2'));var members={};var exclude=[_0x4a85('0x3'),_0x4a85('0x4')];function writeDB(_0x491f7c){utils[_0x4a85('0x5')](util['format'](_0x4a85('0x6'),_0x491f7c['uniqueid'],_0x491f7c[_0x4a85('0x7')],_0x491f7c[_0x4a85('0x8')],_0x491f7c['data2'],_0x491f7c[_0x4a85('0x9')],_0x491f7c[_0x4a85('0xa')]));if(_0x491f7c['interface']){utils[_0x4a85('0xb')](_0x491f7c['interface'])[_0x4a85('0xc')](function(_0x1131cd){if(_0x1131cd){_0x491f7c[_0x4a85('0x9')]=_0x1131cd[_0x4a85('0xd')];_0x491f7c[_0x4a85('0xe')]=_0x1131cd[_0x4a85('0xe')];utils[_0x4a85('0xf')](_0x4a85('0x10'),_0x491f7c);}else{utils[_0x4a85('0x11')](_0x491f7c['interface'][_0x4a85('0x12')]('/')[0x1])[_0x4a85('0xc')](function(_0x42b7b9){if(_0x42b7b9){_0x491f7c[_0x4a85('0x9')]=_0x42b7b9[_0x4a85('0xd')];_0x491f7c[_0x4a85('0xe')]=_0x42b7b9[_0x4a85('0xe')];utils[_0x4a85('0xf')](_0x4a85('0x10'),_0x491f7c);}});}})['catch'](function(_0x35e857){utils[_0x4a85('0x13')](util[_0x4a85('0x14')](_0x4a85('0x15'),_0x491f7c[_0x4a85('0x16')]),_0x35e857);});}delete members[_0x491f7c[_0x4a85('0x7')]];}function startsWith(_0x34743a,_0x256a3c){return _[_0x4a85('0x17')](_0x34743a,function(_0x397f4a){return _[_0x4a85('0x18')](_0x256a3c,_0x397f4a);});}exports['devicestatechange']=function(_0x28a7d3){try{utils[_0x4a85('0x19')](util['format'](_0x4a85('0x1a'),members[_0x28a7d3[_0x4a85('0x1b')]]?members[_0x28a7d3[_0x4a85('0x1b')]]['uniqueid']:_0x28a7d3[_0x4a85('0x1b')]),_0x28a7d3);utils[_0x4a85('0x5')](util[_0x4a85('0x14')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x28a7d3['device']]?members[_0x28a7d3[_0x4a85('0x1b')]][_0x4a85('0x16')]:_0x28a7d3[_0x4a85('0x1b')],_0x28a7d3[_0x4a85('0x1c')],_0x28a7d3[_0x4a85('0x1b')]));switch(_0x28a7d3[_0x4a85('0x1c')]){case _0x4a85('0x1d'):case _0x4a85('0x1e'):if(!startsWith(exclude,_0x28a7d3['device'])){members[_0x28a7d3['device']]={'channel':'voice','interface':_0x28a7d3[_0x4a85('0x1b')],'type':_0x4a85('0x1f'),'enterAt':utils[_0x4a85('0x20')](),'role':_0x4a85('0x21')};}break;case'NOT_INUSE':if(!_[_0x4a85('0x22')](members[_0x28a7d3[_0x4a85('0x1b')]])){members[_0x28a7d3[_0x4a85('0x1b')]][_0x4a85('0x23')]=utils[_0x4a85('0x20')]();members[_0x28a7d3['device']][_0x4a85('0x24')]=utils[_0x4a85('0x25')](members[_0x28a7d3[_0x4a85('0x1b')]][_0x4a85('0x23')],members[_0x28a7d3[_0x4a85('0x1b')]][_0x4a85('0x26')]);if(members[_0x28a7d3[_0x4a85('0x1b')]][_0x4a85('0x16')]){writeDB(members[_0x28a7d3[_0x4a85('0x1b')]]);}}break;default:break;}}catch(_0x377796){utils['error'](util[_0x4a85('0x14')]('[%s][members][devicestatechange]',members[_0x28a7d3[_0x4a85('0x1b')]]?members[_0x28a7d3[_0x4a85('0x1b')]][_0x4a85('0x16')]:_0x28a7d3[_0x4a85('0x1b')]),_0x377796);}};exports[_0x4a85('0x27')]=function(_0x37095a){try{if(!_[_0x4a85('0x22')](members[_0x37095a[_0x4a85('0x7')]])){utils['debug'](util[_0x4a85('0x14')]('[%s][members][agentcomplete]',_0x37095a[_0x4a85('0x16')]),_0x37095a);utils[_0x4a85('0x5')](util['format'](_0x4a85('0x28'),_0x37095a[_0x4a85('0x16')],_0x37095a[_0x4a85('0x7')],_0x37095a[_0x4a85('0x29')]));members[_0x37095a[_0x4a85('0x7')]]=_[_0x4a85('0x2a')](members[_0x37095a[_0x4a85('0x7')]],{'data4':_0x37095a[_0x4a85('0x29')],'uniqueid':_0x37095a[_0x4a85('0x16')]});}}catch(_0x89e5bb){utils[_0x4a85('0x13')](util[_0x4a85('0x14')]('[%s][members][agentcomplete]',_0x37095a[_0x4a85('0x16')]),_0x89e5bb);}};exports[_0x4a85('0x2b')]=function(_0x41adff){try{utils[_0x4a85('0x19')](util['format'](_0x4a85('0x2c'),_0x41adff[_0x4a85('0x16')]),_0x41adff);if(_0x41adff[_0x4a85('0x8')]){var _0x117c3d=_0x41adff[_0x4a85('0x8')][_0x4a85('0x12')]('-')[0x0];if(!_[_0x4a85('0x22')](members[_0x117c3d])){members[_0x117c3d]=_['assign'](members[_0x117c3d],{'data1':members[_0x117c3d][_0x4a85('0x2d')]||_0x41adff[_0x4a85('0xa')],'data2':members[_0x117c3d]['data2']||_0x41adff[_0x4a85('0x2e')],'data3':members[_0x117c3d][_0x4a85('0x2f')]||_0x41adff[_0x4a85('0x30')],'uniqueid':members[_0x117c3d]['uniqueid']||_0x41adff[_0x4a85('0x16')]});utils[_0x4a85('0x5')](util[_0x4a85('0x14')](_0x4a85('0x31'),_0x41adff[_0x4a85('0x16')],members[_0x117c3d][_0x4a85('0x2d')],members[_0x117c3d][_0x4a85('0x32')],members[_0x117c3d][_0x4a85('0x2f')]));if(members[_0x117c3d][_0x4a85('0x23')]){writeDB(members[_0x117c3d]);}}}if(_0x41adff['destinationchannel']){var _0x200598=_0x41adff[_0x4a85('0x33')][_0x4a85('0x12')]('-')[0x0];if(!_['isNil'](members[_0x200598])){members[_0x200598]=_[_0x4a85('0x2a')](members[_0x200598],{'data1':members[_0x200598]['data1']||_0x41adff[_0x4a85('0xa')],'data2':members[_0x200598][_0x4a85('0x32')]||_0x41adff['source'],'data3':members[_0x200598][_0x4a85('0x2f')]||_0x41adff[_0x4a85('0x30')],'uniqueid':members[_0x200598][_0x4a85('0x16')]||_0x41adff['uniqueid']});utils['info'](util[_0x4a85('0x14')](_0x4a85('0x31'),_0x41adff['uniqueid'],members[_0x200598]['data1'],members[_0x200598]['data2'],members[_0x200598][_0x4a85('0x2f')]));if(members[_0x200598][_0x4a85('0x23')]){writeDB(members[_0x200598]);}}}}catch(_0x4fd1de){utils['error'](util[_0x4a85('0x14')](_0x4a85('0x2c'),_0x41adff[_0x4a85('0x16')]),_0x4fd1de);}};