71 lines
1.5 KiB
Python
71 lines
1.5 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"],
|
|
event_type=data["event_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=,
|
|
# event_type=,
|
|
# title=,
|
|
# description=,
|
|
# start_time=,
|
|
# end_time=,
|
|
# visibility=,
|
|
# status=,
|
|
# min_people=
|
|
# )
|
|
|
|
# print("Nieuw event ID:", event) |