block / block/proto-fleet

Multi-site BE — building_type enum

Open
#267 0 comments 0 reactions 0 assignees View on GitHub
enhancement multi-site phase-1 server
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.