Built motion from commit (unavailable).|2.4.3
[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 _0x667f=['agentcomplete','assign','queue','data1','data3','destination','destinationchannel','source','lodash','util','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','request','CreateMemberReport','getUserByName','split','internal','catch','error','startsWith','devicestatechange','BUSY','device','TALKING','agent','NOT_INUSE','isNil','exitAt','now','duration'];(function(_0x559948,_0x5d7a75){var _0x4fc8d5=function(_0x4f77aa){while(--_0x4f77aa){_0x559948['push'](_0x559948['shift']());}};_0x4fc8d5(++_0x5d7a75);}(_0x667f,0xac));var _0xf667=function(_0x65e397,_0xb795dd){_0x65e397=_0x65e397-0x0;var _0x2efab2=_0x667f[_0x65e397];return _0x2efab2;};'use strict';var _=require(_0xf667('0x0'));var util=require(_0xf667('0x1'));var utils=require('./utils');var members={};var exclude=[_0xf667('0x2'),_0xf667('0x3')];function writeDB(_0x1e3d06){utils[_0xf667('0x4')](util[_0xf667('0x5')]('MEMBER|%s|%s|%s|%s|%s|%s',_0x1e3d06[_0xf667('0x6')],_0x1e3d06[_0xf667('0x7')],_0x1e3d06[_0xf667('0x8')],_0x1e3d06[_0xf667('0x9')],_0x1e3d06[_0xf667('0xa')],_0x1e3d06[_0xf667('0xb')]));if(_0x1e3d06[_0xf667('0x7')]){utils[_0xf667('0xc')](_0x1e3d06[_0xf667('0x7')])[_0xf667('0xd')](function(_0x47cf8c){if(_0x47cf8c){_0x1e3d06['membername']=_0x47cf8c[_0xf667('0xe')];_0x1e3d06['internal']=_0x47cf8c['internal'];utils[_0xf667('0xf')](_0xf667('0x10'),_0x1e3d06);}else{utils[_0xf667('0x11')](_0x1e3d06['interface'][_0xf667('0x12')]('/')[0x1])['then'](function(_0x10380d){if(_0x10380d){_0x1e3d06['membername']=_0x10380d['name'];_0x1e3d06[_0xf667('0x13')]=_0x10380d[_0xf667('0x13')];utils[_0xf667('0xf')](_0xf667('0x10'),_0x1e3d06);}});}})[_0xf667('0x14')](function(_0x2beb88){utils[_0xf667('0x15')](_0x2beb88);});}delete members[_0x1e3d06[_0xf667('0x7')]];}function startsWith(_0xe94297,_0x4adf66){return _['some'](_0xe94297,function(_0x4f99bf){return _[_0xf667('0x16')](_0x4adf66,_0x4f99bf);});}exports[_0xf667('0x17')]=function(_0x5ef4fe){switch(_0x5ef4fe['state']){case'INUSE':case _0xf667('0x18'):if(!startsWith(exclude,_0x5ef4fe[_0xf667('0x19')])){members[_0x5ef4fe[_0xf667('0x19')]]={'channel':'voice','interface':_0x5ef4fe[_0xf667('0x19')],'type':_0xf667('0x1a'),'enterAt':utils['now'](),'role':_0xf667('0x1b')};}break;case _0xf667('0x1c'):if(!_[_0xf667('0x1d')](members[_0x5ef4fe[_0xf667('0x19')]])){members[_0x5ef4fe[_0xf667('0x19')]][_0xf667('0x1e')]=utils[_0xf667('0x1f')]();members[_0x5ef4fe[_0xf667('0x19')]][_0xf667('0x20')]=utils['diffTime'](members[_0x5ef4fe[_0xf667('0x19')]][_0xf667('0x1e')],members[_0x5ef4fe['device']]['enterAt']);if(members[_0x5ef4fe[_0xf667('0x19')]][_0xf667('0x6')]){writeDB(members[_0x5ef4fe[_0xf667('0x19')]]);}}default:break;}};exports[_0xf667('0x21')]=function(_0x458ecd){if(!_[_0xf667('0x1d')](members[_0x458ecd['interface']])){members[_0x458ecd[_0xf667('0x7')]]=_[_0xf667('0x22')](members[_0x458ecd[_0xf667('0x7')]],{'data4':_0x458ecd[_0xf667('0x23')],'uniqueid':_0x458ecd[_0xf667('0x6')]});}};exports['cdr']=function(_0x13e869){if(_0x13e869[_0xf667('0x8')]){var _0x2fd07b=_0x13e869['channel'][_0xf667('0x12')]('-')[0x0];if(!_[_0xf667('0x1d')](members[_0x2fd07b])){members[_0x2fd07b]=_['assign'](members[_0x2fd07b],{'data1':members[_0x2fd07b][_0xf667('0x24')]||_0x13e869[_0xf667('0xb')],'data2':members[_0x2fd07b][_0xf667('0x9')]||_0x13e869['source'],'data3':members[_0x2fd07b][_0xf667('0x25')]||_0x13e869[_0xf667('0x26')],'uniqueid':members[_0x2fd07b]['uniqueid']||_0x13e869[_0xf667('0x6')]});if(members[_0x2fd07b][_0xf667('0x1e')]){writeDB(members[_0x2fd07b]);}}}if(_0x13e869[_0xf667('0x27')]){var _0x3878d4=_0x13e869[_0xf667('0x27')]['split']('-')[0x0];if(!_[_0xf667('0x1d')](members[_0x3878d4])){members[_0x3878d4]=_[_0xf667('0x22')](members[_0x3878d4],{'data1':members[_0x3878d4][_0xf667('0x24')]||_0x13e869[_0xf667('0xb')],'data2':members[_0x3878d4]['data2']||_0x13e869[_0xf667('0x28')],'data3':members[_0x3878d4][_0xf667('0x25')]||_0x13e869[_0xf667('0x26')],'uniqueid':members[_0x3878d4][_0xf667('0x6')]||_0x13e869[_0xf667('0x6')]});if(members[_0x3878d4][_0xf667('0x1e')]){writeDB(members[_0x3878d4]);}}}};