refactor: move calendar feed token out of user identity #386

Closed
opened 2026-05-12 13:17:40 +00:00 by barrettruth · 0 comments
Owner

Problem

Calendar feed tokens currently live directly on the users table. In the current single-user app that works, but it conflates identity/auth ownership with a calendar integration secret and makes feed rotation/migration awkward as Google Calendar sync and self-hosting setup mature.

Solution

  • Move calendar feed token persistence behind dedicated calendar/feed storage or settings ownership.
  • Migrate any existing users.calendar_feed_token value forward without runtime compatibility shims beyond the migration.
  • Keep the public feed route behavior and token rotation semantics unchanged.
  • Update dashboard data loading, feed routes, schema tests, and calendar settings tests around the new owner.

Non-goals

  • Do not change the feed URL contract.
  • Do not add multi-user sharing or public calendar management.
  • Do not add Google Calendar sync behavior here.

Part of #355.

## Problem Calendar feed tokens currently live directly on the `users` table. In the current single-user app that works, but it conflates identity/auth ownership with a calendar integration secret and makes feed rotation/migration awkward as Google Calendar sync and self-hosting setup mature. ## Solution - Move calendar feed token persistence behind dedicated calendar/feed storage or settings ownership. - Migrate any existing `users.calendar_feed_token` value forward without runtime compatibility shims beyond the migration. - Keep the public feed route behavior and token rotation semantics unchanged. - Update dashboard data loading, feed routes, schema tests, and calendar settings tests around the new owner. ## Non-goals - Do not change the feed URL contract. - Do not add multi-user sharing or public calendar management. - Do not add Google Calendar sync behavior here. Part of #355.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
barrettruth/delta#386
No description provided.