from database import execute from database import fetch_all, fetch_one def get_user_events(user_id): query = """ SELECT events.* FROM events JOIN room_members ON events.room_id = room_members.room_id WHERE room_members.user_id = ? """ return fetch_all( query, (user_id,) ) def create_event( room_id, creator_id, type, title, description, start_time, end_time, visibility, status, min_people ): query = """ INSERT INTO events ( room_id, creator_id, type, title, description, start_time, end_time, visibility, status, min_people ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """ event_id = execute( query, ( room_id, creator_id, type, title, description, start_time, end_time, visibility, status, min_people ) ) return event_id # voorbeeld create_event. alleen voor deocumentatie, # als je echt een event toe wil voegen, moet je data # uit de fastapi halen. # # # event = create_event( # room_id=2, # creator_id=3, # type="proposal", # title="Kaas eten", # description="We gaan met z'n allen kaas eten.", # start_time="2026-08-10 19:00", # end_time="2026-08-10 21:00", # visibility="room", # status="proposed", # min_people=4 # ) # print("Nieuw event ID:", event) def check_event_threshold(event_id): query = """ SELECT events.min_people, COUNT(event_signups.user_id) AS going FROM events LEFT JOIN event_signups ON events.id = event_signups.event_id AND event_signups.status = 'going' WHERE events.id = ? GROUP BY events.id """ event = fetch_one( query, (event_id,) ) if event["going"] >= event["min_people"]: execute( """ UPDATE events SET status = 'confirmed' WHERE id = ? """, (event_id,) )