Skip to content

Commit 9bb9ca6

Browse files
committed
use Discussion object instead of Issue
1 parent 12f1278 commit 9bb9ca6

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

pkg/github/discussions.go

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func ListDiscussions(getGQLClient GetGQLClientFn, t translations.TranslationHelp
6262
}
6363

6464
// Now execute the discussions query
65-
var discussions []*github.Issue
65+
var discussions []*github.Discussion
6666
if categoryID != nil {
6767
// Query with category filter (server-side filtering)
6868
var query struct {
@@ -89,17 +89,15 @@ func ListDiscussions(getGQLClient GetGQLClientFn, t translations.TranslationHelp
8989
return mcp.NewToolResultError(err.Error()), nil
9090
}
9191

92-
// Map nodes to GitHub Issue objects
92+
// Map nodes to GitHub Discussion objects
9393
for _, n := range query.Repository.Discussions.Nodes {
94-
di := &github.Issue{
94+
di := &github.Discussion{
9595
Number: github.Ptr(int(n.Number)),
9696
Title: github.Ptr(string(n.Title)),
9797
HTMLURL: github.Ptr(string(n.URL)),
9898
CreatedAt: &github.Timestamp{Time: n.CreatedAt.Time},
99-
Labels: []*github.Label{
100-
{
101-
Name: github.Ptr(fmt.Sprintf("category:%s", string(n.Category.Name))),
102-
},
99+
DiscussionCategory: &github.DiscussionCategory{
100+
Name: github.Ptr(string(n.Category.Name)),
103101
},
104102
}
105103
discussions = append(discussions, di)
@@ -129,17 +127,15 @@ func ListDiscussions(getGQLClient GetGQLClientFn, t translations.TranslationHelp
129127
return mcp.NewToolResultError(err.Error()), nil
130128
}
131129

132-
// Map nodes to GitHub Issue objects
130+
// Map nodes to GitHub Discussion objects
133131
for _, n := range query.Repository.Discussions.Nodes {
134-
di := &github.Issue{
132+
di := &github.Discussion{
135133
Number: github.Ptr(int(n.Number)),
136134
Title: github.Ptr(string(n.Title)),
137135
HTMLURL: github.Ptr(string(n.URL)),
138136
CreatedAt: &github.Timestamp{Time: n.CreatedAt.Time},
139-
Labels: []*github.Label{
140-
{
141-
Name: github.Ptr(fmt.Sprintf("category:%s", string(n.Category.Name))),
142-
},
137+
DiscussionCategory: &github.DiscussionCategory{
138+
Name: github.Ptr(string(n.Category.Name)),
143139
},
144140
}
145141
discussions = append(discussions, di)

pkg/github/discussions_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import (
44
"context"
55
"encoding/json"
66
"net/http"
7-
"strings"
87
"testing"
98
"time"
109

@@ -168,17 +167,17 @@ func Test_ListDiscussions(t *testing.T) {
168167
}
169168
require.NoError(t, err)
170169

171-
var returnedDiscussions []*github.Issue
170+
var returnedDiscussions []*github.Discussion
172171
err = json.Unmarshal([]byte(text), &returnedDiscussions)
173172
require.NoError(t, err)
174173

175174
assert.Len(t, returnedDiscussions, tc.expectedCount, "Expected %d discussions, got %d", tc.expectedCount, len(returnedDiscussions))
176175

177-
// Verify that all returned discussions have a category label if filtered
176+
// Verify that all returned discussions have a category if filtered
178177
if _, hasCategory := tc.reqParams["category"]; hasCategory {
179178
for _, discussion := range returnedDiscussions {
180-
require.NotEmpty(t, discussion.Labels, "Discussion should have category label")
181-
assert.True(t, strings.HasPrefix(*discussion.Labels[0].Name, "category:"), "Discussion should have category label prefix")
179+
require.NotNil(t, discussion.DiscussionCategory, "Discussion should have category")
180+
assert.NotEmpty(t, *discussion.DiscussionCategory.Name, "Discussion should have category name")
182181
}
183182
}
184183
})

0 commit comments

Comments
 (0)