feat: extend Sponsor model with tier, presentation, and payment fields #357
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api#357
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Child of basketball-api#316 (sponsor system). Extends the Sponsor model from outreach CRM to full relationship management.
Repo
forgejo_admin/basketball-apiUser Story
As an admin, I want to manage sponsor relationships — track their tier, what they've paid, their logo, and whether they show on the website — so that I always know what we owe each sponsor and what they've committed (WS-S29)
Context
The Sponsor model (merged in #328) has CRM fields for outreach. This ticket adds the presentation and relationship fields so a committed sponsor is fully described in one row — tier, logo, website, landing page visibility, payment tracking, and season dates.
Architecture:
arch-domain-sponsorship. Tier definitions:westside-sponsorsnote.File Targets
Files the agent should modify:
src/basketball_api/models.py— add SponsorTier enum, add fields to Sponsor modelsrc/basketball_api/services/sponsor_service.py— update CRUD to handle new fieldssrc/basketball_api/routes/sponsors.py— update Pydantic schemas for new fieldsalembic/versions/xxx_extend_sponsors.py— new migration adding columns + SponsorTier enumtests/test_sponsors.py— update tests for new fieldsAcceptance Criteria
display_on_site=truefilterTest Expectations
pytest tests/test_sponsors.py -vConstraints
Checklist
Related
arch-domain-sponsorship— domain model diagramwestside-sponsors— tier definitions and active sponsors