rewrite competition service: remove http related things

This commit is contained in:
Timur Kh.
2025-12-17 12:21:08 +03:00
parent e18489c96c
commit f3620da240
12 changed files with 229 additions and 543 deletions
@@ -0,0 +1,50 @@
package grpc
import (
"context"
pb "datarush/pkg/api/competition"
"google.golang.org/protobuf/types/known/emptypb"
)
type CompetitionService interface {
CreateCompetition(ctx context.Context, req *pb.Competition) (*pb.Competition, error)
GetCompetition(ctx context.Context, req *pb.GetCompetitionRequest) (*pb.Competition, error)
EditCompetition(ctx context.Context, req *pb.Competition) (*pb.Competition, error)
DeleteCompetition(ctx context.Context, req *pb.DeleteCompetitionRequest) (*emptypb.Empty, error)
ListCompetitions(ctx context.Context, req *pb.ListCompetitionsRequest) (*pb.ListCompetitionsResponse, error)
ChangeCompetitionState(ctx context.Context, req *pb.ChangeCompetitionStateRequest) (*pb.Competition, error)
}
type CompetitionHandler struct {
pb.UnimplementedCompetitionServiceServer
service CompetitionService
}
func NewCompetitionHandler(service CompetitionService) *CompetitionHandler {
return &CompetitionHandler{service: service}
}
func (h *CompetitionHandler) CreateCompetition(ctx context.Context, req *pb.Competition) (*pb.Competition, error) {
return h.service.CreateCompetition(ctx, req)
}
func (h *CompetitionHandler) GetCompetition(ctx context.Context, req *pb.GetCompetitionRequest) (*pb.Competition, error) {
return h.service.GetCompetition(ctx, req)
}
func (h *CompetitionHandler) EditCompetition(ctx context.Context, req *pb.Competition) (*pb.Competition, error) {
return h.service.EditCompetition(ctx, req)
}
func (h *CompetitionHandler) DeleteCompetition(ctx context.Context, req *pb.DeleteCompetitionRequest) (*emptypb.Empty, error) {
return h.service.DeleteCompetition(ctx, req)
}
func (h *CompetitionHandler) ListCompetitions(ctx context.Context, req *pb.ListCompetitionsRequest) (*pb.ListCompetitionsResponse, error) {
return h.service.ListCompetitions(ctx, req)
}
func (h *CompetitionHandler) ChangeCompetitionState(ctx context.Context, req *pb.ChangeCompetitionStateRequest) (*pb.Competition, error) {
return h.service.ChangeCompetitionState(ctx, req)
}