@@ -44,51 +44,49 @@ func GetCodeScanningAlert(t translations.TranslationHelperFunc) inventory.Server
4444 Required : []string {"owner" , "repo" , "alertNumber" },
4545 },
4646 },
47- func (deps ToolDependencies ) mcp.ToolHandlerFor [map [string ]any , any ] {
48- return func (ctx context.Context , _ * mcp.CallToolRequest , args map [string ]any ) (* mcp.CallToolResult , any , error ) {
49- owner , err := RequiredParam [string ](args , "owner" )
50- if err != nil {
51- return utils .NewToolResultError (err .Error ()), nil , nil
52- }
53- repo , err := RequiredParam [string ](args , "repo" )
54- if err != nil {
55- return utils .NewToolResultError (err .Error ()), nil , nil
56- }
57- alertNumber , err := RequiredInt (args , "alertNumber" )
58- if err != nil {
59- return utils .NewToolResultError (err .Error ()), nil , nil
60- }
61-
62- client , err := deps .GetClient (ctx )
63- if err != nil {
64- return utils .NewToolResultErrorFromErr ("failed to get GitHub client" , err ), nil , nil
65- }
47+ func (ctx context.Context , deps ToolDependencies , _ * mcp.CallToolRequest , args map [string ]any ) (* mcp.CallToolResult , any , error ) {
48+ owner , err := RequiredParam [string ](args , "owner" )
49+ if err != nil {
50+ return utils .NewToolResultError (err .Error ()), nil , nil
51+ }
52+ repo , err := RequiredParam [string ](args , "repo" )
53+ if err != nil {
54+ return utils .NewToolResultError (err .Error ()), nil , nil
55+ }
56+ alertNumber , err := RequiredInt (args , "alertNumber" )
57+ if err != nil {
58+ return utils .NewToolResultError (err .Error ()), nil , nil
59+ }
6660
67- alert , resp , err := client .CodeScanning .GetAlert (ctx , owner , repo , int64 (alertNumber ))
68- if err != nil {
69- return ghErrors .NewGitHubAPIErrorResponse (ctx ,
70- "failed to get alert" ,
71- resp ,
72- err ,
73- ), nil , nil
74- }
75- defer func () { _ = resp .Body .Close () }()
61+ client , err := deps .GetClient (ctx )
62+ if err != nil {
63+ return utils .NewToolResultErrorFromErr ("failed to get GitHub client" , err ), nil , nil
64+ }
7665
77- if resp .StatusCode != http .StatusOK {
78- body , err := io .ReadAll (resp .Body )
79- if err != nil {
80- return utils .NewToolResultErrorFromErr ("failed to read response body" , err ), nil , nil
81- }
82- return ghErrors .NewGitHubAPIStatusErrorResponse (ctx , "failed to get alert" , resp , body ), nil , nil
83- }
66+ alert , resp , err := client .CodeScanning .GetAlert (ctx , owner , repo , int64 (alertNumber ))
67+ if err != nil {
68+ return ghErrors .NewGitHubAPIErrorResponse (ctx ,
69+ "failed to get alert" ,
70+ resp ,
71+ err ,
72+ ), nil , nil
73+ }
74+ defer func () { _ = resp .Body .Close () }()
8475
85- r , err := json .Marshal (alert )
76+ if resp .StatusCode != http .StatusOK {
77+ body , err := io .ReadAll (resp .Body )
8678 if err != nil {
87- return utils .NewToolResultErrorFromErr ("failed to marshal alert " , err ), nil , nil
79+ return utils .NewToolResultErrorFromErr ("failed to read response body " , err ), nil , nil
8880 }
81+ return ghErrors .NewGitHubAPIStatusErrorResponse (ctx , "failed to get alert" , resp , body ), nil , nil
82+ }
8983
90- return utils .NewToolResultText (string (r )), nil , nil
84+ r , err := json .Marshal (alert )
85+ if err != nil {
86+ return utils .NewToolResultErrorFromErr ("failed to marshal alert" , err ), nil , nil
9187 }
88+
89+ return utils .NewToolResultText (string (r )), nil , nil
9290 },
9391 )
9492}
@@ -137,62 +135,60 @@ func ListCodeScanningAlerts(t translations.TranslationHelperFunc) inventory.Serv
137135 Required : []string {"owner" , "repo" },
138136 },
139137 },
140- func (deps ToolDependencies ) mcp.ToolHandlerFor [map [string ]any , any ] {
141- return func (ctx context.Context , _ * mcp.CallToolRequest , args map [string ]any ) (* mcp.CallToolResult , any , error ) {
142- owner , err := RequiredParam [string ](args , "owner" )
143- if err != nil {
144- return utils .NewToolResultError (err .Error ()), nil , nil
145- }
146- repo , err := RequiredParam [string ](args , "repo" )
147- if err != nil {
148- return utils .NewToolResultError (err .Error ()), nil , nil
149- }
150- ref , err := OptionalParam [string ](args , "ref" )
151- if err != nil {
152- return utils .NewToolResultError (err .Error ()), nil , nil
153- }
154- state , err := OptionalParam [string ](args , "state" )
155- if err != nil {
156- return utils .NewToolResultError (err .Error ()), nil , nil
157- }
158- severity , err := OptionalParam [string ](args , "severity" )
159- if err != nil {
160- return utils .NewToolResultError (err .Error ()), nil , nil
161- }
162- toolName , err := OptionalParam [string ](args , "tool_name" )
163- if err != nil {
164- return utils .NewToolResultError (err .Error ()), nil , nil
165- }
166-
167- client , err := deps .GetClient (ctx )
168- if err != nil {
169- return utils .NewToolResultErrorFromErr ("failed to get GitHub client" , err ), nil , nil
170- }
171- alerts , resp , err := client .CodeScanning .ListAlertsForRepo (ctx , owner , repo , & github.AlertListOptions {Ref : ref , State : state , Severity : severity , ToolName : toolName })
172- if err != nil {
173- return ghErrors .NewGitHubAPIErrorResponse (ctx ,
174- "failed to list alerts" ,
175- resp ,
176- err ,
177- ), nil , nil
178- }
179- defer func () { _ = resp .Body .Close () }()
138+ func (ctx context.Context , deps ToolDependencies , _ * mcp.CallToolRequest , args map [string ]any ) (* mcp.CallToolResult , any , error ) {
139+ owner , err := RequiredParam [string ](args , "owner" )
140+ if err != nil {
141+ return utils .NewToolResultError (err .Error ()), nil , nil
142+ }
143+ repo , err := RequiredParam [string ](args , "repo" )
144+ if err != nil {
145+ return utils .NewToolResultError (err .Error ()), nil , nil
146+ }
147+ ref , err := OptionalParam [string ](args , "ref" )
148+ if err != nil {
149+ return utils .NewToolResultError (err .Error ()), nil , nil
150+ }
151+ state , err := OptionalParam [string ](args , "state" )
152+ if err != nil {
153+ return utils .NewToolResultError (err .Error ()), nil , nil
154+ }
155+ severity , err := OptionalParam [string ](args , "severity" )
156+ if err != nil {
157+ return utils .NewToolResultError (err .Error ()), nil , nil
158+ }
159+ toolName , err := OptionalParam [string ](args , "tool_name" )
160+ if err != nil {
161+ return utils .NewToolResultError (err .Error ()), nil , nil
162+ }
180163
181- if resp .StatusCode != http .StatusOK {
182- body , err := io .ReadAll (resp .Body )
183- if err != nil {
184- return utils .NewToolResultErrorFromErr ("failed to read response body" , err ), nil , nil
185- }
186- return ghErrors .NewGitHubAPIStatusErrorResponse (ctx , "failed to list alerts" , resp , body ), nil , nil
187- }
164+ client , err := deps .GetClient (ctx )
165+ if err != nil {
166+ return utils .NewToolResultErrorFromErr ("failed to get GitHub client" , err ), nil , nil
167+ }
168+ alerts , resp , err := client .CodeScanning .ListAlertsForRepo (ctx , owner , repo , & github.AlertListOptions {Ref : ref , State : state , Severity : severity , ToolName : toolName })
169+ if err != nil {
170+ return ghErrors .NewGitHubAPIErrorResponse (ctx ,
171+ "failed to list alerts" ,
172+ resp ,
173+ err ,
174+ ), nil , nil
175+ }
176+ defer func () { _ = resp .Body .Close () }()
188177
189- r , err := json .Marshal (alerts )
178+ if resp .StatusCode != http .StatusOK {
179+ body , err := io .ReadAll (resp .Body )
190180 if err != nil {
191- return utils .NewToolResultErrorFromErr ("failed to marshal alerts " , err ), nil , nil
181+ return utils .NewToolResultErrorFromErr ("failed to read response body " , err ), nil , nil
192182 }
183+ return ghErrors .NewGitHubAPIStatusErrorResponse (ctx , "failed to list alerts" , resp , body ), nil , nil
184+ }
193185
194- return utils .NewToolResultText (string (r )), nil , nil
186+ r , err := json .Marshal (alerts )
187+ if err != nil {
188+ return utils .NewToolResultErrorFromErr ("failed to marshal alerts" , err ), nil , nil
195189 }
190+
191+ return utils .NewToolResultText (string (r )), nil , nil
196192 },
197193 )
198194}
0 commit comments