Skip to content

Feat/328 model doc comments#354

Merged
Yunusabdul38 merged 3 commits intoAgora-Events:mainfrom
Chibey-max:feat/328-model-doc-comments
Mar 29, 2026
Merged

Feat/328 model doc comments#354
Yunusabdul38 merged 3 commits intoAgora-Events:mainfrom
Chibey-max:feat/328-model-doc-comments

Conversation

@Chibey-max
Copy link
Copy Markdown
Contributor

Closes #328

Improves the understandability of the database layer by adding /// doc comments to all structs and fields in server/src/models/, and a //! module-level doc to mod.rs.

Changes
File What was documented
mod.rs Module overview + entity relationship diagram
user.rs User struct — role distinction from Organizer
organizer.rs Organizer struct — ownership relationship to Event
event.rs Event struct — FK to Organizer, cascade behaviour, optional end time
ticket.rs TicketTier — quantity tracking semantics; Ticket — status lifecycle and QR code timing
transaction.rs Transaction — status lifecycle, currency semantics, Stellar hash usage
Status values documented
Ticket.status: active → used / cancelled

Transaction.status: pending → completed / failed

Notes
No logic changes — doc comments only
Compiles cleanly with zero new warnings

- Add `name` field to `EventRegistrationArgs` and `EventInfo` structs
- Implement `trim_string` helper to strip leading/trailing ASCII whitespace
- Apply trimming to event name in `register_event` before persisting
- Add `name` field to local `EventInfo` copy in ticket_payment contract
- Add `test_register_event_name_trimming` test with intentionally messy names
- Update all existing test fixtures to include the new `name` field
Excludes target/, .env files, .git/, editor artifacts, and other
non-essential files from the Docker build context.

- target/ is the primary source of bloat (can be GBs in Rust projects)
- .env files must never be baked into images
- .git/ metadata (~30MB) is not needed at build time
- Docs, scripts, and OS artifacts excluded for a leaner context
Add /// and //! doc comments to all structs and fields in
server/src/models/ to improve database layer understandability.

- User: documents role distinction from Organizer
- Organizer: documents ownership relationship to Events
- Event: documents FK to Organizer and cascade behaviour
- TicketTier: documents quantity tracking semantics
- Ticket: documents status lifecycle (active/used/cancelled)
  and QR code generation timing
- Transaction: documents status lifecycle (pending/completed/failed)
  and Stellar hash usage for on-chain payments
- mod.rs: adds module-level doc with entity relationship diagram
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 28, 2026

@Chibey-max is attempting to deploy a commit to the oseh-svg's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 28, 2026

@Chibey-max Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Yunusabdul38
Copy link
Copy Markdown
Contributor

@Chibey-max fix ci error

@Yunusabdul38 Yunusabdul38 merged commit 9fff86e into Agora-Events:main Mar 29, 2026
2 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Backend] Add doc comments to model structs

2 participants