update rooms.py/main.py
This commit is contained in:
+69
-2
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user