Marc-André Bombeck
2480a0138d
feat(cycle): add the calendar-feed credential table
...
A record's cycle calendar subscription is a URL credential: one row per
feed, only the HMAC of the raw hlf_ token stored, and at most one live
feed per record through a partial unique index on user_id where
revoked_at is null. Both foreign keys cascade, so deleting the record
or the carrier who minted the feed ends it.
The row is a credential everywhere else too. It stays out of the
backup (a restore would bring back a revoked link), Delete All Data
takes it on both sides, a credential remediation revokes the feeds on
the record and the ones the account minted elsewhere, and a
managed-profile handover claim revokes any feed a guardian minted.
backupVerdict moves beside the plan into its own module so the plan
stays the lists and their reasons.
2026-11-06 18:03:27 +01:00
..
2026-10-29 21:50:34 +01:00
2026-10-25 13:50:14 +01:00
2026-10-25 00:44:15 +02:00
2026-10-25 00:44:15 +02:00
2026-11-04 10:14:10 +01:00
2026-10-29 21:36:33 +01:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-25 13:51:15 +01:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-20 16:52:08 +02:00
2026-09-26 01:49:02 +02:00
2026-10-29 21:36:33 +01:00
2026-10-22 07:46:02 +02:00
2026-09-25 02:05:19 +02:00
2026-10-04 15:56:55 +02:00
2026-10-29 20:11:02 +01:00
2026-11-06 18:03:27 +01:00
2026-10-25 02:42:09 +01:00
2026-10-22 08:02:14 +02:00
2026-09-26 20:18:55 +02:00
2026-10-29 21:36:33 +01:00
2026-11-06 18:03:27 +01:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 07:46:02 +02:00
2026-10-25 02:42:09 +01:00
2026-10-25 02:42:09 +01:00
2026-10-25 01:01:13 +02:00
2026-10-25 01:01:13 +02:00
2026-10-22 08:02:14 +02:00
2026-10-25 14:27:56 +01:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 07:46:02 +02:00
2026-10-22 18:59:07 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 21:15:38 +02:00
2026-10-18 13:10:19 +02:00
2026-09-05 17:06:34 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-21 16:25:25 +02:00
2026-10-22 08:02:14 +02:00
2026-10-08 13:03:37 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:27:52 +02:00
2026-10-23 19:54:08 +02:00
2026-10-23 19:27:52 +02:00
2026-09-25 08:53:38 +02:00
2026-10-24 22:20:06 +02:00
2026-10-24 22:20:06 +02:00
2026-10-24 22:20:06 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 19:57:47 +02:00
2026-10-22 06:59:54 +02:00
2026-10-22 19:57:47 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-09-10 11:03:56 +02:00
2026-07-22 04:14:15 +02:00
2026-09-25 02:05:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 18:59:07 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-09-25 02:05:19 +02:00
2026-10-29 21:50:34 +01:00
2026-10-29 21:36:33 +01:00
2026-10-29 21:50:34 +01:00
2026-10-09 12:02:25 +02:00
2026-10-22 07:46:02 +02:00
2026-10-15 23:57:27 +02:00
2026-10-29 21:36:33 +01:00
2026-10-04 10:19:31 +02:00
2026-10-23 08:14:15 +02:00
2026-10-23 08:14:15 +02:00
2026-10-04 18:23:14 +02:00
2026-09-30 22:51:02 +02:00
2026-10-25 14:27:56 +01:00
2026-10-18 13:10:19 +02:00
2026-10-22 08:02:14 +02:00
2026-10-03 21:13:45 +02:00
2026-09-26 19:22:03 +02:00
2026-09-03 02:08:09 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00
2026-10-22 08:02:14 +02:00
2026-10-23 00:28:38 +02:00