6ae6be5157b275401233aa1580e67695c81c6ad2
[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 _0x26ab=['[%s][members][devicestatechange]','device','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','agentcomplete','debug','[%s][members][agentcomplete]','queue','assign','cdr','data1','data2','source','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','[%s][members][cdr]','util','./utils','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','uniqueid','interface','channel','membername','type','getUserByInterface','then','name','internal','request','getUserByName','split','error','some','devicestatechange'];(function(_0x2aea9e,_0x1f587f){var _0x430b92=function(_0x416c37){while(--_0x416c37){_0x2aea9e['push'](_0x2aea9e['shift']());}};_0x430b92(++_0x1f587f);}(_0x26ab,0x117));var _0xb26a=function(_0x147e06,_0x5d344c){_0x147e06=_0x147e06-0x0;var _0x4f5dd3=_0x26ab[_0x147e06];return _0x4f5dd3;};'use strict';var _=require('lodash');var util=require(_0xb26a('0x0'));var utils=require(_0xb26a('0x1'));var members={};var exclude=['Local/_attended@transfer',_0xb26a('0x2')];function writeDB(_0x1504df){utils[_0xb26a('0x3')](util[_0xb26a('0x4')](_0xb26a('0x5'),_0x1504df[_0xb26a('0x6')],_0x1504df[_0xb26a('0x7')],_0x1504df[_0xb26a('0x8')],_0x1504df['data2'],_0x1504df[_0xb26a('0x9')],_0x1504df[_0xb26a('0xa')]));if(_0x1504df['interface']){utils[_0xb26a('0xb')](_0x1504df[_0xb26a('0x7')])[_0xb26a('0xc')](function(_0xb56f4c){if(_0xb56f4c){_0x1504df[_0xb26a('0x9')]=_0xb56f4c[_0xb26a('0xd')];_0x1504df[_0xb26a('0xe')]=_0xb56f4c[_0xb26a('0xe')];utils[_0xb26a('0xf')]('CreateMemberReport',_0x1504df);}else{utils[_0xb26a('0x10')](_0x1504df[_0xb26a('0x7')][_0xb26a('0x11')]('/')[0x1])['then'](function(_0x3f97f2){if(_0x3f97f2){_0x1504df[_0xb26a('0x9')]=_0x3f97f2[_0xb26a('0xd')];_0x1504df['internal']=_0x3f97f2['internal'];utils[_0xb26a('0xf')]('CreateMemberReport',_0x1504df);}});}})['catch'](function(_0x55735c){utils[_0xb26a('0x12')](util[_0xb26a('0x4')]('[%s][members][writeDB]',_0x1504df['uniqueid']),_0x55735c);});}delete members[_0x1504df[_0xb26a('0x7')]];}function startsWith(_0x83b3e9,_0x30b399){return _[_0xb26a('0x13')](_0x83b3e9,function(_0x53e9fd){return _['startsWith'](_0x30b399,_0x53e9fd);});}exports[_0xb26a('0x14')]=function(_0x49d824){try{utils['debug'](util['format'](_0xb26a('0x15'),members[_0x49d824[_0xb26a('0x16')]]?members[_0x49d824[_0xb26a('0x16')]][_0xb26a('0x6')]:_0x49d824[_0xb26a('0x16')]),_0x49d824);utils[_0xb26a('0x3')](util[_0xb26a('0x4')]('[%s][members][devicestatechange]\x20state:%s\x20interface:%s',members[_0x49d824[_0xb26a('0x16')]]?members[_0x49d824[_0xb26a('0x16')]][_0xb26a('0x6')]:_0x49d824['device'],_0x49d824[_0xb26a('0x17')],_0x49d824[_0xb26a('0x16')]));switch(_0x49d824[_0xb26a('0x17')]){case _0xb26a('0x18'):case _0xb26a('0x19'):if(!startsWith(exclude,_0x49d824['device'])){members[_0x49d824[_0xb26a('0x16')]]={'channel':_0xb26a('0x1a'),'interface':_0x49d824[_0xb26a('0x16')],'type':_0xb26a('0x1b'),'enterAt':utils[_0xb26a('0x1c')](),'role':_0xb26a('0x1d')};}break;case _0xb26a('0x1e'):if(!_[_0xb26a('0x1f')](members[_0x49d824[_0xb26a('0x16')]])){members[_0x49d824[_0xb26a('0x16')]][_0xb26a('0x20')]=utils[_0xb26a('0x1c')]();members[_0x49d824[_0xb26a('0x16')]][_0xb26a('0x21')]=utils[_0xb26a('0x22')](members[_0x49d824[_0xb26a('0x16')]][_0xb26a('0x20')],members[_0x49d824['device']][_0xb26a('0x23')]);if(members[_0x49d824[_0xb26a('0x16')]]['uniqueid']){writeDB(members[_0x49d824['device']]);}}break;default:break;}}catch(_0x13626f){utils[_0xb26a('0x12')](util[_0xb26a('0x4')](_0xb26a('0x15'),members[_0x49d824[_0xb26a('0x16')]]?members[_0x49d824[_0xb26a('0x16')]][_0xb26a('0x6')]:_0x49d824[_0xb26a('0x16')]),_0x13626f);}};exports[_0xb26a('0x24')]=function(_0x2b265e){try{if(!_[_0xb26a('0x1f')](members[_0x2b265e[_0xb26a('0x7')]])){utils[_0xb26a('0x25')](util[_0xb26a('0x4')](_0xb26a('0x26'),_0x2b265e['uniqueid']),_0x2b265e);utils['info'](util['format']('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x2b265e[_0xb26a('0x6')],_0x2b265e[_0xb26a('0x7')],_0x2b265e[_0xb26a('0x27')]));members[_0x2b265e[_0xb26a('0x7')]]=_[_0xb26a('0x28')](members[_0x2b265e[_0xb26a('0x7')]],{'data4':_0x2b265e[_0xb26a('0x27')],'uniqueid':_0x2b265e[_0xb26a('0x6')]});}}catch(_0xf696bd){utils[_0xb26a('0x12')](util[_0xb26a('0x4')](_0xb26a('0x26'),_0x2b265e[_0xb26a('0x6')]),_0xf696bd);}};exports[_0xb26a('0x29')]=function(_0x322d13){try{utils[_0xb26a('0x25')](util['format']('[%s][members][cdr]',_0x322d13[_0xb26a('0x6')]),_0x322d13);if(_0x322d13[_0xb26a('0x8')]){var _0x1f5ac9=_0x322d13[_0xb26a('0x8')][_0xb26a('0x11')]('-')[0x0];if(!_['isNil'](members[_0x1f5ac9])){members[_0x1f5ac9]=_[_0xb26a('0x28')](members[_0x1f5ac9],{'data1':members[_0x1f5ac9][_0xb26a('0x2a')]||_0x322d13['type'],'data2':members[_0x1f5ac9][_0xb26a('0x2b')]||_0x322d13[_0xb26a('0x2c')],'data3':members[_0x1f5ac9][_0xb26a('0x2d')]||_0x322d13[_0xb26a('0x2e')],'uniqueid':members[_0x1f5ac9][_0xb26a('0x6')]||_0x322d13['uniqueid']});utils[_0xb26a('0x3')](util[_0xb26a('0x4')](_0xb26a('0x2f'),_0x322d13[_0xb26a('0x6')],members[_0x1f5ac9][_0xb26a('0x2a')],members[_0x1f5ac9][_0xb26a('0x2b')],members[_0x1f5ac9][_0xb26a('0x2d')]));if(members[_0x1f5ac9][_0xb26a('0x20')]){writeDB(members[_0x1f5ac9]);}}}if(_0x322d13[_0xb26a('0x30')]){var _0x4607c6=_0x322d13[_0xb26a('0x30')][_0xb26a('0x11')]('-')[0x0];if(!_['isNil'](members[_0x4607c6])){members[_0x4607c6]=_[_0xb26a('0x28')](members[_0x4607c6],{'data1':members[_0x4607c6][_0xb26a('0x2a')]||_0x322d13[_0xb26a('0xa')],'data2':members[_0x4607c6]['data2']||_0x322d13['source'],'data3':members[_0x4607c6][_0xb26a('0x2d')]||_0x322d13[_0xb26a('0x2e')],'uniqueid':members[_0x4607c6][_0xb26a('0x6')]||_0x322d13[_0xb26a('0x6')]});utils[_0xb26a('0x3')](util['format'](_0xb26a('0x2f'),_0x322d13[_0xb26a('0x6')],members[_0x4607c6][_0xb26a('0x2a')],members[_0x4607c6][_0xb26a('0x2b')],members[_0x4607c6][_0xb26a('0x2d')]));if(members[_0x4607c6][_0xb26a('0x20')]){writeDB(members[_0x4607c6]);}}}}catch(_0x37ae7a){utils['error'](util[_0xb26a('0x4')](_0xb26a('0x31'),_0x322d13[_0xb26a('0x6')]),_0x37ae7a);}};