52659a2f1ccc4cd82c5eab6303d9ee9d2c1e4f01
[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 _0x515a=['getUserByName','catch','startsWith','state','INUSE','device','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','enterAt','agentcomplete','assign','queue','cdr','channel','split','data1','source','data3','destination','destinationchannel','lodash','./utils','Queue:','info','format','MEMBER|%s|%s|%s|%s|%s|%s','uniqueid','data2','membername','type','interface','getUserByInterface','name','internal','request','CreateMemberReport'];(function(_0xe2e69f,_0x67ed83){var _0x583ac1=function(_0x4d3d88){while(--_0x4d3d88){_0xe2e69f['push'](_0xe2e69f['shift']());}};_0x583ac1(++_0x67ed83);}(_0x515a,0xe6));var _0xa515=function(_0x228359,_0x3c9e55){_0x228359=_0x228359-0x0;var _0x2f068c=_0x515a[_0x228359];return _0x2f068c;};'use strict';var _=require(_0xa515('0x0'));var util=require('util');var utils=require(_0xa515('0x1'));var members={};var exclude=['Local/_attended@transfer',_0xa515('0x2')];function writeDB(_0x5d714c){utils[_0xa515('0x3')](util[_0xa515('0x4')](_0xa515('0x5'),_0x5d714c[_0xa515('0x6')],_0x5d714c['interface'],_0x5d714c['channel'],_0x5d714c[_0xa515('0x7')],_0x5d714c[_0xa515('0x8')],_0x5d714c[_0xa515('0x9')]));if(_0x5d714c[_0xa515('0xa')]){utils[_0xa515('0xb')](_0x5d714c['interface'])['then'](function(_0x2472c6){if(_0x2472c6){_0x5d714c['membername']=_0x2472c6[_0xa515('0xc')];_0x5d714c['internal']=_0x2472c6[_0xa515('0xd')];utils[_0xa515('0xe')](_0xa515('0xf'),_0x5d714c);}else{utils[_0xa515('0x10')](_0x5d714c[_0xa515('0xa')]['split']('/')[0x1])['then'](function(_0x495e96){if(_0x495e96){_0x5d714c['membername']=_0x495e96['name'];_0x5d714c[_0xa515('0xd')]=_0x495e96[_0xa515('0xd')];utils[_0xa515('0xe')](_0xa515('0xf'),_0x5d714c);}});}})[_0xa515('0x11')](function(_0x14e9b0){utils['error'](_0x14e9b0);});}delete members[_0x5d714c['interface']];}function startsWith(_0x1bc8bc,_0x55cc4c){return _['some'](_0x1bc8bc,function(_0x446815){return _[_0xa515('0x12')](_0x55cc4c,_0x446815);});}exports['devicestatechange']=function(_0x2b19fe){switch(_0x2b19fe[_0xa515('0x13')]){case _0xa515('0x14'):case'BUSY':if(!startsWith(exclude,_0x2b19fe[_0xa515('0x15')])){members[_0x2b19fe[_0xa515('0x15')]]={'channel':'voice','interface':_0x2b19fe[_0xa515('0x15')],'type':_0xa515('0x16'),'enterAt':utils[_0xa515('0x17')](),'role':_0xa515('0x18')};}break;case _0xa515('0x19'):if(!_[_0xa515('0x1a')](members[_0x2b19fe[_0xa515('0x15')]])){members[_0x2b19fe['device']][_0xa515('0x1b')]=utils[_0xa515('0x17')]();members[_0x2b19fe[_0xa515('0x15')]][_0xa515('0x1c')]=utils['diffTime'](members[_0x2b19fe['device']][_0xa515('0x1b')],members[_0x2b19fe['device']][_0xa515('0x1d')]);if(members[_0x2b19fe[_0xa515('0x15')]][_0xa515('0x6')]){writeDB(members[_0x2b19fe[_0xa515('0x15')]]);}}default:break;}};exports[_0xa515('0x1e')]=function(_0x464e21){if(!_[_0xa515('0x1a')](members[_0x464e21[_0xa515('0xa')]])){members[_0x464e21[_0xa515('0xa')]]=_[_0xa515('0x1f')](members[_0x464e21[_0xa515('0xa')]],{'data4':_0x464e21[_0xa515('0x20')],'uniqueid':_0x464e21[_0xa515('0x6')]});}};exports[_0xa515('0x21')]=function(_0x4764a4){if(_0x4764a4[_0xa515('0x22')]){var _0x193bd8=_0x4764a4[_0xa515('0x22')][_0xa515('0x23')]('-')[0x0];if(!_[_0xa515('0x1a')](members[_0x193bd8])){members[_0x193bd8]=_[_0xa515('0x1f')](members[_0x193bd8],{'data1':members[_0x193bd8][_0xa515('0x24')]||_0x4764a4['type'],'data2':members[_0x193bd8][_0xa515('0x7')]||_0x4764a4[_0xa515('0x25')],'data3':members[_0x193bd8][_0xa515('0x26')]||_0x4764a4[_0xa515('0x27')],'uniqueid':members[_0x193bd8][_0xa515('0x6')]||_0x4764a4[_0xa515('0x6')]});if(members[_0x193bd8][_0xa515('0x1b')]){writeDB(members[_0x193bd8]);}}}if(_0x4764a4[_0xa515('0x28')]){var _0x34e2d7=_0x4764a4['destinationchannel'][_0xa515('0x23')]('-')[0x0];if(!_[_0xa515('0x1a')](members[_0x34e2d7])){members[_0x34e2d7]=_[_0xa515('0x1f')](members[_0x34e2d7],{'data1':members[_0x34e2d7][_0xa515('0x24')]||_0x4764a4[_0xa515('0x9')],'data2':members[_0x34e2d7][_0xa515('0x7')]||_0x4764a4[_0xa515('0x25')],'data3':members[_0x34e2d7][_0xa515('0x26')]||_0x4764a4[_0xa515('0x27')],'uniqueid':members[_0x34e2d7][_0xa515('0x6')]||_0x4764a4['uniqueid']});if(members[_0x34e2d7][_0xa515('0x1b')]){writeDB(members[_0x34e2d7]);}}}};