This commit is contained in:
Seth Call 2020-05-06 18:24:29 -05:00
parent 20d7be5c8f
commit 6982376dc4
3 changed files with 50 additions and 1 deletions

16
db/up/ars_ids.sql Normal file
View File

@ -0,0 +1,16 @@
create sequence connections_client_id_int_seq;
alter table connections add column client_id_int int not null default nextval('connections_client_id_int_seq');
--ALTER SEQUENCE connections_client_id_int_seq OWNED BY connections.id;
create sequence music_sessions_id_int_seq;
alter table connections add column id_int int not null default nextval('music_sessions_id_int_seq');
CREATE TABLE arses (
id VARCHAR(64) PRIMARY KEY DEFAULT uuid_generate_v4(),
name VARCHAR(20) NOT NULL,
id_int SMALLINT,
public_ip VARCHAR(200),
active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

View File

@ -1,7 +1,7 @@
ALTER TABLE rsvp_requests ADD COLUMN music_session_id VARCHAR(64) REFERENCES music_sessions(id);
ALTER TABLE rsvp_requests ADD COLUMN chosen boolean DEFAULT FALSE NOT NULL;
--UPDATE rsvp_requests set CHOSEN = TRUE, music_session_id = b.music_session_id FROM (SELECT music_sessions.id as music_session_id, rsvp_requests.id as rsvp_request_id FROM music_sessions JOIN rsvp_slots ON music_sessions.id = rsvp_slots.music_session_id JOIN rsvp_requests_rsvp_slots ON rsvp_requests_rsvp_slots.rsvp_slot_id = rsvp_slots.id JOIN rsvp_requests ON rsvp_requests.id = rsvp_requests_rsvp_slots.rsvp_request_id WHERE rsvp_requests_rsvp_slots.chosen = TRUE ) b WHERE rsvp_requests.id = rsvp_request_id;
--UPDATE rsvp_requests set CHOSEN = TRUE, music_session_id = b.music_session_id FROM (SELECT music_sessions.id as music_session_id, rsvp_requests.id as rsvp_request_id FROM music_sessions JOIN rsvp_slots ON music_sessions.id = rsvp_slots.music_session_id JOIN rsvp_requests_rsvp_slots ON rsvp_requests_rsvp_slots.rsvp_slot_id = rsvp_slots.id JOIN rsvp_requests ON rsvp_requests.id = rsvp_requests_rsvp_slots.rsvp_request_id WHERE rsvp_requests_rsvp_slots.chosen = TRUE where music_sessions.created_at > '2020-01-01') b WHERE rsvp_requests.id = rsvp_request_id;
ALTER TABLE music_sessions ADD COLUMN friends_can_join boolean DEFAULT FALSE NOT NULL;
CREATE INDEX rsvp_request_music_session_id ON rsvp_requests USING btree (music_session_id);

View File

@ -0,0 +1,33 @@
module JamRuby
class Ars < ActiveRecord::Base
@@log = Logging.logger[Ars]
STATUS_COMPLETED = 'complete'
STATUS_ABANDONED = 'abandoned'
STATUS_REVOKED = 'revoked'
STATUS_DELETED = 'deleted'
DONE_STATUSES = [STATUS_ABANDONED, STATUS_REVOKED, STATUS_DELETED, STATUS_COMPLETED]
belongs_to :music_session, :class_name => 'JamRuby::MusicSession'
def self.current_broadcast(music_session)
Broadcast.where(music_session_id: music_session.id).where('broadcast_status not in (?)', Broadcast::DONE_STATUSES).first
end
def self.unlink_broadcast(music_session)
broadcast = current_broadcast(music_session)
if broadcast
broadcast.broadcast_status = STATUS_DELETED
broadcast.save
end
end
# data should be JSON hash from google API
def update_broadcast_data(data)
self.broadcast_status = data["status"]["lifeCycleStatus"]
self.broadcast_data = data.to_json
end
end
end