Files
calendar/backend/main.py
T
2026-08-03 10:39:39 +02:00

80 lines
1.7 KiB
Python

# Python backend for a calender for my friend group.
# We had the problem of never agreeing when or where
# we should meet up, and I hope this fixes the problem.
from fastapi import FastAPI, Request
from database import fetch_all
from events import create_event
app = FastAPI(
title="Calendar API",
description="Room based agenda system",
version="0.1"
)
@app.get("/")
def home():
return {
"status": "online",
"service": "Calendar API"
}
@app.get("/database")
def database_status():
tables = fetch_all(
"SELECT name FROM sqlite_master WHERE type='table';"
)
return {
"tables": [table["name"] for table in tables]
}
@app.post("/events")
async def api_create_event(request: Request):
data = await request.json()
print(data)
event_id = create_event(
room_id=data["room_id"],
creator_id=data["creator_id"],
type=data["type"],
title=data["title"],
description=data["description"],
start_time=data["start_time"],
end_time=data["end_time"],
visibility=data["visibility"],
status=data["status"],
min_people=data["min_people"]
)
return {
"received": data
}
# def give_data():
# event = create_event(
# room_id=,
# creator_id=,
# type=,
# title=,
# description=,
# start_time=,
# end_time=,
# visibility=,
# status=,
# min_people=
# )
# print("Nieuw event ID:", event)
@app.get("/events")
def get_events():
events = fetch_all("SELECT * FROM events;")
return {
"events": [dict(event) for event in events]
}