-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
area:backendbilling-removalRemoval of upstream SaaS billing codeRemoval of upstream SaaS billing codecomponent:databasepriority:mediumtech-debt
Description
Summary
HoldFast is self-hosted only with no SaaS model. The upstream Highlight.io billing code was partially stubbed but never fully removed. This tracking issue covers the complete removal of all billing-related code.
Principle: Remove one element at a time, trace usage up the stack to the frontend, branch per issue, and verify with passing tests before merging.
Billing Elements to Remove
Backend Model Layer (do in order)
- Remove SendBillingNotifications, BillingEmailHistory, and emailHistoryCache #26 —
SendBillingNotifications+BillingEmailHistory+emailHistoryCache - Remove AWSMarketplaceCustomer model #27 —
AWSMarketplaceCustomermodel - Remove pricing package and quota checking system #28 —
pricing.gotypes +pricing/package + quota checking⚠️ largest blast radius - Remove Workspace Stripe fields #29 — Workspace Stripe fields (depends on Remove pricing package and quota checking system #28)
- Remove Workspace billing period fields #30 — Workspace billing period fields (depends on Remove pricing package and quota checking system #28)
- Remove Workspace monthly limit and max cents fields #31 — Workspace limit fields (6x Monthly*Limit, 5x *MaxCents) (depends on Remove pricing package and quota checking system #28)
- Remove Workspace trial fields and trial extension logic #32 — Workspace trial fields + frontend trial banner
- Remove AllowMeterOverage and CanShowBillingIssueBanner #33 —
AllowMeterOverage+CanShowBillingIssueBanner - Remove PromoCode field and hardcoded PromoCodes map #34 —
PromoCodefield + hardcodedPromoCodesmap
Email / SendGrid
- Remove billing email types and SendGrid integration #35 — Billing email types + SendGrid integration (depends on Remove SendBillingNotifications, BillingEmailHistory, and emailHistoryCache #26)
Frontend (do last)
- Remove frontend billing pages and trial UI components #36 — Billing pages, trial banners, generated GraphQL billing types
Suggested Order
- Remove SendBillingNotifications, BillingEmailHistory, and emailHistoryCache #26 (SendBillingNotifications) — standalone, low risk
- Remove AWSMarketplaceCustomer model #27 (AWSMarketplaceCustomer) — standalone, low risk
- Remove PromoCode field and hardcoded PromoCodes map #34 (PromoCode) — standalone, low risk
- Remove AllowMeterOverage and CanShowBillingIssueBanner #33 (AllowMeterOverage + banner) — standalone, low risk
- Remove pricing package and quota checking system #28 (pricing/quota) — biggest change, unblocks Remove Workspace Stripe fields #29, Remove Workspace billing period fields #30, Remove Workspace monthly limit and max cents fields #31
- Remove Workspace Stripe fields #29 (Stripe fields) — after Remove pricing package and quota checking system #28
- Remove Workspace billing period fields #30 (billing periods) — after Remove pricing package and quota checking system #28
- Remove Workspace monthly limit and max cents fields #31 (limits/cents) — after Remove pricing package and quota checking system #28
- Remove Workspace trial fields and trial extension logic #32 (trial fields) — touches frontend
- Remove billing email types and SendGrid integration #35 (email/SendGrid) — after Remove SendBillingNotifications, BillingEmailHistory, and emailHistoryCache #26
- Remove frontend billing pages and trial UI components #36 (frontend) — after all backend done
Related Issues
- Improve code documentation and unit testing for model package #17 — Model package tech debt (parent)
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:backendbilling-removalRemoval of upstream SaaS billing codeRemoval of upstream SaaS billing codecomponent:databasepriority:mediumtech-debt