From e7f4f8fd77245d8e358dbb6464965e5abc73bb85 Mon Sep 17 00:00:00 2001 From: Joris Tirado Date: Mon, 29 Jun 2020 09:58:36 -0700 Subject: [PATCH] Retrieve main conference greeting media from conference (#232) * Rename method * Retrieve main conference greeting media from callflow --- submodules/strategy/strategy.js | 55 ++++++++++++++------------------- 1 file changed, 24 insertions(+), 31 deletions(-) diff --git a/submodules/strategy/strategy.js b/submodules/strategy/strategy.js index c77c2e8..7fa16a8 100644 --- a/submodules/strategy/strategy.js +++ b/submodules/strategy/strategy.js @@ -1384,7 +1384,7 @@ define(function(require) { e.preventDefault(); var confCallflow = strategyData.callflows.MainConference; if (confCallflow) { - self.getMainConferenceGreetingMedia(function(greetingMedia) { + self.strategyGetMainConferenceGreetingMedia(confCallflow, function(greetingMedia) { var greetingTemplate = $(self.getTemplate({ name: 'customConferenceGreeting', data: { @@ -1534,38 +1534,31 @@ define(function(require) { }); }, - getMainConferenceGreetingMedia: function(callback) { - var self = this; - self.callApi({ - resource: 'media.list', - data: { - accountId: self.accountId, - filters: { - 'filter_type': 'mainConfGreeting' - } - }, - success: function(data, status) { - if (data.data && data.data.length > 0) { - self.callApi({ - resource: 'media.get', - data: { - accountId: self.accountId, - mediaId: data.data[0].id - }, - success: function(data, status) { - callback && callback(data.data); - }, - error: function(data, status) { - callback && callback(null); - } - }); - } else { - callback && callback(null); + strategyGetMainConferenceGreetingMedia: function(mainConferenceCallflow, callback) { + var self = this, + mediaId = _.get(mainConferenceCallflow, 'flow.data.welcome_prompt.media_id'); + + monster.waterfall([ + function(cb) { + if (_.isUndefined(mediaId)) { + return cb(null, null); } - }, - error: function(data, status) { - callback && callback(null); + self.callApi({ + resource: 'media.get', + data: { + accountId: self.accountId, + mediaId: mediaId + }, + success: function(data) { + cb(null, data.data); + }, + error: function() { + cb(true); + } + }); } + ], function(err, media) { + callback(err ? null : media); }); },