Merge branch 'main' into 'feature/task'

# Conflicts:
#   go.mod
This commit is contained in:
Тимур Хузияхметов
2025-12-17 14:42:46 +00:00
20 changed files with 424 additions and 208 deletions
+1 -1
View File
@@ -29,4 +29,4 @@ func main() {
log.Println("shutting down competition server...")
srv.Stop()
log.Println("competition server stopped")
}
}
+75 -22
View File
@@ -31,42 +31,53 @@ func main() {
authClient, err := grpc_client.NewAuthClient(ctx, cfg.GRPC.AuthServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create auth client: %v", err)
log.Printf("Warning: Failed to create auth client: %v", err)
authClient = nil
}
ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()
userClient, err := grpc_client.NewUserClient(ctx, cfg.GRPC.UserServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create user client: %v", err)
log.Printf("Warning: Failed to create user client: %v", err)
userClient = nil
}
competitionClient, err := grpc_client.NewCompetitionClient(ctx, cfg.GRPC.CompetitionServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create competition client: %v", err)
log.Printf("Warning: Failed to create competition client: %v", err)
competitionClient = nil
}
taskClient, err := grpc_client.NewTaskClient(ctx, cfg.GRPC.TaskServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create task client: %v", err)
log.Printf("Warning: Failed to create task client: %v", err)
taskClient = nil
}
submissionClient, err := grpc_client.NewSubmissionClient(ctx, cfg.GRPC.SubmissionServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create submission client: %v", err)
log.Printf("Warning: Failed to create submission client: %v", err)
submissionClient = nil
}
resultsClient, err := grpc_client.NewResultsClient(ctx, cfg.GRPC.ResultsServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create results client: %v", err)
log.Printf("Warning: Failed to create results client: %v", err)
resultsClient = nil
}
reviewClient, err := grpc_client.NewReviewClient(ctx, cfg.GRPC.ReviewServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create review client: %v", err)
log.Printf("Warning: Failed to create review client: %v", err)
reviewClient = nil
}
achievementsClient, err := grpc_client.NewAchievementsClient(ctx, cfg.GRPC.AchievementsServiceAddr, clientFactory)
if err != nil {
log.Fatalf("Failed to create achievements client: %v", err)
log.Printf("Warning: Failed to create achievements client: %v", err)
achievementsClient = nil
}
s3Storage, err := storage.NewS3Storage(storage.S3Config{
@@ -82,23 +93,65 @@ func main() {
authMiddleware := middleware.NewAuthMiddleware(authClient)
authHandler := handler.NewAuthHandler(authClient, userClient)
competitionHandler := handler.NewCompetitionHandler(competitionClient, userClient)
taskHandler := handler.NewTaskHandler(taskClient)
submissionHandler := handler.NewSubmissionHandler(submissionClient, s3Storage)
resultsHandler := handler.NewResultsHandler(resultsClient)
reviewHandler := handler.NewReviewHandler(reviewClient)
achievementsHandler := handler.NewAchievementsHandler(achievementsClient)
var authHandler handler.AuthHandler
if authClient != nil {
authHandler = *handler.NewAuthHandler(authClient, userClient)
} else {
log.Printf("Warning: AuthHandler not initialized due to missing authClient")
}
var competitionHandler handler.CompetitionHandler
if competitionClient != nil {
competitionHandler = *handler.NewCompetitionHandler(competitionClient, userClient)
} else {
log.Printf("Warning: CompetitionHandler not initialized due to missing competitionClient")
}
var taskHandler handler.TaskHandler
if taskClient != nil {
taskHandler = *handler.NewTaskHandler(taskClient)
} else {
log.Printf("Warning: TaskHandler not initialized due to missing taskClient")
}
var submissionHandler handler.SubmissionHandler
if submissionClient != nil {
submissionHandler = *handler.NewSubmissionHandler(submissionClient, s3Storage)
} else {
log.Printf("Warning: SubmissionHandler not initialized due to missing submissionClient")
}
var resultsHandler handler.ResultsHandler
if resultsClient != nil {
resultsHandler = *handler.NewResultsHandler(resultsClient)
} else {
log.Printf("Warning: ResultsHandler not initialized due to missing resultsClient")
}
var reviewHandler handler.ReviewHandler
if reviewClient != nil {
reviewHandler = *handler.NewReviewHandler(reviewClient)
} else {
log.Printf("Warning: ReviewHandler not initialized due to missing reviewClient")
}
var achievementsHandler handler.AchievementsHandler
if achievementsClient != nil {
achievementsHandler = *handler.NewAchievementsHandler(achievementsClient)
} else {
log.Printf("Warning: AchievementsHandler not initialized due to missing achievementsClient")
}
pingHandler := handler.NewPingHandler()
rt := router.NewRouter(
authHandler,
competitionHandler,
taskHandler,
submissionHandler,
resultsHandler,
reviewHandler,
achievementsHandler,
&authHandler,
&competitionHandler,
&taskHandler,
&submissionHandler,
&resultsHandler,
&reviewHandler,
&achievementsHandler,
pingHandler,
authMiddleware,
)