Initial Commit
slip slop
This commit is contained in:
commit
064e672ab7
61 changed files with 3504 additions and 0 deletions
43
app/routes_musicians.py
Normal file
43
app/routes_musicians.py
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
"""Routes for the standalone musicians table."""
|
||||
from flask import Blueprint, jsonify, request
|
||||
from app.extensions import db
|
||||
from app.models import Musician
|
||||
from app.auth import require_api_key
|
||||
|
||||
musicians_bp = Blueprint("musicians", __name__, url_prefix="/musicians")
|
||||
|
||||
|
||||
@musicians_bp.get("/")
|
||||
def list_musicians():
|
||||
musicians = db.session.query(Musician).order_by(Musician.name).all()
|
||||
return jsonify([m.to_dict() for m in musicians])
|
||||
|
||||
|
||||
@musicians_bp.post("/")
|
||||
@require_api_key
|
||||
def create_musician():
|
||||
data = request.get_json(force=True)
|
||||
musician = Musician(name=data["name"])
|
||||
db.session.add(musician)
|
||||
db.session.commit()
|
||||
return jsonify(musician.to_dict()), 201
|
||||
|
||||
|
||||
@musicians_bp.patch("/<int:musician_id>")
|
||||
@require_api_key
|
||||
def update_musician(musician_id):
|
||||
musician = db.get_or_404(Musician, musician_id)
|
||||
data = request.get_json(force=True)
|
||||
if "name" in data:
|
||||
musician.name = data["name"]
|
||||
db.session.commit()
|
||||
return jsonify(musician.to_dict())
|
||||
|
||||
|
||||
@musicians_bp.delete("/<int:musician_id>")
|
||||
@require_api_key
|
||||
def delete_musician(musician_id):
|
||||
musician = db.get_or_404(Musician, musician_id)
|
||||
db.session.delete(musician)
|
||||
db.session.commit()
|
||||
return jsonify({"deleted": musician_id})
|
||||
Loading…
Add table
Add a link
Reference in a new issue