-
Notifications
You must be signed in to change notification settings - Fork 0
chore: oas related changes #180
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
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
9bb9c01
chore: spec generation to not include tables by default
MihalyToth20 db93d85
chore: spec generation to not include tables by default
MihalyToth20 1f32c90
Merge branch 'dev' of https://github.com/MihalyToth20/xano-community-…
MihalyToth20 d9da43b
chore: oas spec fixes, to satisfy spectral rules (without modifying t…
MihalyToth20 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| "@calycode/core": minor | ||
| "@calycode/cli": minor | ||
| --- | ||
|
|
||
| chore: by default do not generate table schemas into the OAS spec, but allow that via flag |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| --- | ||
| '@calycode/core': patch | ||
| '@calycode/cli': patch | ||
| --- | ||
|
|
||
| chore: extract the tags from the paths to the global to comply better with OAS | ||
| chore: set maxLength to strings on the error codes (owasp:api4:2019-string-limit) | ||
| chore: set type to strings (owasp:api4:2019-string-restricted) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
29 changes: 29 additions & 0 deletions
29
packages/core/src/features/oas/generate/methods/extract-tags-to-global-level.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| function extractTagsToGlobal(paths) { | ||
| // 1. Collect all tags used in operations | ||
| const tagSet = new Set(); | ||
| for (const [path, methods] of Object.entries(paths || {})) { | ||
| for (const [method, operation] of Object.entries(methods)) { | ||
| if (operation.tags && Array.isArray(operation.tags)) { | ||
| operation.tags.forEach((tag) => tagSet.add(tag)); | ||
| } | ||
| } | ||
| } | ||
|
|
||
| // 2. Build the global tags array if not present | ||
| let tags = Array.from(tagSet).map((tag) => ({ | ||
| name: tag, | ||
| description: `Auto-generated tag for ${tag}`, | ||
| })); | ||
|
|
||
| // (Optional) If you want to preserve existing tags and only add missing ones: | ||
| const existingTags = (tags || []).map((t) => t.name); | ||
| const allTags = Array.from(new Set([...existingTags, ...tagSet])); | ||
| tags = allTags.map((tag) => ({ | ||
| name: tag, | ||
| description: `Auto-generated tag for ${tag}`, | ||
| })); | ||
|
|
||
| return tags; | ||
| } | ||
|
|
||
| export { extractTagsToGlobal }; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Redundant logic in tag preservation.
The function has confusing and redundant logic:
tagsarray fromtagSettags(just created) as if it were pre-existing inputtagsarray, making lines 13-16 unnecessaryThe comment on line 18 mentions "preserve existing tags," but the function doesn't accept any existing tags as input. Either:
existingTagsparameter to truly preserve them, orApply this diff to simplify the function:
function extractTagsToGlobal(paths) { // 1. Collect all tags used in operations const tagSet = new Set(); for (const [path, methods] of Object.entries(paths || {})) { for (const [method, operation] of Object.entries(methods)) { if (operation.tags && Array.isArray(operation.tags)) { operation.tags.forEach((tag) => tagSet.add(tag)); } } } - // 2. Build the global tags array if not present - let tags = Array.from(tagSet).map((tag) => ({ + // 2. Build the global tags array + const tags = Array.from(tagSet).map((tag) => ({ name: tag, description: `Auto-generated tag for ${tag}`, })); - // (Optional) If you want to preserve existing tags and only add missing ones: - const existingTags = (tags || []).map((t) => t.name); - const allTags = Array.from(new Set([...existingTags, ...tagSet])); - tags = allTags.map((tag) => ({ - name: tag, - description: `Auto-generated tag for ${tag}`, - })); - return tags; }If you truly need to preserve existing tags from the OpenAPI spec, modify the signature:
🤖 Prompt for AI Agents