adding recording routes
This commit is contained in:
parent
04fb3844ff
commit
9a330169b5
|
|
@ -1,25 +1,44 @@
|
|||
class ApiRecordingssController < ApiController
|
||||
|
||||
before_filter :api_signed_in_user
|
||||
before_filter :parse_filename
|
||||
before_filter :look_up_recording, :only => [ :stop ]
|
||||
before_filter :parse_filename, :only => [ :upload_next_part, :upload_sign, :upload_part_complete, :upload_complete ]
|
||||
|
||||
respond_to :json
|
||||
|
||||
def start
|
||||
begin
|
||||
Recording.start(params[:music_session_id], current_user, params[:name])
|
||||
respond_with responder: ApiResponder, :status => 204
|
||||
rescue
|
||||
render :json => { :message => "recording could not be started" }, :status => 403
|
||||
end
|
||||
end
|
||||
|
||||
def stop
|
||||
begin
|
||||
@recording.stop
|
||||
respond_with responder: ApiResponder, :status => 204
|
||||
rescue
|
||||
render :json => { :message => "recording could not be stopped" }, :status => 403
|
||||
end
|
||||
end
|
||||
|
||||
def upload_next_part
|
||||
if @saved_track.next_part_to_upload == 0
|
||||
@saved_track.upload_start
|
||||
if @recorded_track.next_part_to_upload == 0
|
||||
@recorded_track.upload_start
|
||||
end
|
||||
|
||||
render :json => { :part => @saved_track.next_part_to_upload }, :status => 200
|
||||
render :json => { :part => @recorded_track.next_part_to_upload }, :status => 200
|
||||
end
|
||||
|
||||
def upload_sign
|
||||
render :json => @saved_track.upload_sign(params[:filename], params[:content_md5]), :status => 200
|
||||
render :json => @recorded_track.upload_sign(params[:filename], params[:content_md5]), :status => 200
|
||||
end
|
||||
|
||||
def upload_part_complete
|
||||
begin
|
||||
@saved_track.upload_part_complete(params[:part])
|
||||
@recorded_track.upload_part_complete(params[:part])
|
||||
rescue
|
||||
render :json => { :message => "part out of order" }, :status => 403
|
||||
end
|
||||
|
|
@ -27,18 +46,22 @@ class ApiRecordingssController < ApiController
|
|||
end
|
||||
|
||||
def upload_complete
|
||||
@saved_track.upload_complete
|
||||
@recorded_track.upload_complete
|
||||
respond_with responder: ApiResponder, :status => 204
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def parse_filename
|
||||
@saved_track = SavedTrack.find(SavedTrack.filename_to_saved_track_id(params[:filename]))
|
||||
unless @saved_track
|
||||
@recorded_track = RecordedTrack.find(RecordedTrack.filename_to_recorded_track_id(params[:filename]))
|
||||
unless @recorded_track
|
||||
render :json => { :message => RECORDING_NOT_FOUND }, :status => 404
|
||||
end
|
||||
end
|
||||
|
||||
def look_up_recording
|
||||
@recording = Recording.find(params[id])
|
||||
render :json => { :message => "recording not found" }, :status => 404 if @recording.nil?
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue