Built motion from commit (unavailable).|2.5.12
[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 _0x9a9b=['then','internal','request','CreateMemberReport','catch','[%s][members][writeDB]','some','startsWith','devicestatechange','debug','[%s][members][devicestatechange]','device','[%s][members][devicestatechange]\x20state:%s\x20interface:%s','state','INUSE','BUSY','voice','TALKING','now','agent','NOT_INUSE','exitAt','duration','enterAt','error','isNil','[%s][members][agentcomplete]','queue','split','assign','data1','data3','destination','[%s][members][cdr]\x20type:%s\x20source:%s\x20destination:%s','destinationchannel','[%s][members][cdr]','util','./utils','Local/_attended@transfer','Queue:','info','format','uniqueid','channel','data2','membername','type','interface','getUserByInterface'];(function(_0x4243a3,_0x447337){var _0x1b2a33=function(_0x6a8200){while(--_0x6a8200){_0x4243a3['push'](_0x4243a3['shift']());}};_0x1b2a33(++_0x447337);}(_0x9a9b,0x1ac));var _0xb9a9=function(_0xb833b1,_0x1c3d3f){_0xb833b1=_0xb833b1-0x0;var _0x1ab87a=_0x9a9b[_0xb833b1];return _0x1ab87a;};'use strict';var _=require('lodash');var util=require(_0xb9a9('0x0'));var utils=require(_0xb9a9('0x1'));var members={};var exclude=[_0xb9a9('0x2'),_0xb9a9('0x3')];function writeDB(_0x5eadc1){utils[_0xb9a9('0x4')](util[_0xb9a9('0x5')]('[%s][members][writeDB]\x20interface:%s\x20channel:%s\x20data2:%s\x20agent:%s\x20type:%s',_0x5eadc1[_0xb9a9('0x6')],_0x5eadc1['interface'],_0x5eadc1[_0xb9a9('0x7')],_0x5eadc1[_0xb9a9('0x8')],_0x5eadc1[_0xb9a9('0x9')],_0x5eadc1[_0xb9a9('0xa')]));if(_0x5eadc1[_0xb9a9('0xb')]){utils[_0xb9a9('0xc')](_0x5eadc1[_0xb9a9('0xb')])[_0xb9a9('0xd')](function(_0x55aed4){if(_0x55aed4){_0x5eadc1[_0xb9a9('0x9')]=_0x55aed4['name'];_0x5eadc1[_0xb9a9('0xe')]=_0x55aed4[_0xb9a9('0xe')];utils[_0xb9a9('0xf')](_0xb9a9('0x10'),_0x5eadc1);}else{utils['getUserByName'](_0x5eadc1[_0xb9a9('0xb')]['split']('/')[0x1])[_0xb9a9('0xd')](function(_0x1aa208){if(_0x1aa208){_0x5eadc1[_0xb9a9('0x9')]=_0x1aa208['name'];_0x5eadc1[_0xb9a9('0xe')]=_0x1aa208[_0xb9a9('0xe')];utils[_0xb9a9('0xf')](_0xb9a9('0x10'),_0x5eadc1);}});}})[_0xb9a9('0x11')](function(_0x54aa01){utils['error'](util[_0xb9a9('0x5')](_0xb9a9('0x12'),_0x5eadc1[_0xb9a9('0x6')]),_0x54aa01);});}delete members[_0x5eadc1[_0xb9a9('0xb')]];}function startsWith(_0x5a1f7a,_0x17f49d){return _[_0xb9a9('0x13')](_0x5a1f7a,function(_0x1296b8){return _[_0xb9a9('0x14')](_0x17f49d,_0x1296b8);});}exports[_0xb9a9('0x15')]=function(_0x27635c){try{utils[_0xb9a9('0x16')](util[_0xb9a9('0x5')](_0xb9a9('0x17'),members[_0x27635c[_0xb9a9('0x18')]]?members[_0x27635c[_0xb9a9('0x18')]]['uniqueid']:_0x27635c[_0xb9a9('0x18')]),_0x27635c);utils[_0xb9a9('0x4')](util[_0xb9a9('0x5')](_0xb9a9('0x19'),members[_0x27635c[_0xb9a9('0x18')]]?members[_0x27635c[_0xb9a9('0x18')]][_0xb9a9('0x6')]:_0x27635c[_0xb9a9('0x18')],_0x27635c[_0xb9a9('0x1a')],_0x27635c[_0xb9a9('0x18')]));switch(_0x27635c['state']){case _0xb9a9('0x1b'):case _0xb9a9('0x1c'):if(!startsWith(exclude,_0x27635c['device'])){members[_0x27635c[_0xb9a9('0x18')]]={'channel':_0xb9a9('0x1d'),'interface':_0x27635c[_0xb9a9('0x18')],'type':_0xb9a9('0x1e'),'enterAt':utils[_0xb9a9('0x1f')](),'role':_0xb9a9('0x20')};}break;case _0xb9a9('0x21'):if(!_['isNil'](members[_0x27635c['device']])){members[_0x27635c[_0xb9a9('0x18')]][_0xb9a9('0x22')]=utils['now']();members[_0x27635c[_0xb9a9('0x18')]][_0xb9a9('0x23')]=utils['diffTime'](members[_0x27635c[_0xb9a9('0x18')]][_0xb9a9('0x22')],members[_0x27635c[_0xb9a9('0x18')]][_0xb9a9('0x24')]);if(members[_0x27635c[_0xb9a9('0x18')]]['uniqueid']){writeDB(members[_0x27635c[_0xb9a9('0x18')]]);}}break;default:break;}}catch(_0x26c07a){utils[_0xb9a9('0x25')](util['format'](_0xb9a9('0x17'),members[_0x27635c[_0xb9a9('0x18')]]?members[_0x27635c[_0xb9a9('0x18')]][_0xb9a9('0x6')]:_0x27635c['device']),_0x26c07a);}};exports['agentcomplete']=function(_0x2150c3){try{if(!_[_0xb9a9('0x26')](members[_0x2150c3['interface']])){utils[_0xb9a9('0x16')](util[_0xb9a9('0x5')](_0xb9a9('0x27'),_0x2150c3[_0xb9a9('0x6')]),_0x2150c3);utils[_0xb9a9('0x4')](util['format']('[%s][members][agentcomplete]\x20interface:%s\x20queue:%s',_0x2150c3[_0xb9a9('0x6')],_0x2150c3['interface'],_0x2150c3[_0xb9a9('0x28')]));members[_0x2150c3[_0xb9a9('0xb')]]=_['assign'](members[_0x2150c3[_0xb9a9('0xb')]],{'data4':_0x2150c3[_0xb9a9('0x28')],'uniqueid':_0x2150c3[_0xb9a9('0x6')]});}}catch(_0x276018){utils['error'](util[_0xb9a9('0x5')](_0xb9a9('0x27'),_0x2150c3[_0xb9a9('0x6')]),_0x276018);}};exports['cdr']=function(_0x147b22){try{utils[_0xb9a9('0x16')](util['format']('[%s][members][cdr]',_0x147b22[_0xb9a9('0x6')]),_0x147b22);if(_0x147b22[_0xb9a9('0x7')]){var _0x5d19bd=_0x147b22[_0xb9a9('0x7')][_0xb9a9('0x29')]('-')[0x0];if(!_[_0xb9a9('0x26')](members[_0x5d19bd])){members[_0x5d19bd]=_[_0xb9a9('0x2a')](members[_0x5d19bd],{'data1':members[_0x5d19bd][_0xb9a9('0x2b')]||_0x147b22['type'],'data2':members[_0x5d19bd]['data2']||_0x147b22['source'],'data3':members[_0x5d19bd][_0xb9a9('0x2c')]||_0x147b22[_0xb9a9('0x2d')],'uniqueid':members[_0x5d19bd][_0xb9a9('0x6')]||_0x147b22[_0xb9a9('0x6')]});utils[_0xb9a9('0x4')](util[_0xb9a9('0x5')](_0xb9a9('0x2e'),_0x147b22[_0xb9a9('0x6')],members[_0x5d19bd][_0xb9a9('0x2b')],members[_0x5d19bd]['data2'],members[_0x5d19bd][_0xb9a9('0x2c')]));if(members[_0x5d19bd][_0xb9a9('0x22')]){writeDB(members[_0x5d19bd]);}}}if(_0x147b22[_0xb9a9('0x2f')]){var _0x255def=_0x147b22[_0xb9a9('0x2f')]['split']('-')[0x0];if(!_[_0xb9a9('0x26')](members[_0x255def])){members[_0x255def]=_[_0xb9a9('0x2a')](members[_0x255def],{'data1':members[_0x255def]['data1']||_0x147b22['type'],'data2':members[_0x255def][_0xb9a9('0x8')]||_0x147b22['source'],'data3':members[_0x255def][_0xb9a9('0x2c')]||_0x147b22['destination'],'uniqueid':members[_0x255def]['uniqueid']||_0x147b22['uniqueid']});utils[_0xb9a9('0x4')](util[_0xb9a9('0x5')](_0xb9a9('0x2e'),_0x147b22[_0xb9a9('0x6')],members[_0x255def][_0xb9a9('0x2b')],members[_0x255def][_0xb9a9('0x8')],members[_0x255def]['data3']));if(members[_0x255def][_0xb9a9('0x22')]){writeDB(members[_0x255def]);}}}}catch(_0x219087){utils[_0xb9a9('0x25')](util[_0xb9a9('0x5')](_0xb9a9('0x30'),_0x147b22[_0xb9a9('0x6')]),_0x219087);}};