From: Chris Fulljames Date: Tue, 8 Apr 2025 11:38:05 +0000 (-0400) Subject: Sketch out jam schema and API X-Git-Url: https://littlesong.place/gitweb/?a=commitdiff_plain;h=547ea4b3509c59552c13a9cb83a698d1e2b0a2db;p=littlesongplace.git Sketch out jam schema and API --- diff --git a/src/littlesongplace/jams.py b/src/littlesongplace/jams.py index f744958..1e729a1 100644 --- a/src/littlesongplace/jams.py +++ b/src/littlesongplace/jams.py @@ -2,6 +2,54 @@ from flask import Blueprint, render_template bp = Blueprint("jams", __name__, url_prefix="/jams") -@bp.get("/") +@bp.get("/") +def jams(): + # Show a list of all jams: current, upcoming, previous + ... + +@bp.get("/create") +def create(): + # Create a new jam and redirect to the edit form + ... + +@bp.get("/") def jam(jamid): + # Show the current/most recent event + # TODO: Redirect to current event page return render_template("jam.html") + +@bp.post("//update") +def update(jamid): + # Update a jam with the new form data, redirect to view page + ... + +@bp.get("//delete") +def delete(jamid): + # Delete a jam, redirect to the jams list + ... + +@bp.get("//events") +def events(jamid): + # Show a list of all events for the jam + ... + +@bp.get("//events/create") +def events_create(): + # Create a new event and redirect to the edit form + ... + +@bp.get("//events/") +def events_view(eventid): + # Show the event page + ... + +@bp.post("//events//update") +def events_update(jamid): + # Update an event with the new form data + ... + +@bp.get("//events//delete") +def events_delete(jamid): + # Delete an event, redirect to list of all events + ... + diff --git a/src/littlesongplace/sql/schema_update.sql b/src/littlesongplace/sql/schema_update.sql index 139597f..fb4cc15 100644 --- a/src/littlesongplace/sql/schema_update.sql +++ b/src/littlesongplace/sql/schema_update.sql @@ -1,2 +1,23 @@ +--DROP TABLE IF EXISTS jams; +CREATE TABLE jams ( + jamid INTEGER PRIMARY KEY, + owner INTEGER NOT NULL, + created TEXT NOT NULL, + title TEXT NOT NULL, + description TEXT, + FOREIGN KEY(owner) REFERENCES users(userid) +); - +--DROP TABLE IF EXISTS jam_events; +CREATE TABLE jam_events( + eventid INTEGER PRIMARY KEY, + jamid INTEGER NOT NULL, + created TEXT NOT NULL, + title TEXT NOT NULL, + startdate TEXT NOT NULL, + enddate TEXT NOT NULL, + threadid INTEGER NOT NULL, + description TEXT, + FOREIGN KEY(jamid) REFERENCES jams(jamid), + FOREIGN KEY(threadid) REFERENCES comment_threads(threadid) +);