Skip to content

Commit 3c6467f

Browse files
committed
use generic for helper functions
1 parent 4d7388a commit 3c6467f

File tree

7 files changed

+186
-200
lines changed

7 files changed

+186
-200
lines changed

pkg/github/code_scanning.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ func getCodeScanningAlert(client *github.Client, t translations.TranslationHelpe
3030
),
3131
),
3232
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
33-
owner, err := requiredStringParam(request, "owner")
33+
owner, err := requiredParam[string](request, "owner")
3434
if err != nil {
3535
return mcp.NewToolResultError(err.Error()), nil
3636
}
37-
repo, err := requiredStringParam(request, "repo")
37+
repo, err := requiredParam[string](request, "repo")
3838
if err != nil {
3939
return mcp.NewToolResultError(err.Error()), nil
4040
}
41-
alertNumber, err := requiredNumberParam(request, "alert_number")
41+
alertNumber, err := requiredInt(request, "alert_number")
4242
if err != nil {
4343
return mcp.NewToolResultError(err.Error()), nil
4444
}
@@ -89,23 +89,23 @@ func listCodeScanningAlerts(client *github.Client, t translations.TranslationHel
8989
),
9090
),
9191
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
92-
owner, err := requiredStringParam(request, "owner")
92+
owner, err := requiredParam[string](request, "owner")
9393
if err != nil {
9494
return mcp.NewToolResultError(err.Error()), nil
9595
}
96-
repo, err := requiredStringParam(request, "repo")
96+
repo, err := requiredParam[string](request, "repo")
9797
if err != nil {
9898
return mcp.NewToolResultError(err.Error()), nil
9999
}
100-
ref, err := optionalStringParam(request, "ref")
100+
ref, err := optionalParam[string](request, "ref")
101101
if err != nil {
102102
return mcp.NewToolResultError(err.Error()), nil
103103
}
104-
state, err := optionalStringParam(request, "state")
104+
state, err := optionalParam[string](request, "state")
105105
if err != nil {
106106
return mcp.NewToolResultError(err.Error()), nil
107107
}
108-
severity, err := optionalStringParam(request, "severity")
108+
severity, err := optionalParam[string](request, "severity")
109109
if err != nil {
110110
return mcp.NewToolResultError(err.Error()), nil
111111
}

pkg/github/issues.go

+29-29
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ func getIssue(client *github.Client, t translations.TranslationHelperFunc) (tool
3232
),
3333
),
3434
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
35-
owner, err := requiredStringParam(request, "owner")
35+
owner, err := requiredParam[string](request, "owner")
3636
if err != nil {
3737
return mcp.NewToolResultError(err.Error()), nil
3838
}
39-
repo, err := requiredStringParam(request, "repo")
39+
repo, err := requiredParam[string](request, "repo")
4040
if err != nil {
4141
return mcp.NewToolResultError(err.Error()), nil
4242
}
43-
issueNumber, err := requiredNumberParam(request, "issue_number")
43+
issueNumber, err := requiredInt(request, "issue_number")
4444
if err != nil {
4545
return mcp.NewToolResultError(err.Error()), nil
4646
}
@@ -90,19 +90,19 @@ func addIssueComment(client *github.Client, t translations.TranslationHelperFunc
9090
),
9191
),
9292
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
93-
owner, err := requiredStringParam(request, "owner")
93+
owner, err := requiredParam[string](request, "owner")
9494
if err != nil {
9595
return mcp.NewToolResultError(err.Error()), nil
9696
}
97-
repo, err := requiredStringParam(request, "repo")
97+
repo, err := requiredParam[string](request, "repo")
9898
if err != nil {
9999
return mcp.NewToolResultError(err.Error()), nil
100100
}
101-
issueNumber, err := requiredNumberParam(request, "issue_number")
101+
issueNumber, err := requiredInt(request, "issue_number")
102102
if err != nil {
103103
return mcp.NewToolResultError(err.Error()), nil
104104
}
105-
body, err := requiredStringParam(request, "body")
105+
body, err := requiredParam[string](request, "body")
106106
if err != nil {
107107
return mcp.NewToolResultError(err.Error()), nil
108108
}
@@ -156,23 +156,23 @@ func searchIssues(client *github.Client, t translations.TranslationHelperFunc) (
156156
),
157157
),
158158
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
159-
query, err := requiredStringParam(request, "q")
159+
query, err := requiredParam[string](request, "q")
160160
if err != nil {
161161
return mcp.NewToolResultError(err.Error()), nil
162162
}
163-
sort, err := optionalStringParam(request, "sort")
163+
sort, err := optionalParam[string](request, "sort")
164164
if err != nil {
165165
return mcp.NewToolResultError(err.Error()), nil
166166
}
167-
order, err := optionalStringParam(request, "order")
167+
order, err := optionalParam[string](request, "order")
168168
if err != nil {
169169
return mcp.NewToolResultError(err.Error()), nil
170170
}
171-
perPage, err := optionalNumberParamWithDefault(request, "per_page", 30)
171+
perPage, err := optionalIntParamWithDefault(request, "per_page", 30)
172172
if err != nil {
173173
return mcp.NewToolResultError(err.Error()), nil
174174
}
175-
page, err := optionalNumberParamWithDefault(request, "page", 1)
175+
page, err := optionalIntParamWithDefault(request, "page", 1)
176176
if err != nil {
177177
return mcp.NewToolResultError(err.Error()), nil
178178
}
@@ -236,21 +236,21 @@ func createIssue(client *github.Client, t translations.TranslationHelperFunc) (t
236236
),
237237
),
238238
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
239-
owner, err := requiredStringParam(request, "owner")
239+
owner, err := requiredParam[string](request, "owner")
240240
if err != nil {
241241
return mcp.NewToolResultError(err.Error()), nil
242242
}
243-
repo, err := requiredStringParam(request, "repo")
243+
repo, err := requiredParam[string](request, "repo")
244244
if err != nil {
245245
return mcp.NewToolResultError(err.Error()), nil
246246
}
247-
title, err := requiredStringParam(request, "title")
247+
title, err := requiredParam[string](request, "title")
248248
if err != nil {
249249
return mcp.NewToolResultError(err.Error()), nil
250250
}
251251

