Skip to content

Code Review Bench PR #26061 - fix: enable DI for FeatureOptInService#13

Open
tomerqodo wants to merge 2 commits intobase_pr_26061_20260125_2510from
corrupted_pr_26061_20260125_2510
Open

Code Review Bench PR #26061 - fix: enable DI for FeatureOptInService#13
tomerqodo wants to merge 2 commits intobase_pr_26061_20260125_2510from
corrupted_pr_26061_20260125_2510

Conversation

@tomerqodo
Copy link

Code Review Bench PR calcom#26061

Original PR Title: fix: enable DI for FeatureOptInService
Original PR Description: ## What does this PR do?

This PR adds DI support for FeatureOptInService and FeaturesRepository.

But we're still using FeaturesRepository directly across the project, and I will fix it in a separate PR.

Updates since last revision

  • Renamed FeatureOptInServiceInterface.ts to IFeatureOptInService.ts to follow the codebase convention of using I prefix for interface files
  • Renamed the interface from FeatureOptInServiceInterface to IFeatureOptInService
  • Updated all references to use the new naming convention

Mandatory Tasks (DO NOT REMOVE)

  • I have self-reviewed the code (A decent size PR without self-review might be rejected).
  • N/A - I have updated the developer docs in /docs if this PR makes changes that would require a documentation change. If N/A, write N/A here and check the checkbox.
  • I confirm automated tests are in place that prove my fix is effective or that my feature works.

How should this be tested?

  1. Run type checks: yarn type-check:ci --force
  2. Run tests: TZ=UTC yarn test
  3. Verify the DI containers correctly resolve FeatureOptInService and FeaturesRepository

Summary by cubic

Enables DI for FeatureOptInService and FeaturesRepository across the app. Replaces direct instantiation and Prisma usage with moduleLoader-based containers and updates router/tests to resolve the service via DI.

  • Refactors
    • Added DI modules/containers and helpers for FeatureOptInService and FeaturesRepository; introduced feature-specific DI tokens and merged them into DI_TOKENS.
    • Replaced the deprecated Features module with FeaturesRepository module and updated related imports.
    • Added IFeatureOptInService and implemented it in the service.
    • Updated TRPC viewer.featureOptIn router and integration tests to use DI.

Written for commit 259569f. Summary will update on new commits.


Link to Devin run: https://app.devin.ai/sessions/de393c9ea2b8412587a8c4ca8cb2631d
Requested by: @eunjae-lee (eunjae@cal.com)
Original PR URL: calcom#26061

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant