Files
sean-brydonGitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
f4abbb2de1 feat: refactor billing to strategy implemention (#27828)
* factory and statergie

* chore: use correct method of DI

* feat: add onchagne

* add logic to HWM stat

* add webhook resolver methods to each statergy

* move seat tracking + webhooks over to own statergy

* Move to factory base approach

* move logic to correct class

* rename create -> createByTeamId

* fix: remove debug `true ||` overrides from IS_STRIPE_ENABLED and IS_TEAM_BILLING_ENABLED

Remove accidentally committed debug overrides that short-circuited
IS_STRIPE_ENABLED and IS_TEAM_BILLING_ENABLED to always be true,
bypassing Stripe credential checks. This would break self-hosted
instances without Stripe configured.

Identified by cubic (https://cubic.dev)

Co-Authored-By: unknown <>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-02-10 13:11:36 -03:00

27 lines
1.7 KiB
TypeScript

export const DI_TOKENS = {
STRIPE_CLIENT: Symbol("StripeClient"),
IS_TEAM_BILLING_ENABLED: Symbol("IsTeamBillingEnabled"),
BILLING_PROVIDER_SERVICE: Symbol("BillingProviderService"),
BILLING_PROVIDER_SERVICE_MODULE: Symbol("BillingProviderServiceModule"),
BILLING_REPOSITORY_FACTORY: Symbol("BillingRepositoryFactory"),
BILLING_REPOSITORY_FACTORY_MODULE: Symbol("BillingRepositoryFactoryModule"),
TEAM_BILLING_DATA_REPOSITORY: Symbol("TeamBillingDataRepository"),
TEAM_BILLING_DATA_REPOSITORY_MODULE: Symbol("TeamBillingDataRepositoryModule"),
TEAM_BILLING_SERVICE_FACTORY: Symbol("TeamBillingServiceFactory"),
TEAM_BILLING_SERVICE_FACTORY_MODULE: Symbol("TeamBillingServiceFactoryModule"),
MONTHLY_PRORATION_SERVICE: Symbol("MonthlyProrationService"),
MONTHLY_PRORATION_SERVICE_MODULE: Symbol("MonthlyProrationServiceModule"),
HIGH_WATER_MARK_SERVICE: Symbol("HighWaterMarkService"),
HIGH_WATER_MARK_SERVICE_MODULE: Symbol("HighWaterMarkServiceModule"),
HIGH_WATER_MARK_REPOSITORY: Symbol("HighWaterMarkRepository"),
HIGH_WATER_MARK_REPOSITORY_MODULE: Symbol("HighWaterMarkRepositoryModule"),
MONTHLY_PRORATION_TEAM_REPOSITORY: Symbol("MonthlyProrationTeamRepository"),
MONTHLY_PRORATION_TEAM_REPOSITORY_MODULE: Symbol("MonthlyProrationTeamRepositoryModule"),
BILLING_PERIOD_REPOSITORY: Symbol("BillingPeriodRepository"),
BILLING_PERIOD_REPOSITORY_MODULE: Symbol("BillingPeriodRepositoryModule"),
BILLING_PERIOD_SERVICE: Symbol("BillingPeriodService"),
BILLING_PERIOD_SERVICE_MODULE: Symbol("BillingPeriodServiceModule"),
SEAT_BILLING_STRATEGY_FACTORY: Symbol("SeatBillingStrategyFactory"),
SEAT_BILLING_STRATEGY_FACTORY_MODULE: Symbol("SeatBillingStrategyFactoryModule"),
};