Skip to content

feat: persist icon and icon_color on Place entity #1

@MarkCesium

Description

@MarkCesium

Context

Persist the new icon and icon_color fields for Place. Depends on PlaceBrain/contracts#1.

Changes

  • SQLAlchemy: add nullable icon: str | None and icon_color: str | None columns in backend/places/src/infra/db/models/place.py.
  • DTOs: extend PlaceDTO and PlaceWithRoleDTO in backend/places/src/core/dto.py.
  • Service: thread fields through create_place and update_place in backend/places/src/services/places.py. Existing role enforcement via _get_member_or_fail (OWNER / ADMIN for update) stays unchanged.
  • Handler: pass through proto ↔ service in backend/places/src/handlers/places.py.
  • Migration: generate via make places-migration m="add place icon fields". Never hand-write the migration file.

Acceptance

  • Auto-generated Alembic migration applied cleanly on a fresh and on an existing DB.
  • ruff check, ruff format --check, mypy green.
  • No Kafka event schema changes.

Blocked by

Blocks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions