Files
Datarush/internal/user/handler/grpc/handler.go
T
2025-12-17 12:09:25 +03:00

40 lines
1.4 KiB
Go

package grpc
import (
"context"
pb "datarush/pkg/api/user"
"google.golang.org/protobuf/types/known/emptypb"
)
type UserService interface {
GetProfile(ctx context.Context, req *pb.GetProfileRequest) (*pb.User, error)
RegisterForCompetition(ctx context.Context, req *pb.RegisterForCompetitionRequest) (*emptypb.Empty, error)
UnregisterFromCompetition(ctx context.Context, req *pb.UnregisterFromCompetitionRequest) (*emptypb.Empty, error)
ListUserCompetitions(ctx context.Context, req *pb.ListUserCompetitionsRequest) (*pb.ListUserCompetitionsResponse, error)
}
type UserHandler struct {
pb.UnimplementedUserServiceServer
service UserService
}
func NewUserHandler(service UserService) *UserHandler {
return &UserHandler{service: service}
}
func (h *UserHandler) GetProfile(ctx context.Context, req *pb.GetProfileRequest) (*pb.User, error) {
return h.service.GetProfile(ctx, req)
}
func (h *UserHandler) RegisterForCompetition(ctx context.Context, req *pb.RegisterForCompetitionRequest) (*emptypb.Empty, error) {
return h.service.RegisterForCompetition(ctx, req)
}
func (h *UserHandler) UnregisterFromCompetition(ctx context.Context, req *pb.UnregisterFromCompetitionRequest) (*emptypb.Empty, error) {
return h.service.UnregisterFromCompetition(ctx, req)
}
func (h *UserHandler) ListUserCompetitions(ctx context.Context, req *pb.ListUserCompetitionsRequest) (*pb.ListUserCompetitionsResponse, error) {
return h.service.ListUserCompetitions(ctx, req)
}