Built motion from commit 994c64e1.|2.6.1
[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 _0x4dcb=['[%s][members][writeDB]','uniqueid','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','BUSY','voice','now','agent','exitAt','duration','diffTime','agentcomplete','isNil','[%s][members][agentcomplete]','[%s][members][agentcomplete]\x20interface:%s\x20queue:%s','queue','assign','cdr','[%s][members][cdr]','data1','type','data2','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','source','lodash','util','Queue:','info','format','[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s','channel','membername','interface','getUserByInterface','then','name','request','getUserByName','split','internal','catch','error'];(function(_0x390a19,_0x5dd137){var _0x5d8230=function(_0x2e6234){while(--_0x2e6234){_0x390a19['push'](_0x390a19['shift']());}};_0x5d8230(++_0x5dd137);}(_0x4dcb,0x153));var _0xb4dc=function(_0x4c9b50,_0x15fe50){_0x4c9b50=_0x4c9b50-0x0;var _0x38eedc=_0x4dcb[_0x4c9b50];return _0x38eedc;};'use strict';var _=require(_0xb4dc('0x0'));var util=require(_0xb4dc('0x1'));var utils=require('./utils');var members={};var exclude=['Local/_attended@transfer',_0xb4dc('0x2')];function writeDB(_0x5fb31f){utils[_0xb4dc('0x3')](util[_0xb4dc('0x4')](_0xb4dc('0x5'),_0x5fb31f['uniqueid'],_0x5fb31f['interface'],_0x5fb31f[_0xb4dc('0x6')],_0x5fb31f['data2'],_0x5fb31f[_0xb4dc('0x7')],_0x5fb31f['type']));if(_0x5fb31f[_0xb4dc('0x8')]){utils[_0xb4dc('0x9')](_0x5fb31f[_0xb4dc('0x8')])[_0xb4dc('0xa')](function(_0x4a9c2a){if(_0x4a9c2a){_0x5fb31f[_0xb4dc('0x7')]=_0x4a9c2a[_0xb4dc('0xb')];_0x5fb31f['internal']=_0x4a9c2a['internal'];utils[_0xb4dc('0xc')]('CreateMemberReport',_0x5fb31f);}else{utils[_0xb4dc('0xd')](_0x5fb31f[_0xb4dc('0x8')][_0xb4dc('0xe')]('/')[0x1])[_0xb4dc('0xa')](function(_0x1bc116){if(_0x1bc116){_0x5fb31f[_0xb4dc('0x7')]=_0x1bc116[_0xb4dc('0xb')];_0x5fb31f[_0xb4dc('0xf')]=_0x1bc116['internal'];utils['request']('CreateMemberReport',_0x5fb31f);}});}})[_0xb4dc('0x10')](function(_0x42aba6){utils[_0xb4dc('0x11')](util[_0xb4dc('0x4')](_0xb4dc('0x12'),_0x5fb31f[_0xb4dc('0x13')]),_0x42aba6);});}delete members[_0x5fb31f[_0xb4dc('0x8')]];}function startsWith(_0x557162,_0x132782){return _[_0xb4dc('0x14')](_0x557162,function(_0x497b55){return _[_0xb4dc('0x15')](_0x132782,_0x497b55);});}exports[_0xb4dc('0x16')]=function(_0x1f1b0f){try{utils[_0xb4dc('0x17')](util[_0xb4dc('0x4')](_0xb4dc('0x18'),members[_0x1f1b0f['device']]?members[_0x1f1b0f[_0xb4dc('0x19')]][_0xb4dc('0x13')]:_0x1f1b0f['device']),_0x1f1b0f);utils['info'](util[_0xb4dc('0x4')](_0xb4dc('0x1a'),members[_0x1f1b0f[_0xb4dc('0x19')]]?members[_0x1f1b0f[_0xb4dc('0x19')]][_0xb4dc('0x13')]:_0x1f1b0f[_0xb4dc('0x19')],_0x1f1b0f[_0xb4dc('0x1b')],_0x1f1b0f[_0xb4dc('0x19')]));switch(_0x1f1b0f[_0xb4dc('0x1b')]){case'INUSE':case _0xb4dc('0x1c'):if(!startsWith(exclude,_0x1f1b0f[_0xb4dc('0x19')])){members[_0x1f1b0f[_0xb4dc('0x19')]]={'channel':_0xb4dc('0x1d'),'interface':_0x1f1b0f['device'],'type':'TALKING','enterAt':utils[_0xb4dc('0x1e')](),'role':_0xb4dc('0x1f')};}break;case'NOT_INUSE':if(!_['isNil'](members[_0x1f1b0f[_0xb4dc('0x19')]])){members[_0x1f1b0f['device']][_0xb4dc('0x20')]=utils[_0xb4dc('0x1e')]();members[_0x1f1b0f[_0xb4dc('0x19')]][_0xb4dc('0x21')]=utils[_0xb4dc('0x22')](members[_0x1f1b0f['device']][_0xb4dc('0x20')],members[_0x1f1b0f[_0xb4dc('0x19')]]['enterAt']);if(members[_0x1f1b0f['device']][_0xb4dc('0x13')]){writeDB(members[_0x1f1b0f[_0xb4dc('0x19')]]);}}break;default:break;}}catch(_0x138d06){utils[_0xb4dc('0x11')](util[_0xb4dc('0x4')](_0xb4dc('0x18'),members[_0x1f1b0f[_0xb4dc('0x19')]]?members[_0x1f1b0f[_0xb4dc('0x19')]][_0xb4dc('0x13')]:_0x1f1b0f[_0xb4dc('0x19')]),_0x138d06);}};exports[_0xb4dc('0x23')]=function(_0x5d4ac5){try{if(!_[_0xb4dc('0x24')](members[_0x5d4ac5[_0xb4dc('0x8')]])){utils['debug'](util['format'](_0xb4dc('0x25'),_0x5d4ac5['uniqueid']),_0x5d4ac5);utils[_0xb4dc('0x3')](util[_0xb4dc('0x4')](_0xb4dc('0x26'),_0x5d4ac5[_0xb4dc('0x13')],_0x5d4ac5[_0xb4dc('0x8')],_0x5d4ac5[_0xb4dc('0x27')]));members[_0x5d4ac5['interface']]=_[_0xb4dc('0x28')](members[_0x5d4ac5['interface']],{'data4':_0x5d4ac5[_0xb4dc('0x27')],'uniqueid':_0x5d4ac5[_0xb4dc('0x13')]});}}catch(_0x4a2313){utils['error'](util['format'](_0xb4dc('0x25'),_0x5d4ac5[_0xb4dc('0x13')]),_0x4a2313);}};exports[_0xb4dc('0x29')]=function(_0x9a3efa){try{utils[_0xb4dc('0x17')](util['format'](_0xb4dc('0x2a'),_0x9a3efa[_0xb4dc('0x13')]),_0x9a3efa);if(_0x9a3efa['channel']){var _0xddb208=_0x9a3efa[_0xb4dc('0x6')]['split']('-')[0x0];if(!_[_0xb4dc('0x24')](members[_0xddb208])){members[_0xddb208]=_[_0xb4dc('0x28')](members[_0xddb208],{'data1':members[_0xddb208][_0xb4dc('0x2b')]||_0x9a3efa[_0xb4dc('0x2c')],'data2':members[_0xddb208][_0xb4dc('0x2d')]||_0x9a3efa['source'],'data3':members[_0xddb208][_0xb4dc('0x2e')]||_0x9a3efa[_0xb4dc('0x2f')],'uniqueid':members[_0xddb208]['uniqueid']||_0x9a3efa[_0xb4dc('0x13')]});utils[_0xb4dc('0x3')](util['format'](_0xb4dc('0x30'),_0x9a3efa[_0xb4dc('0x13')],members[_0xddb208][_0xb4dc('0x2b')],members[_0xddb208][_0xb4dc('0x2d')],members[_0xddb208][_0xb4dc('0x2e')]));if(members[_0xddb208][_0xb4dc('0x20')]){writeDB(members[_0xddb208]);}}}if(_0x9a3efa[_0xb4dc('0x31')]){var _0x4fb460=_0x9a3efa[_0xb4dc('0x31')][_0xb4dc('0xe')]('-')[0x0];if(!_['isNil'](members[_0x4fb460])){members[_0x4fb460]=_[_0xb4dc('0x28')](members[_0x4fb460],{'data1':members[_0x4fb460][_0xb4dc('0x2b')]||_0x9a3efa['type'],'data2':members[_0x4fb460]['data2']||_0x9a3efa[_0xb4dc('0x32')],'data3':members[_0x4fb460][_0xb4dc('0x2e')]||_0x9a3efa[_0xb4dc('0x2f')],'uniqueid':members[_0x4fb460]['uniqueid']||_0x9a3efa[_0xb4dc('0x13')]});utils[_0xb4dc('0x3')](util[_0xb4dc('0x4')](_0xb4dc('0x30'),_0x9a3efa[_0xb4dc('0x13')],members[_0x4fb460][_0xb4dc('0x2b')],members[_0x4fb460][_0xb4dc('0x2d')],members[_0x4fb460][_0xb4dc('0x2e')]));if(members[_0x4fb460]['exitAt']){writeDB(members[_0x4fb460]);}}}}catch(_0x8da5eb){utils[_0xb4dc('0x11')](util[_0xb4dc('0x4')](_0xb4dc('0x2a'),_0x9a3efa['uniqueid']),_0x8da5eb);}};