Built motion from commit 1fa89557.|2.6.10
[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 _0x3c61=['assign','error','cdr','[%s][members][cdr]','data1','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','type','./utils','Local/_attended@transfer','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','channel','membername','getUserByInterface','then','name','internal','request','getUserByName','interface','split','CreateMemberReport','catch','[%s][members][writeDB]','some','startsWith','devicestatechange','format','[%s][members][devicestatechange]','device','info','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','debug','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue'];(function(_0x2dfa64,_0x11f260){var _0xf9c2ce=function(_0x5a97ec){while(--_0x5a97ec){_0x2dfa64['push'](_0x2dfa64['shift']());}};_0xf9c2ce(++_0x11f260);}(_0x3c61,0x11a));var _0x13c6=function(_0x565168,_0x2551af){_0x565168=_0x565168-0x0;var _0x1256bb=_0x3c61[_0x565168];return _0x1256bb;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0x13c6('0x0'));var members={};var exclude=[_0x13c6('0x1'),'Queue:'];function writeDB(_0xa9735d){utils['info'](util['format'](_0x13c6('0x2'),_0xa9735d[_0x13c6('0x3')],_0xa9735d['interface'],_0xa9735d[_0x13c6('0x4')],_0xa9735d['data2'],_0xa9735d[_0x13c6('0x5')],_0xa9735d['type']));if(_0xa9735d['interface']){utils[_0x13c6('0x6')](_0xa9735d['interface'])[_0x13c6('0x7')](function(_0x2c06e1){if(_0x2c06e1){_0xa9735d[_0x13c6('0x5')]=_0x2c06e1[_0x13c6('0x8')];_0xa9735d[_0x13c6('0x9')]=_0x2c06e1['internal'];utils[_0x13c6('0xa')]('CreateMemberReport',_0xa9735d);}else{utils[_0x13c6('0xb')](_0xa9735d[_0x13c6('0xc')][_0x13c6('0xd')]('/')[0x1])[_0x13c6('0x7')](function(_0x5b1a78){if(_0x5b1a78){_0xa9735d[_0x13c6('0x5')]=_0x5b1a78[_0x13c6('0x8')];_0xa9735d[_0x13c6('0x9')]=_0x5b1a78[_0x13c6('0x9')];utils[_0x13c6('0xa')](_0x13c6('0xe'),_0xa9735d);}});}})[_0x13c6('0xf')](function(_0x481d4c){utils['error'](util['format'](_0x13c6('0x10'),_0xa9735d[_0x13c6('0x3')]),_0x481d4c);});}delete members[_0xa9735d['interface']];}function startsWith(_0x582253,_0x10a722){return _[_0x13c6('0x11')](_0x582253,function(_0x1319ca){return _[_0x13c6('0x12')](_0x10a722,_0x1319ca);});}exports[_0x13c6('0x13')]=function(_0x48eeb7){try{utils['debug'](util[_0x13c6('0x14')](_0x13c6('0x15'),members[_0x48eeb7[_0x13c6('0x16')]]?members[_0x48eeb7[_0x13c6('0x16')]]['uniqueid']:_0x48eeb7[_0x13c6('0x16')]),_0x48eeb7);utils[_0x13c6('0x17')](util['format'](_0x13c6('0x18'),members[_0x48eeb7[_0x13c6('0x16')]]?members[_0x48eeb7['device']][_0x13c6('0x3')]:_0x48eeb7[_0x13c6('0x16')],_0x48eeb7[_0x13c6('0x19')],_0x48eeb7[_0x13c6('0x16')]));switch(_0x48eeb7['state']){case _0x13c6('0x1a'):case _0x13c6('0x1b'):if(!startsWith(exclude,_0x48eeb7[_0x13c6('0x16')])){members[_0x48eeb7[_0x13c6('0x16')]]={'channel':'voice','interface':_0x48eeb7[_0x13c6('0x16')],'type':_0x13c6('0x1c'),'enterAt':utils[_0x13c6('0x1d')](),'role':_0x13c6('0x1e')};}break;case _0x13c6('0x1f'):if(!_[_0x13c6('0x20')](members[_0x48eeb7[_0x13c6('0x16')]])){members[_0x48eeb7[_0x13c6('0x16')]][_0x13c6('0x21')]=utils[_0x13c6('0x1d')]();members[_0x48eeb7['device']][_0x13c6('0x22')]=utils[_0x13c6('0x23')](members[_0x48eeb7[_0x13c6('0x16')]][_0x13c6('0x21')],members[_0x48eeb7[_0x13c6('0x16')]][_0x13c6('0x24')]);if(members[_0x48eeb7['device']][_0x13c6('0x3')]){writeDB(members[_0x48eeb7[_0x13c6('0x16')]]);}}break;default:break;}}catch(_0x227b2d){utils['error'](util[_0x13c6('0x14')](_0x13c6('0x15'),members[_0x48eeb7[_0x13c6('0x16')]]?members[_0x48eeb7[_0x13c6('0x16')]][_0x13c6('0x3')]:_0x48eeb7[_0x13c6('0x16')]),_0x227b2d);}};exports[_0x13c6('0x25')]=function(_0xed18d0){try{if(!_[_0x13c6('0x20')](members[_0xed18d0[_0x13c6('0xc')]])){utils[_0x13c6('0x26')](util[_0x13c6('0x14')](_0x13c6('0x27'),_0xed18d0[_0x13c6('0x3')]),_0xed18d0);utils[_0x13c6('0x17')](util['format'](_0x13c6('0x28'),_0xed18d0[_0x13c6('0x3')],_0xed18d0[_0x13c6('0xc')],_0xed18d0[_0x13c6('0x29')]));members[_0xed18d0[_0x13c6('0xc')]]=_[_0x13c6('0x2a')](members[_0xed18d0[_0x13c6('0xc')]],{'data4':_0xed18d0[_0x13c6('0x29')],'uniqueid':_0xed18d0[_0x13c6('0x3')]});}}catch(_0x526a96){utils[_0x13c6('0x2b')](util[_0x13c6('0x14')](_0x13c6('0x27'),_0xed18d0[_0x13c6('0x3')]),_0x526a96);}};exports[_0x13c6('0x2c')]=function(_0x1f3f5e){try{utils[_0x13c6('0x26')](util[_0x13c6('0x14')](_0x13c6('0x2d'),_0x1f3f5e[_0x13c6('0x3')]),_0x1f3f5e);if(_0x1f3f5e[_0x13c6('0x4')]){var _0x37f2cf=_0x1f3f5e[_0x13c6('0x4')][_0x13c6('0xd')]('-')[0x0];if(!_['isNil'](members[_0x37f2cf])){members[_0x37f2cf]=_[_0x13c6('0x2a')](members[_0x37f2cf],{'data1':members[_0x37f2cf][_0x13c6('0x2e')]||_0x1f3f5e['type'],'data2':members[_0x37f2cf][_0x13c6('0x2f')]||_0x1f3f5e[_0x13c6('0x30')],'data3':members[_0x37f2cf][_0x13c6('0x31')]||_0x1f3f5e[_0x13c6('0x32')],'uniqueid':members[_0x37f2cf][_0x13c6('0x3')]||_0x1f3f5e[_0x13c6('0x3')]});utils[_0x13c6('0x17')](util[_0x13c6('0x14')](_0x13c6('0x33'),_0x1f3f5e[_0x13c6('0x3')],members[_0x37f2cf][_0x13c6('0x2e')],members[_0x37f2cf]['data2'],members[_0x37f2cf][_0x13c6('0x31')]));if(members[_0x37f2cf][_0x13c6('0x21')]){writeDB(members[_0x37f2cf]);}}}if(_0x1f3f5e[_0x13c6('0x34')]){var _0x3cbbe2=_0x1f3f5e[_0x13c6('0x34')][_0x13c6('0xd')]('-')[0x0];if(!_[_0x13c6('0x20')](members[_0x3cbbe2])){members[_0x3cbbe2]=_[_0x13c6('0x2a')](members[_0x3cbbe2],{'data1':members[_0x3cbbe2][_0x13c6('0x2e')]||_0x1f3f5e[_0x13c6('0x35')],'data2':members[_0x3cbbe2][_0x13c6('0x2f')]||_0x1f3f5e[_0x13c6('0x30')],'data3':members[_0x3cbbe2][_0x13c6('0x31')]||_0x1f3f5e[_0x13c6('0x32')],'uniqueid':members[_0x3cbbe2][_0x13c6('0x3')]||_0x1f3f5e[_0x13c6('0x3')]});utils[_0x13c6('0x17')](util['format'](_0x13c6('0x33'),_0x1f3f5e[_0x13c6('0x3')],members[_0x3cbbe2][_0x13c6('0x2e')],members[_0x3cbbe2][_0x13c6('0x2f')],members[_0x3cbbe2][_0x13c6('0x31')]));if(members[_0x3cbbe2][_0x13c6('0x21')]){writeDB(members[_0x3cbbe2]);}}}}catch(_0x9e2de0){utils['error'](util[_0x13c6('0x14')]('[%s][members][cdr]',_0x1f3f5e[_0x13c6('0x3')]),_0x9e2de0);}};