diff --git a/operation/repo/release.go b/operation/repo/release.go index d0e1094..f4d62c3 100644 --- a/operation/repo/release.go +++ b/operation/repo/release.go @@ -221,8 +221,16 @@ func ListReleasesFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallTool if !ok { return nil, fmt.Errorf("repo is required") } - isDraft, _ := req.GetArguments()["is_draft"].(bool) - isPreRelease, _ := req.GetArguments()["is_pre_release"].(bool) + var pIsDraft *bool + isDraft, ok := req.GetArguments()["is_draft"].(bool) + if ok { + pIsDraft = ptr.To(isDraft) + } + var pIsPreRelease *bool + isPreRelease, ok := req.GetArguments()["is_pre_release"].(bool) + if ok { + pIsPreRelease = ptr.To(isPreRelease) + } page, _ := req.GetArguments()["page"].(float64) pageSize, _ := req.GetArguments()["pageSize"].(float64) @@ -231,8 +239,8 @@ func ListReleasesFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallTool Page: int(page), PageSize: int(pageSize), }, - IsDraft: ptr.To(isDraft), - IsPreRelease: ptr.To(isPreRelease), + IsDraft: pIsDraft, + IsPreRelease: pIsPreRelease, }) if err != nil { return nil, fmt.Errorf("list releases error: %v", err) diff --git a/operation/search/search.go b/operation/search/search.go index 9fce5e1..71e0563 100644 --- a/operation/search/search.go +++ b/operation/search/search.go @@ -144,8 +144,16 @@ func SearchReposFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolR keywordIsTopic, _ := req.GetArguments()["keywordIsTopic"].(bool) keywordInDescription, _ := req.GetArguments()["keywordInDescription"].(bool) ownerID, _ := req.GetArguments()["ownerID"].(float64) - isPrivate, _ := req.GetArguments()["isPrivate"].(bool) - isArchived, _ := req.GetArguments()["isArchived"].(bool) + var pIsPrivate *bool + isPrivate, ok := req.GetArguments()["isPrivate"].(bool) + if ok { + pIsPrivate = ptr.To(isPrivate) + } + var pIsArchived *bool + isArchived, ok := req.GetArguments()["isArchived"].(bool) + if ok { + pIsArchived = ptr.To(isArchived) + } sort, _ := req.GetArguments()["sort"].(string) order, _ := req.GetArguments()["order"].(string) page, ok := req.GetArguments()["page"].(float64) @@ -161,8 +169,8 @@ func SearchReposFn(ctx context.Context, req mcp.CallToolRequest) (*mcp.CallToolR KeywordIsTopic: keywordIsTopic, KeywordInDescription: keywordInDescription, OwnerID: int64(ownerID), - IsPrivate: ptr.To(isPrivate), - IsArchived: ptr.To(isArchived), + IsPrivate: pIsPrivate, + IsArchived: pIsArchived, Sort: sort, Order: order, ListOptions: gitea_sdk.ListOptions{