Built motion from commit (unavailable).|2.5.0
[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 _0x5001=['type','data3','uniqueid','destinationchannel','source','destination','util','./utils','Queue:','info','MEMBER|%s|%s|%s|%s|%s|%s','interface','channel','data2','membername','then','name','internal','request','CreateMemberReport','getUserByName','split','catch','some','startsWith','devicestatechange','state','INUSE','BUSY','device','voice','TALKING','now','agent','exitAt','duration','diffTime','enterAt','assign','queue','cdr','isNil','data1'];(function(_0x4099af,_0x1578bf){var _0x46e189=function(_0x5a7a18){while(--_0x5a7a18){_0x4099af['push'](_0x4099af['shift']());}};_0x46e189(++_0x1578bf);}(_0x5001,0xdd));var _0x1500=function(_0x2e3e07,_0x5ebda4){_0x2e3e07=_0x2e3e07-0x0;var _0x1d71b4=_0x5001[_0x2e3e07];return _0x1d71b4;};'use strict';var _=require('lodash');var util=require(_0x1500('0x0'));var utils=require(_0x1500('0x1'));var members={};var exclude=['Local/_attended@transfer',_0x1500('0x2')];function writeDB(_0x3be279){utils[_0x1500('0x3')](util['format'](_0x1500('0x4'),_0x3be279['uniqueid'],_0x3be279[_0x1500('0x5')],_0x3be279[_0x1500('0x6')],_0x3be279[_0x1500('0x7')],_0x3be279[_0x1500('0x8')],_0x3be279['type']));if(_0x3be279[_0x1500('0x5')]){utils['getUserByInterface'](_0x3be279['interface'])[_0x1500('0x9')](function(_0xfcb20c){if(_0xfcb20c){_0x3be279[_0x1500('0x8')]=_0xfcb20c[_0x1500('0xa')];_0x3be279[_0x1500('0xb')]=_0xfcb20c[_0x1500('0xb')];utils[_0x1500('0xc')](_0x1500('0xd'),_0x3be279);}else{utils[_0x1500('0xe')](_0x3be279['interface'][_0x1500('0xf')]('/')[0x1])['then'](function(_0x22913c){if(_0x22913c){_0x3be279[_0x1500('0x8')]=_0x22913c[_0x1500('0xa')];_0x3be279['internal']=_0x22913c[_0x1500('0xb')];utils[_0x1500('0xc')](_0x1500('0xd'),_0x3be279);}});}})[_0x1500('0x10')](function(_0x3ecc04){utils['error'](_0x3ecc04);});}delete members[_0x3be279['interface']];}function startsWith(_0x3032e8,_0xaaddc7){return _[_0x1500('0x11')](_0x3032e8,function(_0x5ba916){return _[_0x1500('0x12')](_0xaaddc7,_0x5ba916);});}exports[_0x1500('0x13')]=function(_0x408fdc){switch(_0x408fdc[_0x1500('0x14')]){case _0x1500('0x15'):case _0x1500('0x16'):if(!startsWith(exclude,_0x408fdc[_0x1500('0x17')])){members[_0x408fdc[_0x1500('0x17')]]={'channel':_0x1500('0x18'),'interface':_0x408fdc[_0x1500('0x17')],'type':_0x1500('0x19'),'enterAt':utils[_0x1500('0x1a')](),'role':_0x1500('0x1b')};}break;case'NOT_INUSE':if(!_['isNil'](members[_0x408fdc[_0x1500('0x17')]])){members[_0x408fdc['device']][_0x1500('0x1c')]=utils['now']();members[_0x408fdc[_0x1500('0x17')]][_0x1500('0x1d')]=utils[_0x1500('0x1e')](members[_0x408fdc[_0x1500('0x17')]][_0x1500('0x1c')],members[_0x408fdc[_0x1500('0x17')]][_0x1500('0x1f')]);if(members[_0x408fdc[_0x1500('0x17')]]['uniqueid']){writeDB(members[_0x408fdc[_0x1500('0x17')]]);}}default:break;}};exports['agentcomplete']=function(_0x2d2fdc){if(!_['isNil'](members[_0x2d2fdc[_0x1500('0x5')]])){members[_0x2d2fdc['interface']]=_[_0x1500('0x20')](members[_0x2d2fdc[_0x1500('0x5')]],{'data4':_0x2d2fdc[_0x1500('0x21')],'uniqueid':_0x2d2fdc['uniqueid']});}};exports[_0x1500('0x22')]=function(_0x5efb05){if(_0x5efb05[_0x1500('0x6')]){var _0x584b58=_0x5efb05[_0x1500('0x6')][_0x1500('0xf')]('-')[0x0];if(!_[_0x1500('0x23')](members[_0x584b58])){members[_0x584b58]=_[_0x1500('0x20')](members[_0x584b58],{'data1':members[_0x584b58][_0x1500('0x24')]||_0x5efb05[_0x1500('0x25')],'data2':members[_0x584b58][_0x1500('0x7')]||_0x5efb05['source'],'data3':members[_0x584b58][_0x1500('0x26')]||_0x5efb05['destination'],'uniqueid':members[_0x584b58][_0x1500('0x27')]||_0x5efb05[_0x1500('0x27')]});if(members[_0x584b58][_0x1500('0x1c')]){writeDB(members[_0x584b58]);}}}if(_0x5efb05[_0x1500('0x28')]){var _0x33b284=_0x5efb05['destinationchannel']['split']('-')[0x0];if(!_[_0x1500('0x23')](members[_0x33b284])){members[_0x33b284]=_[_0x1500('0x20')](members[_0x33b284],{'data1':members[_0x33b284][_0x1500('0x24')]||_0x5efb05[_0x1500('0x25')],'data2':members[_0x33b284][_0x1500('0x7')]||_0x5efb05[_0x1500('0x29')],'data3':members[_0x33b284][_0x1500('0x26')]||_0x5efb05[_0x1500('0x2a')],'uniqueid':members[_0x33b284]['uniqueid']||_0x5efb05[_0x1500('0x27')]});if(members[_0x33b284][_0x1500('0x1c')]){writeDB(members[_0x33b284]);}}}};