Skip to content

Commit 1090bed

Browse files
committed
fix delete project item
1 parent 4b6e531 commit 1090bed

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

pkg/github/projects.go

Lines changed: 35 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -817,30 +817,40 @@ func CreateDraftIssue(getClient GetGQLClientFn, t translations.TranslationHelper
817817
// DeleteProjectItem removes an item from a project.
818818
func DeleteProjectItem(getClient GetGQLClientFn, t translations.TranslationHelperFunc) (mcp.Tool, server.ToolHandlerFunc) {
819819
return mcp.NewTool("delete_project_item",
820-
mcp.WithDescription(t("TOOL_DELETE_PROJECT_ITEM_DESCRIPTION", "Delete a project item")),
821-
mcp.WithToolAnnotation(mcp.ToolAnnotation{Title: t("TOOL_DELETE_PROJECT_ITEM_USER_TITLE", "Delete project item"), ReadOnlyHint: ToBoolPtr(false)}),
822-
mcp.WithString("project_id", mcp.Required(), mcp.Description("Project ID")),
823-
mcp.WithString("item_id", mcp.Required(), mcp.Description("Item ID")),
824-
), func(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
825-
projectID, err := RequiredParam[string](req, "project_id")
826-
if err != nil {
827-
return mcp.NewToolResultError(err.Error()), nil
828-
}
829-
itemID, err := RequiredParam[string](req, "item_id")
830-
if err != nil {
831-
return mcp.NewToolResultError(err.Error()), nil
832-
}
833-
client, err := getClient(ctx)
834-
if err != nil {
835-
return mcp.NewToolResultError(err.Error()), nil
836-
}
837-
var mut struct {
838-
DeleteProjectV2Item struct{ Typename githubv4.String } `graphql:"deleteProjectV2Item(input: $input)"`
839-
}
840-
input := githubv4.DeleteProjectV2ItemInput{ProjectID: githubv4.ID(projectID), ItemID: githubv4.ID(itemID)}
841-
if err := client.Mutate(ctx, &mut, input, nil); err != nil {
842-
return mcp.NewToolResultError(err.Error()), nil
843-
}
844-
return MarshalledTextResult(mut), nil
820+
mcp.WithDescription(t("TOOL_DELETE_PROJECT_ITEM_DESCRIPTION", "Delete a project item")),
821+
mcp.WithToolAnnotation(mcp.ToolAnnotation{Title: t("TOOL_DELETE_PROJECT_ITEM_USER_TITLE", "Delete project item"), ReadOnlyHint: ToBoolPtr(false)}),
822+
mcp.WithString("project_id", mcp.Required(), mcp.Description("Project ID")),
823+
mcp.WithString("item_id", mcp.Required(), mcp.Description("Item ID")),
824+
), func(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolResult, error) {
825+
projectID, err := RequiredParam[string](req, "project_id")
826+
if err != nil {
827+
return mcp.NewToolResultError(err.Error()), nil
828+
}
829+
itemID, err := RequiredParam[string](req, "item_id")
830+
if err != nil {
831+
return mcp.NewToolResultError(err.Error()), nil
845832
}
833+
client, err := getClient(ctx)
834+
if err != nil {
835+
return mcp.NewToolResultError(err.Error()), nil
836+
}
837+
838+
var mut struct {
839+
DeleteProjectV2Item struct {
840+
DeletedItemID githubv4.ID `graphql:"deletedItemId"`
841+
} `graphql:"deleteProjectV2Item(input: $input)"`
842+
}
843+
844+
input := githubv4.DeleteProjectV2ItemInput{
845+
ProjectID: githubv4.ID(projectID),
846+
ItemID: githubv4.ID(itemID),
847+
}
848+
849+
if err := client.Mutate(ctx, &mut, input, nil); err != nil {
850+
return mcp.NewToolResultError(err.Error()), nil
851+
}
852+
853+
return MarshalledTextResult(mut.DeleteProjectV2Item), nil
854+
}
846855
}
856+

0 commit comments

Comments
 (0)