f4abbb2de1
* 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>
31 lines
1.4 KiB
TypeScript
31 lines
1.4 KiB
TypeScript
import { bindModuleToClassOnToken, createModule, type ModuleLoader } from "@calcom/features/di/di";
|
|
import { TeamBillingServiceFactory } from "../../service/teams/TeamBillingServiceFactory";
|
|
import { DI_TOKENS } from "../tokens";
|
|
import { billingProviderServiceModuleLoader } from "./BillingProviderService";
|
|
import { billingRepositoryFactoryModuleLoader } from "./BillingRepositoryFactory";
|
|
import { isTeamBillingEnabledModuleLoader } from "./IsTeamBillingEnabled";
|
|
import { seatBillingStrategyFactoryModuleLoader } from "./SeatBillingStrategyFactory.module";
|
|
import { teamBillingDataRepositoryModuleLoader } from "./TeamBillingDataRepositoryFactory";
|
|
|
|
const teamBillingServiceFactoryModule = createModule();
|
|
const token = DI_TOKENS.TEAM_BILLING_SERVICE_FACTORY;
|
|
const moduleToken = DI_TOKENS.TEAM_BILLING_SERVICE_FACTORY_MODULE;
|
|
const loadModule = bindModuleToClassOnToken({
|
|
module: teamBillingServiceFactoryModule,
|
|
moduleToken,
|
|
token,
|
|
classs: TeamBillingServiceFactory,
|
|
depsMap: {
|
|
billingProviderService: billingProviderServiceModuleLoader,
|
|
teamBillingDataRepository: teamBillingDataRepositoryModuleLoader,
|
|
billingRepositoryFactory: billingRepositoryFactoryModuleLoader,
|
|
isTeamBillingEnabled: isTeamBillingEnabledModuleLoader,
|
|
seatBillingStrategyFactory: seatBillingStrategyFactoryModuleLoader,
|
|
},
|
|
});
|
|
|
|
export const teamBillingServiceFactoryModuleLoader: ModuleLoader = {
|
|
token: DI_TOKENS.TEAM_BILLING_SERVICE_FACTORY,
|
|
loadModule,
|
|
};
|