252252
// Optional parameters
253-
body, err := optionalStringParam(request, "body")
253+
body, err := optionalParam[string](request, "body")
254254
if err != nil {
255255
return mcp.NewToolResultError(err.Error()), nil
256256
}
@@ -332,19 +332,19 @@ func listIssues(client *github.Client, t translations.TranslationHelperFunc) (to
332332
),
333333
),
334334
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
335-
owner, err := requiredStringParam(request, "owner")
335+
owner, err := requiredParam[string](request, "owner")
336336
if err != nil {
337337
return mcp.NewToolResultError(err.Error()), nil
338338
}
339-
repo, err := requiredStringParam(request, "repo")
339+
repo, err := requiredParam[string](request, "repo")
340340
if err != nil {
341341
return mcp.NewToolResultError(err.Error()), nil
342342
}
343343

344344
opts := &github.IssueListByRepoOptions{}
345345

346346
// Set optional parameters if provided
347-
opts.State, err = optionalStringParam(request, "state")
347+
opts.State, err = optionalParam[string](request, "state")
348348
if err != nil {
349349
return mcp.NewToolResultError(err.Error()), nil
350350
}
@@ -354,17 +354,17 @@ func listIssues(client *github.Client, t translations.TranslationHelperFunc) (to
354354
return mcp.NewToolResultError(err.Error()), nil
355355
}
356356

357-
opts.Sort, err = optionalStringParam(request, "sort")
357+
opts.Sort, err = optionalParam[string](request, "sort")
358358
if err != nil {
359359
return mcp.NewToolResultError(err.Error()), nil
360360
}
361361

362-
opts.Direction, err = optionalStringParam(request, "direction")
362+
opts.Direction, err = optionalParam[string](request, "direction")
363363
if err != nil {
364364
return mcp.NewToolResultError(err.Error()), nil
365365
}
366366

367-
since, err := optionalStringParam(request, "since")
367+
since, err := optionalParam[string](request, "since")
368368
if err != nil {
369369
return mcp.NewToolResultError(err.Error()), nil
370370
}
@@ -443,15 +443,15 @@ func updateIssue(client *github.Client, t translations.TranslationHelperFunc) (t
443443
),
444444
),
445445
func(ctx context.Context, request mcp.CallToolRequest) (*mcp.CallToolResult, error) {
446-
owner, err := requiredStringParam(request, "owner")
446+
owner, err := requiredParam[string](request, "owner")
447447
if err != nil {
448448
return mcp.NewToolResultError(err.Error()), nil
449449
}
450-
repo, err := requiredStringParam(request, "repo")
450+
repo, err := requiredParam[string](request, "repo")
451451
if err != nil {
452452
return mcp.NewToolResultError(err.Error()), nil
453453
}
454-
issueNumber, err := requiredNumberParam(request, "issue_number")
454+
issueNumber, err := requiredInt(request, "issue_number")
455455
if err != nil {
456456
return mcp.NewToolResultError(err.Error()), nil
457457
}
@@ -460,23 +460,23 @@ func updateIssue(client *github.Client, t translations.TranslationHelperFunc) (t
460460
issueRequest := &github.IssueRequest{}
461461

462462
// Set optional parameters if provided
463-
title, err := optionalStringParam(request, "title")
463+
title, err := optionalParam[string](request, "title")
464464
if err != nil {
465465
return mcp.NewToolResultError(err.Error()), nil
466466
}
467467
if title != "" {
468468
issueRequest.Title = github.Ptr(title)
469469
}
470470

471-
body, err := optionalStringParam(request, "body")
471+
body, err := optionalParam[string](request, "body")
472472
if err != nil {
473473
return mcp.NewToolResultError(err.Error()), nil
474474
}
475475
if body != "" {
476476
issueRequest.Body = github.Ptr(body)
477477
}
478478

479-
state, err := optionalStringParam(request, "state")
479+
state, err := optionalParam[string](request, "state")
480480
if err != nil {
481481
return mcp.NewToolResultError(err.Error()), nil
482482
}
@@ -500,7 +500,7 @@ func updateIssue(client *github.Client, t translations.TranslationHelperFunc) (t
500500
issueRequest.Assignees = &assignees
501501
}
502502

503-
milestone, err := optionalNumberParam(request, "milestone")
503+
milestone, err := optionalIntParam(request, "milestone")
504504
if err != nil {
505505
return mcp.NewToolResultError(err.Error()), nil
506506
}

0 commit comments

Comments
 (0)