Multi-site BE — building_type enum
- Dominant language
- Go
- Stars
- 55
- Forks
- 16
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 87
Description
**Parent**: #193
**Plan**: [`docs/plans/2026-05-05-multi-site-support-plan.md`](https://github.com/block/proto-fleet/blob/main/docs/plans/2026-05-05-multi-site-support-plan.md)
BE follow-up for building type classification. Tracked as deferred in the multi-site plan; FE omits the type input/column until this lands.
## Scope
- Migration: add `building.building_type` (enum or smallint). Values: `WAREHOUSE`, `CONTAINER`, `DATA_CENTER`, `MODULAR`, `OUTDOOR`, `RESIDENTIAL`. Default `WAREHOUSE` for pre-existing rows (confirm at migration time; otherwise leave nullable and UI renders "—").
- BuildingService proto: add enum + field on `Building` / `CreateBuildingRequest` / `UpdateBuildingRequest`.
- Handler + sqlc updates.
- Frontend: `BuildingDetailsModal` adds a type select; `/settings/sites` single-site Buildings table renders a type column.
## Acceptance
Operator picks a type when creating/editing a building; value round-trips and displays in the Buildings table.
## Estimated size
~8–12 files.
## Depends on
- #196 (✓ landed — BuildingService)
Contributor guide
Research direction
Start with docs/plans/2026-05-05-multi-site-support-plan.md and the BuildingService definitions from #196. Trace the migration, handler, sqlc updates, BuildingDetailsModal, and /settings/sites Buildings table. Done means operators can select a building type, the value round-trips, and it appears in the table.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, database, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100