Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/renewal-refresh"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Three issues in one coherent slice:
#3 Renewal refresh — webhook matches
subscription_idagainst existing records: match → extend expiry one period past max(now, current expiry), update seats, re-sign the same license id, replace the stored key, record the new txn (idempotency intact). No match → new license as before./v1/checkinnow returns{status, key}so instances pick up renewals automatically (companion: Cairn#58).#2 Cycle-based validity — billing interval read from the price entity on the txn line items (
billing_cycle.interval); monthly → 1 month + 3-day margin, yearly → 1 year + 3 days.issue()keeps its signature (delegates to newissueFor), so existing tests/admin path unchanged; admin issuance stays yearly with multi-year support.#4 (partial) —
PATCH /v1/licenses/{id}sets an owner-gated label (not-found/not-owned indistinguishable); labels included in theGET /v1/licensesview.POST /v1/account/passwordverifies current, re-hashes, revokes all other sessions. Receipts deferred until the Paddle API key is provisioned.New
renewal_test.go: interval expiries, refresh semantics (same id, extended expiry, seats update, re-signed key, unknown-sub miss), checkin key delivery, label ownership, full password-change flow. gofmt/vet/build/test green on the runner.