a8207dc6b6f3c987913d73948ffa3811ad39ebde
[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 _0xe288=['cdr','data1','source','data3','destinationchannel','destination','./utils','Local/_attended@transfer','Queue:','info','MEMBER|%s|%s|%s|%s|%s|%s','uniqueid','interface','channel','data2','membername','type','getUserByInterface','then','name','internal','getUserByName','request','CreateMemberReport','error','startsWith','devicestatechange','state','device','TALKING','now','agent','NOT_INUSE','isNil','exitAt','duration','diffTime','enterAt','assign','queue'];(function(_0x4d5d1c,_0x305ae7){var _0x41c589=function(_0x48c208){while(--_0x48c208){_0x4d5d1c['push'](_0x4d5d1c['shift']());}};_0x41c589(++_0x305ae7);}(_0xe288,0x11e));var _0x8e28=function(_0x13a0b0,_0x5b4f02){_0x13a0b0=_0x13a0b0-0x0;var _0x9cb7eb=_0xe288[_0x13a0b0];return _0x9cb7eb;};'use strict';var _=require('lodash');var util=require('util');var utils=require(_0x8e28('0x0'));var members={};var exclude=[_0x8e28('0x1'),_0x8e28('0x2')];function writeDB(_0x465d82){utils[_0x8e28('0x3')](util['format'](_0x8e28('0x4'),_0x465d82[_0x8e28('0x5')],_0x465d82[_0x8e28('0x6')],_0x465d82[_0x8e28('0x7')],_0x465d82[_0x8e28('0x8')],_0x465d82[_0x8e28('0x9')],_0x465d82[_0x8e28('0xa')]));if(_0x465d82[_0x8e28('0x6')]){utils[_0x8e28('0xb')](_0x465d82[_0x8e28('0x6')])[_0x8e28('0xc')](function(_0x294478){if(_0x294478){_0x465d82[_0x8e28('0x9')]=_0x294478[_0x8e28('0xd')];_0x465d82[_0x8e28('0xe')]=_0x294478[_0x8e28('0xe')];utils['request']('CreateMemberReport',_0x465d82);}else{utils[_0x8e28('0xf')](_0x465d82[_0x8e28('0x6')]['split']('/')[0x1])[_0x8e28('0xc')](function(_0x597143){if(_0x597143){_0x465d82[_0x8e28('0x9')]=_0x597143[_0x8e28('0xd')];_0x465d82[_0x8e28('0xe')]=_0x597143[_0x8e28('0xe')];utils[_0x8e28('0x10')](_0x8e28('0x11'),_0x465d82);}});}})['catch'](function(_0x3c5dd9){utils[_0x8e28('0x12')](_0x3c5dd9);});}delete members[_0x465d82['interface']];}function startsWith(_0x4b232e,_0x1380e5){return _['some'](_0x4b232e,function(_0x1de671){return _[_0x8e28('0x13')](_0x1380e5,_0x1de671);});}exports[_0x8e28('0x14')]=function(_0x236893){switch(_0x236893[_0x8e28('0x15')]){case'INUSE':case'BUSY':if(!startsWith(exclude,_0x236893[_0x8e28('0x16')])){members[_0x236893[_0x8e28('0x16')]]={'channel':'voice','interface':_0x236893[_0x8e28('0x16')],'type':_0x8e28('0x17'),'enterAt':utils[_0x8e28('0x18')](),'role':_0x8e28('0x19')};}break;case _0x8e28('0x1a'):if(!_[_0x8e28('0x1b')](members[_0x236893[_0x8e28('0x16')]])){members[_0x236893['device']][_0x8e28('0x1c')]=utils[_0x8e28('0x18')]();members[_0x236893[_0x8e28('0x16')]][_0x8e28('0x1d')]=utils[_0x8e28('0x1e')](members[_0x236893[_0x8e28('0x16')]][_0x8e28('0x1c')],members[_0x236893[_0x8e28('0x16')]][_0x8e28('0x1f')]);if(members[_0x236893[_0x8e28('0x16')]][_0x8e28('0x5')]){writeDB(members[_0x236893['device']]);}}default:break;}};exports['agentcomplete']=function(_0x2ecffe){if(!_['isNil'](members[_0x2ecffe[_0x8e28('0x6')]])){members[_0x2ecffe['interface']]=_[_0x8e28('0x20')](members[_0x2ecffe['interface']],{'data4':_0x2ecffe[_0x8e28('0x21')],'uniqueid':_0x2ecffe[_0x8e28('0x5')]});}};exports[_0x8e28('0x22')]=function(_0x1b7da2){if(_0x1b7da2[_0x8e28('0x7')]){var _0x3838a4=_0x1b7da2[_0x8e28('0x7')]['split']('-')[0x0];if(!_[_0x8e28('0x1b')](members[_0x3838a4])){members[_0x3838a4]=_[_0x8e28('0x20')](members[_0x3838a4],{'data1':members[_0x3838a4][_0x8e28('0x23')]||_0x1b7da2['type'],'data2':members[_0x3838a4][_0x8e28('0x8')]||_0x1b7da2[_0x8e28('0x24')],'data3':members[_0x3838a4][_0x8e28('0x25')]||_0x1b7da2['destination'],'uniqueid':members[_0x3838a4][_0x8e28('0x5')]||_0x1b7da2['uniqueid']});if(members[_0x3838a4][_0x8e28('0x1c')]){writeDB(members[_0x3838a4]);}}}if(_0x1b7da2[_0x8e28('0x26')]){var _0x509cf5=_0x1b7da2[_0x8e28('0x26')]['split']('-')[0x0];if(!_[_0x8e28('0x1b')](members[_0x509cf5])){members[_0x509cf5]=_['assign'](members[_0x509cf5],{'data1':members[_0x509cf5][_0x8e28('0x23')]||_0x1b7da2[_0x8e28('0xa')],'data2':members[_0x509cf5][_0x8e28('0x8')]||_0x1b7da2[_0x8e28('0x24')],'data3':members[_0x509cf5][_0x8e28('0x25')]||_0x1b7da2[_0x8e28('0x27')],'uniqueid':members[_0x509cf5]['uniqueid']||_0x1b7da2[_0x8e28('0x5')]});if(members[_0x509cf5][_0x8e28('0x1c')]){writeDB(members[_0x509cf5]);}}}};