Built motion from commit (unavailable).|2.5.2
[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 _0x6bba=['destinationchannel','lodash','util','Local/_attended@transfer','Queue:','info','format','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','getUserByName','split','request','CreateMemberReport','catch','error','startsWith','devicestatechange','state','INUSE','device','voice','now','agent','NOT_INUSE','isNil','exitAt','enterAt','agentcomplete','assign','data1','source','data3','destination'];(function(_0x261db4,_0x5901c9){var _0x521a76=function(_0x49c26b){while(--_0x49c26b){_0x261db4['push'](_0x261db4['shift']());}};_0x521a76(++_0x5901c9);}(_0x6bba,0x172));var _0xa6bb=function(_0x52964f,_0x16e01b){_0x52964f=_0x52964f-0x0;var _0x21859e=_0x6bba[_0x52964f];return _0x21859e;};'use strict';var _=require(_0xa6bb('0x0'));var util=require(_0xa6bb('0x1'));var utils=require('./utils');var members={};var exclude=[_0xa6bb('0x2'),_0xa6bb('0x3')];function writeDB(_0x203810){utils[_0xa6bb('0x4')](util[_0xa6bb('0x5')]('MEMBER|%s|%s|%s|%s|%s|%s',_0x203810[_0xa6bb('0x6')],_0x203810[_0xa6bb('0x7')],_0x203810[_0xa6bb('0x8')],_0x203810[_0xa6bb('0x9')],_0x203810[_0xa6bb('0xa')],_0x203810[_0xa6bb('0xb')]));if(_0x203810[_0xa6bb('0x7')]){utils[_0xa6bb('0xc')](_0x203810[_0xa6bb('0x7')])[_0xa6bb('0xd')](function(_0x414b6c){if(_0x414b6c){_0x203810[_0xa6bb('0xa')]=_0x414b6c[_0xa6bb('0xe')];_0x203810[_0xa6bb('0xf')]=_0x414b6c[_0xa6bb('0xf')];utils['request']('CreateMemberReport',_0x203810);}else{utils[_0xa6bb('0x10')](_0x203810[_0xa6bb('0x7')][_0xa6bb('0x11')]('/')[0x1])[_0xa6bb('0xd')](function(_0x1841b5){if(_0x1841b5){_0x203810[_0xa6bb('0xa')]=_0x1841b5[_0xa6bb('0xe')];_0x203810['internal']=_0x1841b5[_0xa6bb('0xf')];utils[_0xa6bb('0x12')](_0xa6bb('0x13'),_0x203810);}});}})[_0xa6bb('0x14')](function(_0x48ff95){utils[_0xa6bb('0x15')](_0x48ff95);});}delete members[_0x203810[_0xa6bb('0x7')]];}function startsWith(_0x3c4f57,_0x49775f){return _['some'](_0x3c4f57,function(_0x1e24ef){return _[_0xa6bb('0x16')](_0x49775f,_0x1e24ef);});}exports[_0xa6bb('0x17')]=function(_0x5d6c5e){switch(_0x5d6c5e[_0xa6bb('0x18')]){case _0xa6bb('0x19'):case'BUSY':if(!startsWith(exclude,_0x5d6c5e[_0xa6bb('0x1a')])){members[_0x5d6c5e[_0xa6bb('0x1a')]]={'channel':_0xa6bb('0x1b'),'interface':_0x5d6c5e[_0xa6bb('0x1a')],'type':'TALKING','enterAt':utils[_0xa6bb('0x1c')](),'role':_0xa6bb('0x1d')};}break;case _0xa6bb('0x1e'):if(!_[_0xa6bb('0x1f')](members[_0x5d6c5e[_0xa6bb('0x1a')]])){members[_0x5d6c5e[_0xa6bb('0x1a')]][_0xa6bb('0x20')]=utils[_0xa6bb('0x1c')]();members[_0x5d6c5e['device']]['duration']=utils['diffTime'](members[_0x5d6c5e[_0xa6bb('0x1a')]]['exitAt'],members[_0x5d6c5e[_0xa6bb('0x1a')]][_0xa6bb('0x21')]);if(members[_0x5d6c5e['device']]['uniqueid']){writeDB(members[_0x5d6c5e[_0xa6bb('0x1a')]]);}}default:break;}};exports[_0xa6bb('0x22')]=function(_0x3a407b){if(!_[_0xa6bb('0x1f')](members[_0x3a407b[_0xa6bb('0x7')]])){members[_0x3a407b[_0xa6bb('0x7')]]=_[_0xa6bb('0x23')](members[_0x3a407b[_0xa6bb('0x7')]],{'data4':_0x3a407b['queue'],'uniqueid':_0x3a407b['uniqueid']});}};exports['cdr']=function(_0x4f476b){if(_0x4f476b[_0xa6bb('0x8')]){var _0x4a9b21=_0x4f476b[_0xa6bb('0x8')]['split']('-')[0x0];if(!_[_0xa6bb('0x1f')](members[_0x4a9b21])){members[_0x4a9b21]=_[_0xa6bb('0x23')](members[_0x4a9b21],{'data1':members[_0x4a9b21][_0xa6bb('0x24')]||_0x4f476b['type'],'data2':members[_0x4a9b21][_0xa6bb('0x9')]||_0x4f476b[_0xa6bb('0x25')],'data3':members[_0x4a9b21][_0xa6bb('0x26')]||_0x4f476b[_0xa6bb('0x27')],'uniqueid':members[_0x4a9b21][_0xa6bb('0x6')]||_0x4f476b[_0xa6bb('0x6')]});if(members[_0x4a9b21][_0xa6bb('0x20')]){writeDB(members[_0x4a9b21]);}}}if(_0x4f476b[_0xa6bb('0x28')]){var _0x5d1dd9=_0x4f476b[_0xa6bb('0x28')][_0xa6bb('0x11')]('-')[0x0];if(!_[_0xa6bb('0x1f')](members[_0x5d1dd9])){members[_0x5d1dd9]=_['assign'](members[_0x5d1dd9],{'data1':members[_0x5d1dd9][_0xa6bb('0x24')]||_0x4f476b[_0xa6bb('0xb')],'data2':members[_0x5d1dd9][_0xa6bb('0x9')]||_0x4f476b[_0xa6bb('0x25')],'data3':members[_0x5d1dd9][_0xa6bb('0x26')]||_0x4f476b[_0xa6bb('0x27')],'uniqueid':members[_0x5d1dd9][_0xa6bb('0x6')]||_0x4f476b[_0xa6bb('0x6')]});if(members[_0x5d1dd9][_0xa6bb('0x20')]){writeDB(members[_0x5d1dd9]);}}}};