* wip
This commit is contained in:
parent
6be0791adb
commit
acd1efd877
|
|
@ -151,3 +151,4 @@ user_mods.sql
|
|||
connection_stale_expire.sql
|
||||
rename_chat_messages.sql
|
||||
fix_connection_fields.sql
|
||||
scheduled_sessions.sql
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
-- track the last measured audio gear latency
|
||||
ALTER TABLE users ADD COLUMN audio_latency double precision;
|
||||
|
||||
ALTER TABLE music_sessions_history ADD COLUMN scheduled_start TIMESTAMP WITH TIME ZONE;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN scheduled_duration INTERVAL;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN musician_access BOOLEAN NOT NULL;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN approval_required BOOLEAN NOT NULL;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN fan_chat BOOLEAN NOT NULL;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN genre_id VARCHAR(64) NOT NULL REFERENCES genres(id);
|
||||
ALTER TABLE music_sessions_history ADD COLUMN legal_policy VARCHAR(255) NOT NULL;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN language VARCHAR(255) NOT NULL;
|
||||
ALTER TABLE music_sessions_history ADD COLUMN name TEXT NOT NULL;
|
||||
|
||||
CREATE TABLE rsvp_slots (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL,
|
||||
instrument_id VARCHAR(64) REFERENCES instruments (id),
|
||||
proficiency_level VARCHAR(255) NOT NULL,
|
||||
music_session_id VARCHAR(64) NOT NULL REFERENCES music_sessions_history (id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE rsvp_requests (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL,
|
||||
user_id VARCHAR(64) NOT NULL REFERENCES users (id) ON DELETE CASCADE,
|
||||
rsvp_slot_id VARCHAR(64) NOT NULL REFERENCES rsvp_slots(id) ON DELETE CASCADE,
|
||||
message TEXT,
|
||||
chosen BOOLEAN DEFAULT FALSE,
|
||||
accept_all BOOLEAN
|
||||
);
|
||||
|
||||
|
||||
-- make these 3 tables be LOGGED, and refer to music_sessions_history instead of music_sessions
|
||||
DROP TABLE fan_invitations;
|
||||
DROP TABLE invitations;
|
||||
DROP TABLE join_requests;
|
||||
|
||||
|
||||
CREATE TABLE fan_invitations (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL,
|
||||
sender_id VARCHAR(64),
|
||||
receiver_id VARCHAR(64),
|
||||
music_session_id VARCHAR(64),
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW() NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW() NOT NULL
|
||||
);
|
||||
ALTER TABLE ONLY fan_invitations ADD CONSTRAINT fan_invitations_music_session_id_fkey FOREIGN KEY (music_session_id) REFERENCES music_sessions_history(id) ON DELETE CASCADE;
|
||||
|
||||
CREATE UNLOGGED TABLE join_requests (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL,
|
||||
user_id VARCHAR(64),
|
||||
music_session_id VARCHAR(64),
|
||||
text VARCHAR(2000),
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW() NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW() NOT NULL
|
||||
);
|
||||
ALTER TABLE ONLY join_requests ADD CONSTRAINT user_music_session_uniqkey UNIQUE (user_id, music_session_id);
|
||||
ALTER TABLE ONLY join_requests ADD CONSTRAINT join_requests_music_session_id_fkey FOREIGN KEY (music_session_id) REFERENCES music_sessions_history(id) ON DELETE CASCADE;
|
||||
|
||||
-- INVITATIONS
|
||||
--------------
|
||||
CREATE UNLOGGED TABLE invitations (
|
||||
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4() NOT NULL,
|
||||
sender_id VARCHAR(64),
|
||||
receiver_id VARCHAR(64),
|
||||
music_session_id VARCHAR(64),
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW() NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE DEFAULT NOW() NOT NULL,
|
||||
join_request_id VARCHAR(64)
|
||||
);
|
||||
ALTER TABLE ONLY invitations ADD CONSTRAINT invitations_uniqkey UNIQUE (sender_id, receiver_id, music_session_id);
|
||||
ALTER TABLE ONLY invitations ADD CONSTRAINT invitations_join_request_id_fkey FOREIGN KEY (join_request_id) REFERENCES join_requests(id) ON DELETE CASCADE;
|
||||
ALTER TABLE ONLY invitations ADD CONSTRAINT invitations_music_session_id_fkey FOREIGN KEY (music_session_id) REFERENCES music_sessions_history(id) ON DELETE CASCADE;
|
||||
|
|
@ -7,7 +7,7 @@ module JamRuby
|
|||
self.primary_key = 'id'
|
||||
belongs_to :sender, :inverse_of => :sent_fan_invitations, :class_name => "JamRuby::User", :foreign_key => "sender_id"
|
||||
belongs_to :receiver, :inverse_of => :received_fan_invitations, :class_name => "JamRuby::User", :foreign_key => "receiver_id"
|
||||
belongs_to :music_session, :inverse_of => :fan_invitations, :class_name => "JamRuby::MusicSession"
|
||||
belongs_to :music_session, :inverse_of => :fan_invitations, :class_name => "JamRuby::MusicSessionHistory", :foreign_key => "music_session_id"
|
||||
|
||||
validates :sender, :presence => true
|
||||
validates :receiver, :presence => true
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ module JamRuby
|
|||
self.primary_key = 'id'
|
||||
belongs_to :sender, :inverse_of => :sent_invitations, :class_name => "JamRuby::User", :foreign_key => "sender_id"
|
||||
belongs_to :receiver, :inverse_of => :received_invitations, :class_name => "JamRuby::User", :foreign_key => "receiver_id"
|
||||
belongs_to :music_session, :inverse_of => :invitations, :class_name => "JamRuby::MusicSession"
|
||||
belongs_to :music_session, :inverse_of => :invitations, :class_name => "JamRuby::MusicSessionHistory", :foreign_key => "music_session_id"
|
||||
belongs_to :join_request, :inverse_of => :invitations, :class_name => "JamRuby::JoinRequest"
|
||||
|
||||
validates :sender, :presence => true
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ module JamRuby
|
|||
self.primary_key = 'id'
|
||||
|
||||
belongs_to :user, :class_name => "JamRuby::User"
|
||||
belongs_to :music_session, :class_name => "JamRuby::MusicSession"
|
||||
belongs_to :music_session, :class_name => "JamRuby::MusicSessionHistory", :foreign_key => "music_session_id"
|
||||
has_many :invitations, :inverse_of => :join_request, :class_name => "JamRuby::Invitation"
|
||||
|
||||
validates :user, :presence => true
|
||||
|
|
|
|||
|
|
@ -15,12 +15,6 @@ module JamRuby
|
|||
has_many :connections, :class_name => "JamRuby::Connection"
|
||||
has_many :users, :through => :connections, :class_name => "JamRuby::User"
|
||||
has_and_belongs_to_many :genres, :class_name => "::JamRuby::Genre", :join_table => "genres_music_sessions"
|
||||
has_many :join_requests, :foreign_key => "music_session_id", :inverse_of => :music_session, :class_name => "JamRuby::JoinRequest"
|
||||
has_many :invitations, :foreign_key => "music_session_id", :inverse_of => :music_session, :class_name => "JamRuby::Invitation"
|
||||
has_many :invited_musicians, :through => :invitations, :class_name => "JamRuby::User", :foreign_key => "receiver_id", :source => :receiver
|
||||
|
||||
has_many :fan_invitations, :foreign_key => "music_session_id", :inverse_of => :music_session, :class_name => "JamRuby::FanInvitation"
|
||||
has_many :invited_fans, :through => :fan_invitations, :class_name => "JamRuby::User", :foreign_key => "receiver_id", :source => :receiver
|
||||
has_many :recordings, :class_name => "JamRuby::Recording", :inverse_of => :music_session
|
||||
has_many :chats, :class_name => "JamRuby::ChatMessages", :foreign_key => "session_id"
|
||||
belongs_to :band, :inverse_of => :music_sessions, :class_name => "JamRuby::Band", :foreign_key => "band_id"
|
||||
|
|
|
|||
|
|
@ -26,6 +26,13 @@ module JamRuby
|
|||
has_one :share_token, :class_name => "JamRuby::ShareToken", :inverse_of => :shareable, :foreign_key => 'shareable_id'
|
||||
has_one :feed, :class_name => "JamRuby::Feed", :inverse_of => :music_session_history, :foreign_key => 'music_session_id', :dependent => :destroy
|
||||
|
||||
has_many :join_requests, :foreign_key => "music_session_id", :inverse_of => :music_session, :class_name => "JamRuby::JoinRequest", :foreign_key => "music_session_id"
|
||||
has_many :invitations, :foreign_key => "music_session_id", :inverse_of => :music_session, :class_name => "JamRuby::Invitation", :foreign_key => "music_session_id"
|
||||
has_many :invited_musicians, :through => :invitations, :class_name => "JamRuby::User", :foreign_key => "receiver_id", :source => :receiver
|
||||
has_many :fan_invitations, :foreign_key => "music_session_id", :inverse_of => :music_session, :class_name => "JamRuby::FanInvitation", :foreign_key => "music_session_id"
|
||||
has_many :invited_fans, :through => :fan_invitations, :class_name => "JamRuby::User", :foreign_key => "receiver_id", :source => :receiver
|
||||
|
||||
|
||||
|
||||
before_create :generate_share_token
|
||||
before_create :add_to_feed
|
||||
|
|
|
|||
|
|
@ -48,8 +48,6 @@ class ApiRecordingsController < ApiController
|
|||
else
|
||||
render :json => { :message => "download limit surpassed" }, :status => 404
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
def start
|
||||
|
|
|
|||
Loading…
Reference in New Issue