This commit is contained in:
Seth Call 2015-09-09 06:11:16 -05:00
parent c802759e42
commit 2260350fc4
5 changed files with 15 additions and 2 deletions

View File

@ -41,4 +41,6 @@ CREATE TABLE jam_track_mixdown_packages (
version VARCHAR NOT NULL DEFAULT '1',
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
);
ALTER TABLE jam_track_rights ADD COLUMN last_mixdown_id REFERENCES jam_track_mixdowns(id) ON DELETE SET NULL;

View File

@ -7,8 +7,8 @@ module JamRuby
belongs_to :user, class_name: "JamRuby::User" # the owner, or purchaser of the jam_track
belongs_to :jam_track, class_name: "JamRuby::JamTrack"
has_many :jam_track_mixdown_packages, class_name: "JamRuby::JamTrackMixdownPackage"
has_one :jam_track_right, class_name: 'JamRuby::JamTrackRight', foreign_key: 'last_mixdown_id', inverse_of: :last_mixdown
validates :name, presence: true, length: {maximum: 100}
validates :description, length: {maximum: 1000}

View File

@ -11,6 +11,7 @@ module JamRuby
attr_accessible :url_48, :md5_48, :length_48, :url_44, :md5_44, :length_44
belongs_to :user, class_name: "JamRuby::User" # the owner, or purchaser of the jam_track
belongs_to :jam_track, class_name: "JamRuby::JamTrack"
belongs_to :last_mixdown, class_name: 'JamRuby::JamTrackMixdown', foreign_key: 'last_mixdown_id', inverse_of: :jam_track_right
validates :user, presence: true
validates :jam_track, presence: true

View File

@ -17,6 +17,10 @@ class ApiJamTrackMixdownsController < ApiController
render "api_jam_track_mixdowns/index", :layout => nil
end
def show_package
@package = JamTrackMixdownPackage.find(params[:id])
end
def create
@mixdown = JamTrackMixdown.create(params[:name], params[:description], current_user, JamTrack.find(params[:jamTrackID]), params[:settings])
respond_with_model(@mixdown)

View File

@ -247,7 +247,13 @@ SampleApp::Application.routes.draw do
match '/jamtracks/enqueue/:id' => 'api_jam_tracks#enqueue', :via => :post, :as => 'api_jam_tracks_enqueue'
match '/jamtracks/rights/:id' => 'api_jam_tracks#show_jam_track_right', :via => :get, :as => 'api_jam_tracks_show_right'
match '/jamtracks/keys' => 'api_jam_tracks#keys', :via => :post, :as => 'api_jam_tracks_keys'
# mixdowns
match '/jamtracks/:id/mixdowns' => 'api_jam_track_mixdowns#index', :via => :get
match '/mixdowns' => 'api_jam_track_mixdowns#create', :via => :post
match '/mixdowns/:id/download' => 'api_jam_track_mixdowns#download', :via => :get
match '/mixdowns/:id/enqueue' => 'api_jam_track_mixdowns#enqueue', :via => :get
match '/mixdown_packages/:id' => 'api_jam_track_mixdowns#show_package', :via => :get
# Shopping carts
match '/shopping_carts/add_jamtrack' => 'api_shopping_carts#add_jamtrack', :via => :post