OpenLake/Student_Database_COSA

[FOSSOVERFLOW-25] feat: Support Private Room Bookings (Private Events / Meetings)

Open

#229 创建于 2026年2月18日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)JavaScript (56 fork)auto 404
enhancementhelp wanted

仓库指标

Star
 (13 star)
PR 合并指标
 (PR 指标待抓取)

描述

Description

Currently, rooms can only be booked by creating a public event. There is no way to book a room for internal purposes like meetings, practice sessions, or informal gatherings.

We need to introduce a "Private Event" (backend terminology) that allows eligible users to book rooms without creating a public-facing event.

On the frontend, this can be shown as something like "Meeting" or "Internal Booking".


Requirements

Backend

  • Introduce a new event type: private_event
  • Store this in DB as a private event
  • Ensure private events are not visible in public event listings
  • Integrate with existing clash detection logic

Authorization

  • Only Core Members and above can create private bookings
  • Roles should be validated in backend middleware

Frontend

  • Add option while booking:
    • "Public Event"
    • "Internal Meeting / Private Booking"
  • Hide private events from public calendar/event feed
  • Show private bookings only to authorized users (if required)

Booking Rules

  • Private bookings must:
    • Use same clash detection logic
    • Respect room availability
    • Follow role permissions

Acceptance Criteria

  • Authorized users can create private room bookings
  • Private bookings don’t appear as public events
  • Clash detection works for private bookings
  • Role-based access is enforced
  • UI clearly differentiates between public and private bookings

贡献者指南