feat: implement achievements

This commit is contained in:
Albert
2025-12-19 23:12:22 +04:00
parent d2d5bfbe34
commit ecff776c3b
11 changed files with 566 additions and 0 deletions
@@ -47,3 +47,28 @@ func (c *AchievementsClient) GetUserAchievements(ctx context.Context, userID str
}
return resp.UserAchievements, nil
}
func (c *AchievementsClient) CreateAchievement(ctx context.Context, achievement *pb.Achievement) (*pb.Achievement, error) {
resp, err := c.client.CreateAchievement(ctx, achievement)
if err != nil {
return nil, fmt.Errorf("create achievement failed: %w", err)
}
return resp, nil
}
func (c *AchievementsClient) EditAchievement(ctx context.Context, achievement *pb.Achievement) (*pb.Achievement, error) {
resp, err := c.client.EditAchievement(ctx, achievement)
if err != nil {
return nil, fmt.Errorf("edit achievement failed: %w", err)
}
return resp, nil
}
func (c *AchievementsClient) DeleteAchievement(ctx context.Context, achievementID string) error {
req := &pb.DeleteAchievementRequest{AchievementId: achievementID}
_, err := c.client.DeleteAchievement(ctx, req)
if err != nil {
return fmt.Errorf("delete achievement failed: %w", err)
}
return nil
}