forked from External/greenlight
		
	fix recording delete not sending notification
This commit is contained in:
		| @@ -249,7 +249,7 @@ class @Recordings | ||||
|         url: url+'/'+id, | ||||
|         data: data | ||||
|       }).done((data) -> | ||||
|  | ||||
|         btn.prop('disabled', false) | ||||
|       ).fail((data) -> | ||||
|         btn.prop('disabled', false) | ||||
|       ) | ||||
| @@ -264,7 +264,7 @@ class @Recordings | ||||
|         method: 'DELETE', | ||||
|         url: url+'/'+id | ||||
|       }).done((data) -> | ||||
|  | ||||
|         btn.prop('disabled', false) | ||||
|       ).fail((data) -> | ||||
|         btn.prop('disabled', false) | ||||
|       ) | ||||
|   | ||||
| @@ -159,9 +159,10 @@ class BbbController < ApplicationController | ||||
|   # DELETE /rooms/:id/recordings/:record_id | ||||
|   # DELETE /rooms/:room_id/:id/recordings/:record_id | ||||
|   def delete_recordings | ||||
|     recording = bbb_get_recordings({recordID: params[:record_id]})[:recordings].first | ||||
|     bbb_res = bbb_delete_recordings(params[:record_id]) | ||||
|     if bbb_res[:returncode] | ||||
|       RecordingDeletesJob.perform_later(@user.encrypted_id, params[:record_id], params[:id]) | ||||
|       RecordingDeletesJob.perform_later(@user.encrypted_id, params[:record_id], recording[:metadata][:"meeting-name"]) | ||||
|     end | ||||
|     render_bbb_response bbb_res | ||||
|   end | ||||
|   | ||||
| @@ -20,25 +20,12 @@ class RecordingDeletesJob < ApplicationJob | ||||
|   queue_as :default | ||||
|  | ||||
|   def perform(room, record_id, meeting=nil) | ||||
|     tries = 0 | ||||
|     sleep_time = 2 | ||||
|  | ||||
|     while tries < 4 | ||||
|       bbb_res = bbb_get_recordings({recordID: record_id}) | ||||
|       if !bbb_res[:recordings] || bbb_res[:messageKey] == 'noRecordings' | ||||
|         full_id = room | ||||
|         full_id += "-#{recording[:metadata][:"meeting-name"]}" | ||||
|         ActionCable.server.broadcast "#{room}_recording_updates_channel", | ||||
|           action: 'delete', | ||||
|           id: record_id | ||||
|         ActionCable.server.broadcast "#{full_id}_recording_updates_channel", | ||||
|           action: 'delete', | ||||
|           id: record_id | ||||
|         break | ||||
|       end | ||||
|       sleep sleep_time | ||||
|       sleep_time = sleep_time * 2 | ||||
|       tries += 1 | ||||
|     end | ||||
|     full_id = "#{room}-#{meeting}" | ||||
|     ActionCable.server.broadcast "#{room}_recording_updates_channel", | ||||
|       action: 'delete', | ||||
|       id: record_id | ||||
|     ActionCable.server.broadcast "#{full_id}_recording_updates_channel", | ||||
|       action: 'delete', | ||||
|       id: record_id | ||||
|   end | ||||
| end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user