update rooms.py/main.py
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
from fastapi import FastAPI
|
||||
from pydantic import BaseModel
|
||||
from database import execute, fetch_one
|
||||
|
||||
DEFAULT_ROLE = "member"
|
||||
|
||||
def create_room(
|
||||
room_name,
|
||||
creator_id,
|
||||
invite_code
|
||||
):
|
||||
query = """
|
||||
INSERT INTO "main"."rooms"
|
||||
("name", "owner_id", "invite_code")
|
||||
VALUES (?, ?, ?);
|
||||
"""
|
||||
room_id = execute(
|
||||
query,
|
||||
(
|
||||
room_name,
|
||||
creator_id,
|
||||
invite_code
|
||||
)
|
||||
)
|
||||
|
||||
return room_id
|
||||
|
||||
def search_room(
|
||||
invite_code
|
||||
):
|
||||
query = """
|
||||
SELECT name
|
||||
FROM rooms
|
||||
WHERE invite_code = ?
|
||||
"""
|
||||
room = fetch_one(
|
||||
query,
|
||||
(
|
||||
invite_code,
|
||||
)
|
||||
)
|
||||
|
||||
if room is None:
|
||||
return None
|
||||
|
||||
return room_name["name"]
|
||||
|
||||
|
||||
def accept_room(
|
||||
user_id,
|
||||
invite_code
|
||||
):
|
||||
query = """
|
||||
SELECT id
|
||||
FROM rooms
|
||||
WHERE invite_code = ?
|
||||
"""
|
||||
room = fetch_one(
|
||||
query,
|
||||
(
|
||||
invite_code,
|
||||
)
|
||||
)
|
||||
|
||||
if room is None:
|
||||
return None
|
||||
|
||||
room_id = room["id"]
|
||||
role = DEFAULT_ROLE
|
||||
query2 = """
|
||||
INSERT INTO "main"."room_members"
|
||||
("room_id", "user_id", "role")
|
||||
VALUES (?, ?, ?);
|
||||
"""
|
||||
|
||||
member_id = execute(
|
||||
query2,
|
||||
(
|
||||
room_id,
|
||||
user_id,
|
||||
role
|
||||
)
|
||||
)
|
||||
|
||||
return {
|
||||
"room_id": room_id,
|
||||
"member_id": member_id
|
||||
}
|
||||
Reference in New Issue
Block a user