(deletedAt: Date | null)
| 510 | // holds none (see `deleteMembership`). `workos_updated_at` is left as it is |
| 511 | // — the tombstone is protected by the deleted id, not by its stamp. |
| 512 | const tombstone = (deletedAt: Date | null) => ({ |
| 513 | status: "inactive" as const, |
| 514 | deletedAt: deletedAt === null ? sql`now()` : instant(deletedAt), |
| 515 | }); |
| 516 | |
| 517 | // Which stored membership rows a payload for membership `id` stamped |
| 518 | // `updatedAt` may overwrite. A row WorkOS still holds (`deleted_at` null) is |