add grain to spec#92
Conversation
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 32 minutes and 49 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughThis pull request updates the OpenAPI specification to introduce support for the Grain data connector. The API version is bumped to 0.6.9, the Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
|
@chillenberger remove test note on cloudglue-js; that seems more a note on cloudgluejs workign and not the api spec |
| { | ||
| "name": "title_search", | ||
| "in": "query", | ||
| "description": "Title search filter. Applies to Grain connectors only.", |
There was a problem hiding this comment.
i think i need more details on what title search is? like is this an phrase match, exact string match, something more fuzzy? depending on that we might want to actually rename this parameter
There was a problem hiding this comment.
I copied the grain filter param names thinking it would make things simpler for the user https://developers.grain.com/#recording-filter . this can be nice if the user already has an api connection to grain and starts using us, or prevents us from needing to duplication documentation with different names. I found through testing the filter is fuzzy, but their docs do not explicitly say that .
There was a problem hiding this comment.
their docs say "Only return recordings which title matches the given search string." but testing title_search=test on our test videos with a limit of 10 returns 'mp3_audio_recording_test'
'audio_recording_test'
'record_test_19'
'record_test_21'
'record_test_15'
'record_test_16'
'record_test_17'
'record_test_20'
'record_test_18'
'record_test_5'
| { | ||
| "name": "team", | ||
| "in": "query", | ||
| "description": "Team filter. Applies to Grain connectors only.", |
There was a problem hiding this comment.
is this team filter an exact match? if so spell out in comment
There was a problem hiding this comment.
How do you feel about referencing their docs rather than copy pasting data to prevent drift. My understanding, and the way it currently works is, we hit grains list api to pull available videos that we can use. If they change their api functionality, like the type, fuzzy vs non-fuzzy search, it still works, but our docs will be wrong.
There was a problem hiding this comment.
@chillenberger yeah i think lets just link them to the relevant api doc as you suggested
| { | ||
| "name": "meeting_type", | ||
| "in": "query", | ||
| "description": "Meeting type filter. Applies to Grain connectors only.", |
There was a problem hiding this comment.
is this meeting type filter an exact match? if so spell out in comment; or if its some closed set maybe we list the values here
There was a problem hiding this comment.
same as above
There was a problem hiding this comment.
♻️ Duplicate comments (1)
spec/openapi.json (1)
4252-4268:⚠️ Potential issue | 🟡 MinorType the Grain ID filters as UUIDs.
Grain’s Recording Filter docs identify
teamandmeeting_typeas ID filters, so the spec should expose them withformat: "uuid"; otherwise generated clients treat them as arbitrary strings and users may pass names. Source: https://developers.grain.com/#recording-filter🔧 Proposed schema/doc tightening
{ "name": "team", "in": "query", - "description": "Team filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.", + "description": "Grain team ID filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.", "required": false, "schema": { - "type": "string" + "type": "string", + "format": "uuid" } }, { "name": "meeting_type", "in": "query", - "description": "Meeting type filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.", + "description": "Grain meeting type ID filter. Applies to Grain connectors only. See the [Grain documentation](https://developers.grain.com/#recording-filter) for more details.", "required": false, "schema": { - "type": "string" + "type": "string", + "format": "uuid" } }🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@spec/openapi.json` around lines 4252 - 4268, The OpenAPI schema for the query parameters "team" and "meeting_type" currently types them as plain strings; change their schemas to indicate UUIDs by adding "format": "uuid" to each parameter's schema (the objects named "team" and "meeting_type" in spec/openapi.json) so generated clients and validators treat them as UUIDs rather than arbitrary strings.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@spec/openapi.json`:
- Around line 4252-4268: The OpenAPI schema for the query parameters "team" and
"meeting_type" currently types them as plain strings; change their schemas to
indicate UUIDs by adding "format": "uuid" to each parameter's schema (the
objects named "team" and "meeting_type" in spec/openapi.json) so generated
clients and validators treat them as UUIDs rather than arbitrary strings.
Summary
This PR updates the API specification for the Grain data connector.
Documentation: Added descriptions for three new query parameters (title_search, team, and meeting_type) to the listDataConnectorFiles endpoint.
Schema Updates: Added "Grain" as a valid option for the DataConnector type and the File source type.
Versioning: Bumped the API specification version to 0.6.9.
Summary by CodeRabbit
New Features
Updates