Skip to content

Event model and API #94

@ngjunsiang

Description

@ngjunsiang

Purpose

Define a unified Event model to represent time-based activities across Campus sub-apps. The model must support recurrence, participation, visibility rules, and source attribution—while remaining composable across use cases.

Scope

A model represents:

  • a single occurrence
  • a describable occurrence taking place at a location (physical or online)
  • datetime range (time optional; may be specified as full day)

Excludes:

  • multiple occurrences
  • participants

Deliverables

  • events route blueprint with view functions for working with events
  • Event model with methods to be used in view function
  • Update API endpoints in campus-schema-draft.

Conventions

  • use campus.common.utils.utc_time for handling timestamps, campus.common.utils.uid for UIDs
  • use campus.storage for accessing storage (table interface recommended)
  • use campus.common.errors.api_errors for handling errors

Development

  • Work in a separate PR branch with weekly branch as source
  • PR to weekly; make small PRs

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Implementation

Relationships

None yet

Development

No branches or pull requests

Issue actions