54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
|
|
"google.golang.org/protobuf/types/known/emptypb"
|
|
|
|
pb "datarush/pkg/api/user"
|
|
)
|
|
|
|
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)
|
|
}
|