52 lines
2.0 KiB
Go
52 lines
2.0 KiB
Go
package grpc
|
|
|
|
import (
|
|
"context"
|
|
|
|
pb "datarush/pkg/api/achievements"
|
|
|
|
"google.golang.org/protobuf/types/known/emptypb"
|
|
)
|
|
|
|
type AchievementService interface {
|
|
CreateAchievement(ctx context.Context, req *pb.Achievement) (*pb.Achievement, error)
|
|
GetAchievement(ctx context.Context, req *pb.GetAchievementRequest) (*pb.Achievement, error)
|
|
EditAchievement(ctx context.Context, req *pb.Achievement) (*pb.Achievement, error)
|
|
DeleteAchievement(ctx context.Context, req *pb.DeleteAchievementRequest) (*emptypb.Empty, error)
|
|
ListAchievements(ctx context.Context, req *emptypb.Empty) (*pb.ListAchievementsResponse, error)
|
|
GetUserAchievements(ctx context.Context, req *pb.GetUserAchievementsRequest) (*pb.GetUserAchievementsResponse, error)
|
|
}
|
|
|
|
type AchievementHandler struct {
|
|
pb.UnimplementedAchievementsServiceServer
|
|
service AchievementService
|
|
}
|
|
|
|
func NewAchievementHandler(service AchievementService) *AchievementHandler {
|
|
return &AchievementHandler{service: service}
|
|
}
|
|
|
|
func (h *AchievementHandler) CreateAchievement(ctx context.Context, req *pb.Achievement) (*pb.Achievement, error) {
|
|
return h.service.CreateAchievement(ctx, req)
|
|
}
|
|
|
|
func (h *AchievementHandler) GetAchievement(ctx context.Context, req *pb.GetAchievementRequest) (*pb.Achievement, error) {
|
|
return h.service.GetAchievement(ctx, req)
|
|
}
|
|
|
|
func (h *AchievementHandler) EditAchievement(ctx context.Context, req *pb.Achievement) (*pb.Achievement, error) {
|
|
return h.service.EditAchievement(ctx, req)
|
|
}
|
|
|
|
func (h *AchievementHandler) DeleteAchievement(ctx context.Context, req *pb.DeleteAchievementRequest) (*emptypb.Empty, error) {
|
|
return h.service.DeleteAchievement(ctx, req)
|
|
}
|
|
|
|
func (h *AchievementHandler) ListAchievements(ctx context.Context, req *emptypb.Empty) (*pb.ListAchievementsResponse, error) {
|
|
return h.service.ListAchievements(ctx, req)
|
|
}
|
|
|
|
func (h *AchievementHandler) GetUserAchievements(ctx context.Context, req *pb.GetUserAchievementsRequest) (*pb.GetUserAchievementsResponse, error) {
|
|
return h.service.GetUserAchievements(ctx, req)
|
|
}
|