HackUCF / OnboardLite

MIT License
0 stars 2 forks source link

Add attendance tracking #106

Open jontyms opened 2 months ago

jontyms commented 1 month ago

/attendance Endpoint

/admin/events Endpoint

/admin/event/{id} Endpoint

Database

class Event(SQLModel, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    name: str
    date: datetime
    event_code: Optional[str] = None
    attendance_open: bool = False
    counts_toward_total: bool = False
    event_type: Optional[str] = None
    comment: Optional[str] = None

  class Attendance(SQLModel, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)
    user_id: uuid = Field(foreign_key="user.id")
    event_id: int = Field(foreign_key="event.id")
    user: Optional["User"] = Relationship(back_populates="attendances")
    event: Optional["Event"] = Relationship(back_populates="attendances")
  # update user  
  class User(SQLModel, table=True):
    id: Optional[uuid] = Field(default=None, primary_key=True)
    attendances: list["Attendance"] = Relationship(back_populates="user")