Follow-ups from Patrix's move onto abono open
Found while moving Patrix onto abono v0.1.0 (Patrix 18df3cc). None blocks Patrix; each is a small addition to abono:
- A plan removed from the configuration stays on sale.
SeedPlansonly touches the plans it is given, so droppingmonthlyfromPATRIX_STRIPE_PLANSleaves its offer and sold price active (offers.go). Decide: archive plans missing from a seed, or document that removal happens on the owner page. - "Does this subject have any rows?" Patrix's
OnChangemust leave alone people abono has never heard of, and recompute everyone else. abono has no API for it, so Patrix readsabono_subscriptionsandabono_compsdirectly (internal/patrix/membership). AddHasRowsIn(ctx, tx, subject). - Finish's not-found. A Checkout return with an unknown session id is routine (old links, bots), but abono's error for it is internal, so Patrix logs every one at Warn. Export a sentinel (
ErrNotFoundwrapping) for it. - A single comp by id. Patrix's end-membership pages load every member to find one comp. Add
Comp(ctx, id)or similar.