feat(users): timezone column + PUT /api/me/timezone
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>
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
-- 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;
|
||||
Reference in New Issue
Block a user