update endopoints
This commit is contained in:
@@ -16,6 +16,10 @@ from typing import Literal
|
|||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
|
|
||||||
from events import delete_event, get_room_events
|
from events import delete_event, get_room_events
|
||||||
|
from rooms import regenerate_invite_code
|
||||||
|
|
||||||
|
class InviteCodeUpdate(BaseModel):
|
||||||
|
invite_code: str
|
||||||
|
|
||||||
class Login(BaseModel):
|
class Login(BaseModel):
|
||||||
username: str
|
username: str
|
||||||
@@ -262,6 +266,23 @@ def api_join_room(
|
|||||||
**result
|
**result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@app.post("/rooms/{room_id}/invite-code")
|
||||||
|
def update_invite_code(
|
||||||
|
room_id: int,
|
||||||
|
data: InviteCodeUpdate,
|
||||||
|
user_id: int = Depends(get_current_user)
|
||||||
|
):
|
||||||
|
if not has_role(room_id, user_id, ["owner", "admin"]):
|
||||||
|
return {
|
||||||
|
"status": "denied",
|
||||||
|
"reason": "no_permission"
|
||||||
|
}
|
||||||
|
|
||||||
|
return regenerate_invite_code(
|
||||||
|
room_id,
|
||||||
|
data.invite_code
|
||||||
|
)
|
||||||
|
|
||||||
# events
|
# events
|
||||||
|
|
||||||
@app.post("/events")
|
@app.post("/events")
|
||||||
|
|||||||
@@ -279,3 +279,22 @@ def change_room_name(room_id, new_name, user_id):
|
|||||||
"room_id": room_id,
|
"room_id": room_id,
|
||||||
"updated_by": user_id
|
"updated_by": user_id
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def regenerate_invite_code(room_id, new_code):
|
||||||
|
execute(
|
||||||
|
"""
|
||||||
|
UPDATE rooms
|
||||||
|
SET invite_code = ?
|
||||||
|
WHERE id = ?
|
||||||
|
""",
|
||||||
|
(
|
||||||
|
new_code,
|
||||||
|
room_id
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
return {
|
||||||
|
"status": "updated",
|
||||||
|
"room_id": room_id,
|
||||||
|
"invite_code": new_code
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user