diff --git a/internal/router/router.go b/internal/router/router.go index 6c090ba..3cb03a2 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -332,15 +332,18 @@ func SetupWithRedis(db *gorm.DB, yunAPIClient *service.YunAPIClient, redisClient 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) @@ -364,7 +367,7 @@ func SetupWithRedis(db *gorm.DB, yunAPIClient *service.YunAPIClient, redisClient 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)