diff --git a/internal/router/router.go b/internal/router/router.go index 90f00d5..6c090ba 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -52,15 +52,18 @@ func Setup(db *gorm.DB, yunAPIClient *service.YunAPIClient, cfg *config.Config) notificationRepo := repository.NewNotificationRepository(db) streakRepo := repository.NewStreakRepository(db) + // Initialize services (Stage 1: Core Services needed for Auth) + ledgerService := service.NewLedgerService(ledgerRepo, db) + // Initialize auth services - authService := service.NewAuthService(userRepo, cfg) + authService := service.NewAuthService(userRepo, ledgerService, cfg) var gitHubOAuthService *service.GitHubOAuthService if cfg.GitHubClientID != "" && cfg.GitHubClientSecret != "" { - gitHubOAuthService = service.NewGitHubOAuthService(userRepo, authService, cfg) + gitHubOAuthService = service.NewGitHubOAuthService(userRepo, authService, ledgerService, cfg) } var giteeOAuthService *service.GiteeOAuthService if cfg.GiteeClientID != "" && cfg.GiteeClientSecret != "" { - giteeOAuthService = service.NewGiteeOAuthService(userRepo, authService, cfg) + giteeOAuthService = service.NewGiteeOAuthService(userRepo, authService, ledgerService, cfg) } authHandler := handler.NewAuthHandlerWithConfig(authService, gitHubOAuthService, giteeOAuthService, cfg) authMiddleware := middleware.NewAuthMiddleware(authService) @@ -85,7 +88,7 @@ func Setup(db *gorm.DB, yunAPIClient *service.YunAPIClient, cfg *config.Config) repaymentService := service.NewRepaymentService(repaymentRepo, billingRepo, accountRepo, db) backupService := service.NewBackupService(db) appLockService := service.NewAppLockService(appLockRepo) - ledgerService := service.NewLedgerService(ledgerRepo, db) + // ledgerService initialized earlier reimbursementService := service.NewReimbursementService(db, transactionRepo, accountRepo) refundService := service.NewRefundService(db, transactionRepo, accountRepo) userSettingsService := service.NewUserSettingsService(userSettingsRepo)