upload work

This commit is contained in:
Mike Slemmer 2013-01-16 17:53:55 -08:00
parent 5bbd6a96f1
commit f628d1f30a
4 changed files with 62 additions and 0 deletions

View File

@ -42,6 +42,7 @@ gem 'fb_graph', '2.5.9'
gem 'sendgrid', '1.1.0'
gem 'recaptcha', '0.3.4'
gem 'filepicker-rails', '0.0.2'
gem 'aws-sdk', '1.8.0'
group :libv8 do
gem 'libv8', "~> 3.11.8"

View File

@ -0,0 +1,44 @@
class ApiRecordingssController < ApiController
before_filter :api_signed_in_user
before_filter :parse_filename
respond_to :json
def upload_next_part
if @saved_track.next_part_to_upload == 0
@saved_track.upload_start
end
render :json => { :part => @saved_track.next_part_to_upload }, :status => 200
end
def upload_sign
render :json => @saved_track.upload_sign(params[:filename], params[:content_md5]), :status => 200
end
def upload_part_complete
begin
@saved_track.upload_part_complete(params[:part])
rescue
render :json => { :message => "part out of order" }, :status => 403
end
respond_with responder: ApiResponder, :status => 204
end
def upload_complete
@saved_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
render :json => { :message => RECORDING_NOT_FOUND }, :status => 404
end
end
end

11
config/aws.yml Normal file
View File

@ -0,0 +1,11 @@
development:
access_key_id: AKIAIFFBNBRQG5YQ5WHA
secret_access_key: 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
test:
access_key_id: AKIAIFFBNBRQG5YQ5WHA
secret_access_key: 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
production:
access_key_id: AKIAIFFBNBRQG5YQ5WHA
secret_access_key: XLq2mpJHNyA0bN7GBSdYyF/pWjfzGkDx92b1C+Wv

View File

@ -180,5 +180,11 @@ SampleApp::Application.routes.draw do
# Location lookups
match '/regions' => 'api_maxmind_requests#regions', :via => :get
match '/cities' => 'api_maxmind_requests#cities', :via => :get
# Recording uploads
match '/recordings/upload_next_part' => 'api_recordings_controller#upload_next_part', :via => :get
match '/recordings/upload_sign' => 'api_recordings_controller#upload_sign', :via => :get
match '/recordings/upload_part_complete' => 'api_recordings_controller#upload_part_complete', :via => :put
match '/recordings/upload_complete' => 'api_recordings_controller#upload_complete', :via => :put
end
end