feat: implement achievements
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user