Built motion from commit (unavailable).|2.4.19
[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 _0x2ed2=['interface','then','internal','CreateMemberReport','getUserByName','split','name','request','catch','error','some','startsWith','state','INUSE','BUSY','device','voice','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','enterAt','agentcomplete','assign','queue','source','data3','destinationchannel','data1','destination','lodash','util','./utils','Local/_attended@transfer','info','format','MEMBER|%s|%s|%s|%s|%s|%s','uniqueid','channel','data2','membername','type'];(function(_0x24b5c4,_0x1abb17){var _0x18befd=function(_0x59edc3){while(--_0x59edc3){_0x24b5c4['push'](_0x24b5c4['shift']());}};_0x18befd(++_0x1abb17);}(_0x2ed2,0x12f));var _0x22ed=function(_0x13eee4,_0x3c04bd){_0x13eee4=_0x13eee4-0x0;var _0x304709=_0x2ed2[_0x13eee4];return _0x304709;};'use strict';var _=require(_0x22ed('0x0'));var util=require(_0x22ed('0x1'));var utils=require(_0x22ed('0x2'));var members={};var exclude=[_0x22ed('0x3'),'Queue:'];function writeDB(_0x35d098){utils[_0x22ed('0x4')](util[_0x22ed('0x5')](_0x22ed('0x6'),_0x35d098[_0x22ed('0x7')],_0x35d098['interface'],_0x35d098[_0x22ed('0x8')],_0x35d098[_0x22ed('0x9')],_0x35d098[_0x22ed('0xa')],_0x35d098[_0x22ed('0xb')]));if(_0x35d098[_0x22ed('0xc')]){utils['getUserByInterface'](_0x35d098[_0x22ed('0xc')])[_0x22ed('0xd')](function(_0x19d80b){if(_0x19d80b){_0x35d098[_0x22ed('0xa')]=_0x19d80b['name'];_0x35d098[_0x22ed('0xe')]=_0x19d80b[_0x22ed('0xe')];utils['request'](_0x22ed('0xf'),_0x35d098);}else{utils[_0x22ed('0x10')](_0x35d098['interface'][_0x22ed('0x11')]('/')[0x1])[_0x22ed('0xd')](function(_0x38505e){if(_0x38505e){_0x35d098['membername']=_0x38505e[_0x22ed('0x12')];_0x35d098['internal']=_0x38505e[_0x22ed('0xe')];utils[_0x22ed('0x13')](_0x22ed('0xf'),_0x35d098);}});}})[_0x22ed('0x14')](function(_0x1bba2b){utils[_0x22ed('0x15')](_0x1bba2b);});}delete members[_0x35d098[_0x22ed('0xc')]];}function startsWith(_0xdef8fb,_0x820c8){return _[_0x22ed('0x16')](_0xdef8fb,function(_0x216a2f){return _[_0x22ed('0x17')](_0x820c8,_0x216a2f);});}exports['devicestatechange']=function(_0x49a0e4){switch(_0x49a0e4[_0x22ed('0x18')]){case _0x22ed('0x19'):case _0x22ed('0x1a'):if(!startsWith(exclude,_0x49a0e4[_0x22ed('0x1b')])){members[_0x49a0e4[_0x22ed('0x1b')]]={'channel':_0x22ed('0x1c'),'interface':_0x49a0e4[_0x22ed('0x1b')],'type':_0x22ed('0x1d'),'enterAt':utils[_0x22ed('0x1e')](),'role':_0x22ed('0x1f')};}break;case _0x22ed('0x20'):if(!_[_0x22ed('0x21')](members[_0x49a0e4[_0x22ed('0x1b')]])){members[_0x49a0e4[_0x22ed('0x1b')]][_0x22ed('0x22')]=utils[_0x22ed('0x1e')]();members[_0x49a0e4[_0x22ed('0x1b')]][_0x22ed('0x23')]=utils['diffTime'](members[_0x49a0e4[_0x22ed('0x1b')]][_0x22ed('0x22')],members[_0x49a0e4[_0x22ed('0x1b')]][_0x22ed('0x24')]);if(members[_0x49a0e4['device']][_0x22ed('0x7')]){writeDB(members[_0x49a0e4[_0x22ed('0x1b')]]);}}default:break;}};exports[_0x22ed('0x25')]=function(_0x42817c){if(!_['isNil'](members[_0x42817c['interface']])){members[_0x42817c[_0x22ed('0xc')]]=_[_0x22ed('0x26')](members[_0x42817c[_0x22ed('0xc')]],{'data4':_0x42817c[_0x22ed('0x27')],'uniqueid':_0x42817c[_0x22ed('0x7')]});}};exports['cdr']=function(_0x4f206d){if(_0x4f206d[_0x22ed('0x8')]){var _0x44ef3d=_0x4f206d[_0x22ed('0x8')][_0x22ed('0x11')]('-')[0x0];if(!_[_0x22ed('0x21')](members[_0x44ef3d])){members[_0x44ef3d]=_[_0x22ed('0x26')](members[_0x44ef3d],{'data1':members[_0x44ef3d]['data1']||_0x4f206d['type'],'data2':members[_0x44ef3d][_0x22ed('0x9')]||_0x4f206d[_0x22ed('0x28')],'data3':members[_0x44ef3d][_0x22ed('0x29')]||_0x4f206d['destination'],'uniqueid':members[_0x44ef3d][_0x22ed('0x7')]||_0x4f206d[_0x22ed('0x7')]});if(members[_0x44ef3d][_0x22ed('0x22')]){writeDB(members[_0x44ef3d]);}}}if(_0x4f206d[_0x22ed('0x2a')]){var _0x4aeb48=_0x4f206d['destinationchannel'][_0x22ed('0x11')]('-')[0x0];if(!_['isNil'](members[_0x4aeb48])){members[_0x4aeb48]=_[_0x22ed('0x26')](members[_0x4aeb48],{'data1':members[_0x4aeb48][_0x22ed('0x2b')]||_0x4f206d[_0x22ed('0xb')],'data2':members[_0x4aeb48][_0x22ed('0x9')]||_0x4f206d[_0x22ed('0x28')],'data3':members[_0x4aeb48]['data3']||_0x4f206d[_0x22ed('0x2c')],'uniqueid':members[_0x4aeb48]['uniqueid']||_0x4f206d[_0x22ed('0x7')]});if(members[_0x4aeb48]['exitAt']){writeDB(members[_0x4aeb48]);}}}};