Built motion from commit (unavailable).|2.5.23
[motion2.git] / server / api / voiceChanSpy / voiceChanSpy.model.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 _0xb7a0=['VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','from-sip','format','%s%s','prefix','system','push','CDR(type)=%s','record','${UNIQUEID}.%s,a','recordingFormat','auth','merge','Authenticate','password','SIP/%s,%s','name','options','join','StopMixMonitor','length','concat','internal','User','findAll','agent','then','catch','exports','define','VoiceChanSpy','voice_chanspy'];(function(_0x2be8c2,_0x14a4b5){var _0x97f531=function(_0xcee58d){while(--_0xcee58d){_0x2be8c2['push'](_0x2be8c2['shift']());}};_0x97f531(++_0x14a4b5);}(_0xb7a0,0x13b));var _0x0b7a=function(_0x54cf36,_0x405b06){_0x54cf36=_0x54cf36-0x0;var _0x992b3f=_0xb7a0[_0x54cf36];return _0x992b3f;};'use strict';var _=require(_0x0b7a('0x0'));var util=require(_0x0b7a('0x1'));var BPromise=require(_0x0b7a('0x2'));var attributes=require(_0x0b7a('0x3'));var getUserApplications=function(_0x5f120d,_0x29868b,_0x550a48){var _0x29da23=0x1;var _0x4f1b69=[];var _0x3ed511={'context':_0x29868b[_0x0b7a('0x4')]||_0x0b7a('0x5'),'exten':util[_0x0b7a('0x6')](_0x0b7a('0x7'),_0x5f120d[_0x0b7a('0x8')],_0x550a48),'type':_0x0b7a('0x9'),'isApp':![],'ChanSpyId':_0x5f120d['id'],'UserId':_0x29868b['id']};_0x4f1b69[_0x0b7a('0xa')](_['merge']({'app':'Set','appdata':util[_0x0b7a('0x6')](_0x0b7a('0xb'),'chanspy'),'priority':_0x29da23++},_0x3ed511));if(_0x5f120d[_0x0b7a('0xc')]){_0x4f1b69['push'](_['merge']({'app':'MixMonitor','appdata':util[_0x0b7a('0x6')](_0x0b7a('0xd'),_0x5f120d[_0x0b7a('0xe')]),'priority':_0x29da23++},_0x3ed511));}if(_0x5f120d[_0x0b7a('0xf')]){_0x4f1b69[_0x0b7a('0xa')](_[_0x0b7a('0x10')]({'app':_0x0b7a('0x11'),'appdata':_0x5f120d[_0x0b7a('0x12')],'priority':_0x29da23++},_0x3ed511));}_0x4f1b69['push'](_[_0x0b7a('0x10')]({'app':'ChanSpy','appdata':util[_0x0b7a('0x6')](_0x0b7a('0x13'),_0x29868b[_0x0b7a('0x14')],_0x5f120d[_0x0b7a('0x15')]?_0x5f120d[_0x0b7a('0x15')][_0x0b7a('0x16')](''):''),'priority':_0x29da23++},_0x3ed511));if(_0x5f120d[_0x0b7a('0xc')]){_0x4f1b69['push'](_[_0x0b7a('0x10')]({'app':_0x0b7a('0x17'),'priority':_0x29da23++},_0x3ed511));}return _0x4f1b69;};var getChanSpyApplications=function(_0x24303b,_0x5b4d5c){var _0x46c2de=[];for(var _0x122a25=0x0,_0x4269c5=0x1;_0x122a25<_0x5b4d5c[_0x0b7a('0x18')];_0x122a25++,_0x4269c5=0x1){_0x46c2de=_0x46c2de[_0x0b7a('0x19')](getUserApplications(_0x24303b,_0x5b4d5c[_0x122a25],_0x5b4d5c[_0x122a25][_0x0b7a('0x1a')]));if(_0x5b4d5c[_0x122a25]['internal']!=_0x5b4d5c[_0x122a25][_0x0b7a('0x14')]){_0x46c2de=_0x46c2de[_0x0b7a('0x19')](getUserApplications(_0x24303b,_0x5b4d5c[_0x122a25],_0x5b4d5c[_0x122a25][_0x0b7a('0x14')]));}}return _0x46c2de;};var getChanSpyPromise=function(_0x1b05fe,_0x4a2011){return new BPromise(function(_0x1b6d7b,_0x342a84){return _0x1b05fe[_0x0b7a('0x1b')][_0x0b7a('0x1c')]({'attributes':['id',_0x0b7a('0x14'),_0x0b7a('0x1a')],'where':{'role':_0x0b7a('0x1d'),'chanspy':!![]},'raw':!![]})[_0x0b7a('0x1e')](function(_0x58bf7a){if(_0x58bf7a){return _0x1b6d7b(getChanSpyApplications(_0x4a2011,_0x58bf7a));}return _0x1b6d7b([]);})[_0x0b7a('0x1f')](function(_0x320206){_0x342a84(_0x320206);});});};module[_0x0b7a('0x20')]=function(_0x2ef8c1,_0x1e01ba){var _0x19d66e=_0x2ef8c1['models'];return _0x2ef8c1[_0x0b7a('0x21')](_0x0b7a('0x22'),attributes,{'tableName':_0x0b7a('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x195a99,_0x4c6b93,_0x3ec2ef){return getChanSpyPromise(_0x19d66e,_0x195a99)[_0x0b7a('0x1e')](function(_0x1223ee){if(_0x1223ee&&_0x1223ee[_0x0b7a('0x18')]){return _0x19d66e[_0x0b7a('0x24')][_0x0b7a('0x25')](_0x1223ee);}})[_0x0b7a('0x1e')](function(){_0x3ec2ef();})['catch'](function(_0x11f2aa){_0x3ec2ef(_0x11f2aa);});},'afterUpdate':function(_0x25fa79,_0xa1f2e0,_0x4618f1){return _0x19d66e[_0x0b7a('0x24')]['destroy']({'where':{'ChanSpyId':_0x25fa79['id']}})[_0x0b7a('0x1e')](function(){return getChanSpyPromise(_0x19d66e,_0x25fa79);})[_0x0b7a('0x1e')](function(_0x19f5b7){if(_0x19f5b7&&_0x19f5b7[_0x0b7a('0x18')]){return _0x19d66e[_0x0b7a('0x24')][_0x0b7a('0x25')](_0x19f5b7);}})[_0x0b7a('0x1e')](function(){_0x4618f1();})[_0x0b7a('0x1f')](function(_0x484779){_0x4618f1(_0x484779);});},'afterDestroy':function(_0x3942a7,_0x73d849,_0x1af85b){return _0x19d66e[_0x0b7a('0x24')][_0x0b7a('0x26')]({'where':{'ChanSpyId':_0x3942a7['id']}})[_0x0b7a('0x1e')](function(){_0x1af85b();})['catch'](function(_0x4e3667){_0x1af85b(_0x4e3667);});}}});};