update rooms.py/main.py

This commit is contained in:
ben
2026-08-03 15:28:09 +02:00
parent d4335554e6
commit 2490a34ad0
3 changed files with 157 additions and 2 deletions
+69 -2
View File
@@ -4,6 +4,7 @@ from pydantic import BaseModel
from database import fetch_all
from events import create_event
from auth import create_user, verify_user
from rooms import create_room, search_room, accept_room
class Login(BaseModel):
username: str
@@ -25,11 +26,23 @@ class EventCreate(BaseModel):
status: str
min_people: int
class RoomCreate(BaseModel):
room_name: str
creator_id: int
invite_code: str
class RoomSearch(BaseModel):
user_id: int
invite_code: str
class RoomJoin(BaseModel):
user_id: int
invite_code: str
app = FastAPI(
title="Calendar API",
description="Room based agenda system",
version="0.1"
version="1.0"
)
@@ -88,7 +101,7 @@ def api_create_user(user: UserCreate):
user_id = create_user(
username=user.username,
password=user.password
password=user.password,
)
return {
@@ -112,4 +125,58 @@ def api_login(login: Login):
return {
"status": "success",
"user_id": user_id
}
@app.post("/create_room")
def api_create_room(room: RoomCreate):
room_id = create_room(
room.room_name,
room.creator_id,
room.invite_code
)
if room_id is None:
return {
"status": "failed"
}
return {
"status": "success",
"room_id": room_id
}
@app.post("/search-room")
def api_search_room(search_for_room: RoomSearch):
room_name = search_room(
search_for_room.invite_code
)
if room_name is None:
return {
"status": "failed"
}
return {
"status": "success",
"room_name": room_name
}
@app.post("/join-room")
def api_join_room(room: RoomJoin):
result = accept_room(
room.user_id,
room.invite_code
)
if result is None:
return {
"status": "failed",
"reason": "room_not_found"
}
return {
"status": "joined",
**result
}