Built motion from commit (unavailable).|2.5.4
[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 _0x4020=['./utils','Queue:','format','MEMBER|%s|%s|%s|%s|%s|%s','uniqueid','interface','channel','data2','type','then','name','internal','request','membername','CreateMemberReport','catch','error','some','startsWith','devicestatechange','state','INUSE','BUSY','now','agent','NOT_INUSE','isNil','device','exitAt','diffTime','enterAt','assign','queue','split','data1','source','data3','destination','destinationchannel','lodash','util'];(function(_0x496333,_0x1c47d6){var _0x44256e=function(_0x58767d){while(--_0x58767d){_0x496333['push'](_0x496333['shift']());}};_0x44256e(++_0x1c47d6);}(_0x4020,0xa2));var _0x0402=function(_0x16a044,_0x2bece0){_0x16a044=_0x16a044-0x0;var _0xae9d42=_0x4020[_0x16a044];return _0xae9d42;};'use strict';var _=require(_0x0402('0x0'));var util=require(_0x0402('0x1'));var utils=require(_0x0402('0x2'));var members={};var exclude=['Local/_attended@transfer',_0x0402('0x3')];function writeDB(_0xbc1f04){utils['info'](util[_0x0402('0x4')](_0x0402('0x5'),_0xbc1f04[_0x0402('0x6')],_0xbc1f04[_0x0402('0x7')],_0xbc1f04[_0x0402('0x8')],_0xbc1f04[_0x0402('0x9')],_0xbc1f04['membername'],_0xbc1f04[_0x0402('0xa')]));if(_0xbc1f04[_0x0402('0x7')]){utils['getUserByInterface'](_0xbc1f04['interface'])[_0x0402('0xb')](function(_0x4183fe){if(_0x4183fe){_0xbc1f04['membername']=_0x4183fe[_0x0402('0xc')];_0xbc1f04[_0x0402('0xd')]=_0x4183fe['internal'];utils[_0x0402('0xe')]('CreateMemberReport',_0xbc1f04);}else{utils['getUserByName'](_0xbc1f04[_0x0402('0x7')]['split']('/')[0x1])[_0x0402('0xb')](function(_0x20fa93){if(_0x20fa93){_0xbc1f04[_0x0402('0xf')]=_0x20fa93[_0x0402('0xc')];_0xbc1f04[_0x0402('0xd')]=_0x20fa93[_0x0402('0xd')];utils[_0x0402('0xe')](_0x0402('0x10'),_0xbc1f04);}});}})[_0x0402('0x11')](function(_0x129fff){utils[_0x0402('0x12')](_0x129fff);});}delete members[_0xbc1f04[_0x0402('0x7')]];}function startsWith(_0x4fa02e,_0x38ea21){return _[_0x0402('0x13')](_0x4fa02e,function(_0x5c90f6){return _[_0x0402('0x14')](_0x38ea21,_0x5c90f6);});}exports[_0x0402('0x15')]=function(_0x28f714){switch(_0x28f714[_0x0402('0x16')]){case _0x0402('0x17'):case _0x0402('0x18'):if(!startsWith(exclude,_0x28f714['device'])){members[_0x28f714['device']]={'channel':'voice','interface':_0x28f714['device'],'type':'TALKING','enterAt':utils[_0x0402('0x19')](),'role':_0x0402('0x1a')};}break;case _0x0402('0x1b'):if(!_[_0x0402('0x1c')](members[_0x28f714['device']])){members[_0x28f714[_0x0402('0x1d')]][_0x0402('0x1e')]=utils[_0x0402('0x19')]();members[_0x28f714[_0x0402('0x1d')]]['duration']=utils[_0x0402('0x1f')](members[_0x28f714[_0x0402('0x1d')]][_0x0402('0x1e')],members[_0x28f714[_0x0402('0x1d')]][_0x0402('0x20')]);if(members[_0x28f714[_0x0402('0x1d')]]['uniqueid']){writeDB(members[_0x28f714['device']]);}}default:break;}};exports['agentcomplete']=function(_0x462691){if(!_[_0x0402('0x1c')](members[_0x462691[_0x0402('0x7')]])){members[_0x462691[_0x0402('0x7')]]=_[_0x0402('0x21')](members[_0x462691[_0x0402('0x7')]],{'data4':_0x462691[_0x0402('0x22')],'uniqueid':_0x462691[_0x0402('0x6')]});}};exports['cdr']=function(_0x54379a){if(_0x54379a['channel']){var _0x2c9fbc=_0x54379a[_0x0402('0x8')][_0x0402('0x23')]('-')[0x0];if(!_['isNil'](members[_0x2c9fbc])){members[_0x2c9fbc]=_[_0x0402('0x21')](members[_0x2c9fbc],{'data1':members[_0x2c9fbc][_0x0402('0x24')]||_0x54379a['type'],'data2':members[_0x2c9fbc][_0x0402('0x9')]||_0x54379a[_0x0402('0x25')],'data3':members[_0x2c9fbc][_0x0402('0x26')]||_0x54379a[_0x0402('0x27')],'uniqueid':members[_0x2c9fbc][_0x0402('0x6')]||_0x54379a['uniqueid']});if(members[_0x2c9fbc][_0x0402('0x1e')]){writeDB(members[_0x2c9fbc]);}}}if(_0x54379a[_0x0402('0x28')]){var _0x3ceb8e=_0x54379a['destinationchannel'][_0x0402('0x23')]('-')[0x0];if(!_[_0x0402('0x1c')](members[_0x3ceb8e])){members[_0x3ceb8e]=_[_0x0402('0x21')](members[_0x3ceb8e],{'data1':members[_0x3ceb8e][_0x0402('0x24')]||_0x54379a[_0x0402('0xa')],'data2':members[_0x3ceb8e][_0x0402('0x9')]||_0x54379a[_0x0402('0x25')],'data3':members[_0x3ceb8e][_0x0402('0x26')]||_0x54379a[_0x0402('0x27')],'uniqueid':members[_0x3ceb8e][_0x0402('0x6')]||_0x54379a[_0x0402('0x6')]});if(members[_0x3ceb8e][_0x0402('0x1e')]){writeDB(members[_0x3ceb8e]);}}}};