Built motion from commit (unavailable).|2.5.1
[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 _0xfb9d=['cdr','data1','type','destination','destinationchannel','data3','util','./utils','Local/_attended@transfer','Queue:','info','format','MEMBER|%s|%s|%s|%s|%s|%s','uniqueid','interface','channel','data2','membername','then','internal','CreateMemberReport','getUserByName','split','name','request','catch','some','startsWith','state','INUSE','device','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','assign','queue'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xfb9d,0x15e));var _0xdfb9=function(_0x358641,_0x14a311){_0x358641=_0x358641-0x0;var _0x49edcd=_0xfb9d[_0x358641];return _0x49edcd;};'use strict';var _=require('lodash');var util=require(_0xdfb9('0x0'));var utils=require(_0xdfb9('0x1'));var members={};var exclude=[_0xdfb9('0x2'),_0xdfb9('0x3')];function writeDB(_0x1c3945){utils[_0xdfb9('0x4')](util[_0xdfb9('0x5')](_0xdfb9('0x6'),_0x1c3945[_0xdfb9('0x7')],_0x1c3945[_0xdfb9('0x8')],_0x1c3945[_0xdfb9('0x9')],_0x1c3945[_0xdfb9('0xa')],_0x1c3945[_0xdfb9('0xb')],_0x1c3945['type']));if(_0x1c3945[_0xdfb9('0x8')]){utils['getUserByInterface'](_0x1c3945['interface'])[_0xdfb9('0xc')](function(_0x3286a5){if(_0x3286a5){_0x1c3945[_0xdfb9('0xb')]=_0x3286a5['name'];_0x1c3945['internal']=_0x3286a5[_0xdfb9('0xd')];utils['request'](_0xdfb9('0xe'),_0x1c3945);}else{utils[_0xdfb9('0xf')](_0x1c3945[_0xdfb9('0x8')][_0xdfb9('0x10')]('/')[0x1])['then'](function(_0x55847b){if(_0x55847b){_0x1c3945[_0xdfb9('0xb')]=_0x55847b[_0xdfb9('0x11')];_0x1c3945[_0xdfb9('0xd')]=_0x55847b[_0xdfb9('0xd')];utils[_0xdfb9('0x12')](_0xdfb9('0xe'),_0x1c3945);}});}})[_0xdfb9('0x13')](function(_0x5b9fcf){utils['error'](_0x5b9fcf);});}delete members[_0x1c3945['interface']];}function startsWith(_0x225654,_0x153982){return _[_0xdfb9('0x14')](_0x225654,function(_0x15f8c3){return _[_0xdfb9('0x15')](_0x153982,_0x15f8c3);});}exports['devicestatechange']=function(_0x26cd39){switch(_0x26cd39[_0xdfb9('0x16')]){case _0xdfb9('0x17'):case'BUSY':if(!startsWith(exclude,_0x26cd39['device'])){members[_0x26cd39[_0xdfb9('0x18')]]={'channel':'voice','interface':_0x26cd39[_0xdfb9('0x18')],'type':_0xdfb9('0x19'),'enterAt':utils[_0xdfb9('0x1a')](),'role':_0xdfb9('0x1b')};}break;case _0xdfb9('0x1c'):if(!_[_0xdfb9('0x1d')](members[_0x26cd39[_0xdfb9('0x18')]])){members[_0x26cd39[_0xdfb9('0x18')]][_0xdfb9('0x1e')]=utils[_0xdfb9('0x1a')]();members[_0x26cd39[_0xdfb9('0x18')]][_0xdfb9('0x1f')]=utils[_0xdfb9('0x20')](members[_0x26cd39[_0xdfb9('0x18')]][_0xdfb9('0x1e')],members[_0x26cd39['device']][_0xdfb9('0x21')]);if(members[_0x26cd39[_0xdfb9('0x18')]]['uniqueid']){writeDB(members[_0x26cd39[_0xdfb9('0x18')]]);}}default:break;}};exports[_0xdfb9('0x22')]=function(_0x370110){if(!_['isNil'](members[_0x370110[_0xdfb9('0x8')]])){members[_0x370110[_0xdfb9('0x8')]]=_[_0xdfb9('0x23')](members[_0x370110[_0xdfb9('0x8')]],{'data4':_0x370110[_0xdfb9('0x24')],'uniqueid':_0x370110[_0xdfb9('0x7')]});}};exports[_0xdfb9('0x25')]=function(_0x53987f){if(_0x53987f[_0xdfb9('0x9')]){var _0x544e0b=_0x53987f[_0xdfb9('0x9')]['split']('-')[0x0];if(!_['isNil'](members[_0x544e0b])){members[_0x544e0b]=_[_0xdfb9('0x23')](members[_0x544e0b],{'data1':members[_0x544e0b][_0xdfb9('0x26')]||_0x53987f[_0xdfb9('0x27')],'data2':members[_0x544e0b][_0xdfb9('0xa')]||_0x53987f['source'],'data3':members[_0x544e0b]['data3']||_0x53987f[_0xdfb9('0x28')],'uniqueid':members[_0x544e0b][_0xdfb9('0x7')]||_0x53987f[_0xdfb9('0x7')]});if(members[_0x544e0b][_0xdfb9('0x1e')]){writeDB(members[_0x544e0b]);}}}if(_0x53987f[_0xdfb9('0x29')]){var _0x5934c4=_0x53987f[_0xdfb9('0x29')][_0xdfb9('0x10')]('-')[0x0];if(!_[_0xdfb9('0x1d')](members[_0x5934c4])){members[_0x5934c4]=_[_0xdfb9('0x23')](members[_0x5934c4],{'data1':members[_0x5934c4][_0xdfb9('0x26')]||_0x53987f[_0xdfb9('0x27')],'data2':members[_0x5934c4][_0xdfb9('0xa')]||_0x53987f['source'],'data3':members[_0x5934c4][_0xdfb9('0x2a')]||_0x53987f[_0xdfb9('0x28')],'uniqueid':members[_0x5934c4][_0xdfb9('0x7')]||_0x53987f[_0xdfb9('0x7')]});if(members[_0x5934c4]['exitAt']){writeDB(members[_0x5934c4]);}}}};