Class: SpectatorSport::Dashboard::RecordingsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/spectator_sport/dashboard/recordings_controller.rb

Instance Method Summary collapse

Instance Method Details

#destroyObject



40
41
42
43
44
45
46
47
# File 'app/controllers/spectator_sport/dashboard/recordings_controller.rb', line 40

def destroy
  @recording = Recording.find(params[:id])
  @recording.events.delete_all
  @recording.labels.delete_all if SpectatorSport::Label.migrated?
  @recording.delete

  redirect_to root_path
end

#detailsObject



36
37
38
# File 'app/controllers/spectator_sport/dashboard/recordings_controller.rb', line 36

def details
  @recording = Recording.find(params[:id])
end

#indexObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/spectator_sport/dashboard/recordings_controller.rb', line 4

def index
  @search_query = SpectatorSport::SearchQuery.new(query: params[:query])

  @recordings = Recording.order(:created_at).limit(50).reverse_order
  @recordings = @recordings.includes(:labels) if SpectatorSport::Label.migrated?

  if @search_query.query.present? && SpectatorSport::Label.migrated?
    if @search_query.valid?
      @recordings = @search_query.to_scope(base_scope: @recordings)
    else
      @recordings = @recordings.none
    end
  end
end

#showObject



19
20
21
22
23
# File 'app/controllers/spectator_sport/dashboard/recordings_controller.rb', line 19

def show
  @recording = Recording.find(params[:id])
  @events = @recording.events.page_after(nil)
  @labels = SpectatorSport::Label.migrated? ? @recording.labels.to_a : []
end

#stream_eventsObject



25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/spectator_sport/dashboard/recordings_controller.rb', line 25

def stream_events
  response.content_type = "text/vnd.turbo-stream.html"
  return head(:ok) if params[:after_event_id].blank?

  recording = Recording.find(params[:id])
  previous_event = recording.events.find_by(id: params[:after_event_id])
  @events = recording.events.page_after(previous_event)

  render layout: false
end