Built motion from commit (unavailable).|2.4.21
[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 _0x2a92=['merge','Set','CDR(type)=%s','chanspy','record','MixMonitor','format','${UNIQUEID}.%s,a','recordingFormat','auth','Authenticate','password','name','options','join','StopMixMonitor','concat','internal','User','findAll','agent','then','catch','exports','models','define','voice_chanspy','length','VoiceExtension','bulkCreate','destroy','lodash','util','bluebird','./voiceChanSpy.attributes','context','%s%s','prefix','system','push'];(function(_0x5d4366,_0x1ea497){var _0x373165=function(_0x3d0da1){while(--_0x3d0da1){_0x5d4366['push'](_0x5d4366['shift']());}};_0x373165(++_0x1ea497);}(_0x2a92,0xbf));var _0x22a9=function(_0x2095ed,_0x156cfb){_0x2095ed=_0x2095ed-0x0;var _0x22dbb0=_0x2a92[_0x2095ed];return _0x22dbb0;};'use strict';var _=require(_0x22a9('0x0'));var util=require(_0x22a9('0x1'));var BPromise=require(_0x22a9('0x2'));var attributes=require(_0x22a9('0x3'));var getUserApplications=function(_0x4d7e0d,_0x4ce4e9,_0x22ac16){var _0x123b0f=0x1;var _0xe40642=[];var _0x3bf3ec={'context':_0x4ce4e9[_0x22a9('0x4')]||'from-sip','exten':util['format'](_0x22a9('0x5'),_0x4d7e0d[_0x22a9('0x6')],_0x22ac16),'type':_0x22a9('0x7'),'isApp':![],'ChanSpyId':_0x4d7e0d['id'],'UserId':_0x4ce4e9['id']};_0xe40642[_0x22a9('0x8')](_[_0x22a9('0x9')]({'app':_0x22a9('0xa'),'appdata':util['format'](_0x22a9('0xb'),_0x22a9('0xc')),'priority':_0x123b0f++},_0x3bf3ec));if(_0x4d7e0d[_0x22a9('0xd')]){_0xe40642[_0x22a9('0x8')](_['merge']({'app':_0x22a9('0xe'),'appdata':util[_0x22a9('0xf')](_0x22a9('0x10'),_0x4d7e0d[_0x22a9('0x11')]),'priority':_0x123b0f++},_0x3bf3ec));}if(_0x4d7e0d[_0x22a9('0x12')]){_0xe40642[_0x22a9('0x8')](_['merge']({'app':_0x22a9('0x13'),'appdata':_0x4d7e0d[_0x22a9('0x14')],'priority':_0x123b0f++},_0x3bf3ec));}_0xe40642[_0x22a9('0x8')](_[_0x22a9('0x9')]({'app':'ChanSpy','appdata':util['format']('SIP/%s,%s',_0x4ce4e9[_0x22a9('0x15')],_0x4d7e0d[_0x22a9('0x16')]?_0x4d7e0d[_0x22a9('0x16')][_0x22a9('0x17')](''):''),'priority':_0x123b0f++},_0x3bf3ec));if(_0x4d7e0d['record']){_0xe40642[_0x22a9('0x8')](_[_0x22a9('0x9')]({'app':_0x22a9('0x18'),'priority':_0x123b0f++},_0x3bf3ec));}return _0xe40642;};var getChanSpyApplications=function(_0x40fe4b,_0x4abf1c){var _0x2a24f1=[];for(var _0x1bdd33=0x0,_0x3bba7b=0x1;_0x1bdd33<_0x4abf1c['length'];_0x1bdd33++,_0x3bba7b=0x1){_0x2a24f1=_0x2a24f1[_0x22a9('0x19')](getUserApplications(_0x40fe4b,_0x4abf1c[_0x1bdd33],_0x4abf1c[_0x1bdd33]['internal']));if(_0x4abf1c[_0x1bdd33][_0x22a9('0x1a')]!=_0x4abf1c[_0x1bdd33]['name']){_0x2a24f1=_0x2a24f1[_0x22a9('0x19')](getUserApplications(_0x40fe4b,_0x4abf1c[_0x1bdd33],_0x4abf1c[_0x1bdd33][_0x22a9('0x15')]));}}return _0x2a24f1;};var getChanSpyPromise=function(_0x583364,_0x1485cc){return new BPromise(function(_0x140c9b,_0x27cf2a){return _0x583364[_0x22a9('0x1b')][_0x22a9('0x1c')]({'attributes':['id',_0x22a9('0x15'),_0x22a9('0x1a')],'where':{'role':_0x22a9('0x1d'),'chanspy':!![]},'raw':!![]})[_0x22a9('0x1e')](function(_0x533862){if(_0x533862){return _0x140c9b(getChanSpyApplications(_0x1485cc,_0x533862));}return _0x140c9b([]);})[_0x22a9('0x1f')](function(_0x23b409){_0x27cf2a(_0x23b409);});});};module[_0x22a9('0x20')]=function(_0x3df7db,_0xd65dc3){var _0xb9c6c8=_0x3df7db[_0x22a9('0x21')];return _0x3df7db[_0x22a9('0x22')]('VoiceChanSpy',attributes,{'tableName':_0x22a9('0x23'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'afterCreate':function(_0x31c74b,_0x46f886,_0x2f6335){return getChanSpyPromise(_0xb9c6c8,_0x31c74b)[_0x22a9('0x1e')](function(_0x47416d){if(_0x47416d&&_0x47416d[_0x22a9('0x24')]){return _0xb9c6c8[_0x22a9('0x25')][_0x22a9('0x26')](_0x47416d);}})[_0x22a9('0x1e')](function(){_0x2f6335();})[_0x22a9('0x1f')](function(_0x361d31){_0x2f6335(_0x361d31);});},'afterUpdate':function(_0x262740,_0x8661c2,_0x42108d){return _0xb9c6c8[_0x22a9('0x25')][_0x22a9('0x27')]({'where':{'ChanSpyId':_0x262740['id']}})[_0x22a9('0x1e')](function(){return getChanSpyPromise(_0xb9c6c8,_0x262740);})[_0x22a9('0x1e')](function(_0x3ad642){if(_0x3ad642&&_0x3ad642[_0x22a9('0x24')]){return _0xb9c6c8[_0x22a9('0x25')][_0x22a9('0x26')](_0x3ad642);}})[_0x22a9('0x1e')](function(){_0x42108d();})[_0x22a9('0x1f')](function(_0x223636){_0x42108d(_0x223636);});},'afterDestroy':function(_0x100a72,_0x1444e2,_0x1a2ec4){return _0xb9c6c8[_0x22a9('0x25')][_0x22a9('0x27')]({'where':{'ChanSpyId':_0x100a72['id']}})['then'](function(){_0x1a2ec4();})[_0x22a9('0x1f')](function(_0x56add7){_0x1a2ec4(_0x56add7);});}}});};