230da7bdcb
Schema + endpoint scaffolding for #392 Half B (per-user timezone scheduling). Adds two columns to the users table: - timezone text NOT NULL DEFAULT 'UTC' (IANA name) - timezone_updated_at timestamptz (nullable; populated on each PUT) PUT /api/me/timezone validates the IANA value via time.LoadLocation and writes the row. No scheduler integration yet — the scheduler struct lands in the next commit and the handler-side Refresh call in the commit after. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
9 lines
462 B
SQL
9 lines
462 B
SQL
-- 0026_users_timezone.up.sql — per-user timezone for the system-playlist
|
|
-- scheduler (#392 Half B). Default 'UTC' so existing rows + brand-new
|
|
-- users have a safe value before their first client check-in via
|
|
-- PUT /api/me/timezone. The scheduler reads this column to decide
|
|
-- which IANA zone to anchor each user's daily 03:00 build to.
|
|
ALTER TABLE users
|
|
ADD COLUMN timezone text NOT NULL DEFAULT 'UTC',
|
|
ADD COLUMN timezone_updated_at timestamptz;
|