-
-
Notifications
You must be signed in to change notification settings - Fork 0
feat:Set GET/POST /v1/serp/{path} operationId to serp_v1_serp__path__post #629
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughOperationId values for both GET and POST methods at /v1/serp/{path} in src/libs/Jina/openapi.yaml were updated to serp_v1_serp__path__post. No other parameters, schemas, or HTTP methods were changed. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (4)
src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathPostResponse.Json.g.csis excluded by!**/generated/**src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathPostResponse.g.csis excluded by!**/generated/**src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathPostResponse2.Json.g.csis excluded by!**/generated/**src/libs/Jina/Generated/Jina.Models.SerpV1SerpPathPostResponse2.g.csis excluded by!**/generated/**
📒 Files selected for processing (1)
src/libs/Jina/openapi.yaml(2 hunks)
| - serp | ||
| summary: Serp | ||
| operationId: serp_v1_serp__path__get | ||
| operationId: serp_v1_serp__path__post |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
Duplicate and incorrect operationId on GET; must be unique and reflect the HTTP method
Both GET and POST use serp_v1_serp__path__post. This will collide in client code generation and is misleading for the GET operation. Fix by restoring a unique, method‑appropriate id.
Apply:
- operationId: serp_v1_serp__path__post
+ operationId: serp_v1_serp__path__getRun to confirm operationId uniqueness:
🏁 Script executed:
#!/bin/bash
rg -nP '^\s*operationId:\s*(\S+)' src/libs/Jina/openapi.yaml \
| awk '{print $NF}' | sort | uniq -c | sort -nr | headLength of output: 476
Fix duplicate operationId in openapi.yaml — make GET id unique
GET and POST both declare serp_v1_serp__path__post (duplicate; confirmed). Update the GET operationId to a method-appropriate unique value.
File: src/libs/Jina/openapi.yaml (GET operation, around line 306)
- operationId: serp_v1_serp__path__post
+ operationId: serp_v1_serp__path__get📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| operationId: serp_v1_serp__path__post | |
| operationId: serp_v1_serp__path__get |
🤖 Prompt for AI Agents
In src/libs/Jina/openapi.yaml around line 306, the GET operation reuses the POST
operationId `serp_v1_serp__path__post`; update the GET operationId to a unique,
method-appropriate identifier (for example `serp_v1_serp__path__get`) so it no
longer duplicates the POST id, and ensure the new name follows existing naming
conventions and is referenced consistently (if used elsewhere) in the file.
| - serp | ||
| summary: Serp | ||
| operationId: serp_v1_serp__path__get | ||
| operationId: serp_v1_serp__path__post |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
POST operationId rename may be API‑breaking; confirm intent and downstream impact
If clients/SDKs rely on operationId, this rename can break generated method names. Proceed only if intentional and coordinated (release notes + SDK regen).
- Verify no other operation shares this id (after fixing GET).
- If rename is unintended, revert to the previous POST id; otherwise plan SDK regeneration and announce in CHANGELOG.
🏁 Script executed:
#!/bin/bash
set -euo pipefail
file="src/libs/Jina/openapi.yaml"
if [ ! -f "$file" ]; then
echo "FILE_NOT_FOUND: $file"
exit 0
fi
echo "=== SNIPPET: lines 320-340 of $file ==="
nl -ba "$file" | sed -n '320,340p' || true
echo
echo "=== operationId lines in $file (with 2 lines context) ==="
rg -n -C2 'operationId:' "$file" || true
echo
echo "=== All operationId occurrences in repo (file:line:value) ==="
rg -n --hidden 'operationId:' -S -g '!.git/**' || true
echo
echo "=== Duplicate operationId values across repo (showing >1 occurrences) ==="
python - <<'PY'
import re,glob,os
pat=re.compile(r'operationId:\s*(\S.*)$')
counts={}
locs={}
for path in glob.glob('**/*', recursive=True):
if '.git' in path.split(os.sep):
continue
if not (path.endswith('.yaml') or path.endswith('.yml') or path.endswith('.json')):
continue
try:
with open(path,'r',encoding='utf-8') as fh:
for i,line in enumerate(fh,1):
m=pat.search(line)
if m:
v=m.group(1).strip()
counts[v]=counts.get(v,0)+1
locs.setdefault(v,[]).append(f"{path}:{i}")
except Exception:
pass
dups=[(k,counts[k],locs[k]) for k in counts if counts[k]>1]
if not dups:
print("NO_DUPLICATE_OPERATIONIDs_FOUND")
else:
for k,c,ls in sorted(dups, key=lambda x:-x[1]):
print(f"{c}x {k}")
for l in ls:
print(" "+l)
PY
echo
echo "=== Search for serp_v1_serp__path__post / serp_v1_serp__path__get occurrences ==="
rg -n --hidden 'serp_v1_serp__path__post|serp_v1_serp__path__get' -S -g '!.git/**' || trueLength of output: 3568
Duplicate operationId 'serp_v1_serp__path__post' — fix before merge
Both occurrences will break client SDK generation; operationId values must be unique.
- src/libs/Jina/openapi.yaml — lines 306 and 330 both set operationId: serp_v1_serp__path__post.
- Action: if one entry is the GET endpoint, rename it to serp_v1_serp__path__get; if the POST rename was accidental, revert to the previous POST id; if the change is intentional, regenerate SDKs and document the breaking change in CHANGELOG/Release notes.
🤖 Prompt for AI Agents
In src/libs/Jina/openapi.yaml around lines 306 and 330 there is a duplicate
operationId 'serp_v1_serp__path__post' which will break client SDK generation;
locate both occurrences and make the IDs unique: if the entry at one of these
lines is the GET endpoint rename it to 'serp_v1_serp__path__get', if the POST
rename at one line was accidental revert it back to the original POST id, and if
the change was intentional keep the new id and regenerate SDKs and add a note in
CHANGELOG/Release notes; ensure both operationId values are unique and
consistent with HTTP method semantics and update any references/tests that rely
on the old IDs.
Summary by CodeRabbit