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 }