Skip to content

Wave schema update#2168

Merged
GelatoGenesis merged 1 commit intomainfrom
b-17744479433
Mar 25, 2026
Merged

Wave schema update#2168
GelatoGenesis merged 1 commit intomainfrom
b-17744479433

Conversation

@GelatoGenesis
Copy link
Copy Markdown
Collaborator

@GelatoGenesis GelatoGenesis commented Mar 25, 2026

Summary by CodeRabbit

  • New Features
    • Added submission strategy configuration for wave participation, enabling customized submission handling options.
    • Enhanced drop metadata responses with additional resolved information.
    • Extended minting statistics with new count metrics for comprehensive analytics.

Signed-off-by: GelatoGenesis <tarmokalling@gmail.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 25, 2026

📝 Walkthrough

Walkthrough

OpenAPI schema updates adding wave participation submission strategy configurations with related enums, introducing ApiDropMetadataResponse schema for drop metadata references, and extending memes mint statistics schemas with total_count and subscriptions_count fields.

Changes

Cohort / File(s) Summary
Wave Participation Submission Strategy
openapi.yaml
Introduced new submission strategy schemas (ApiWaveParticipationSubmissionStrategy, ApiWaveParticipationSubmissionStrategyType, ApiWaveParticipationSubmissionStrategyIdentityConf) and related enums. Added submission_strategy field to ApiCreateNewWaveParticipationConfig, introduced new ApiUpdateWaveParticipationConfig for update operations with immutability semantics, and updated ApiUpdateWaveRequest.participation reference accordingly.
Drop Metadata Response
openapi.yaml
Added new ApiDropMetadataResponse schema containing data_key, data_value, and nullable resolved_profile. Updated metadata item references across affected schemas from ApiDropMetadata to ApiDropMetadataResponse.
Memes Mint Statistics
openapi.yaml
Extended ApiMemesMintStat, ApiMemesMintStatsTotals, and ApiMemesMintStatsYearly schemas with new required fields total_count and subscriptions_count (both int64).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • simo6529
  • prxt6529

Poem

🐰 Hop, hop! New schemas bloom,
Strategies emerge from the room,
Metadata responds with grace,
Stats count every single trace,
OpenAPI grows, our API's delight!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title is vague and overly broad, referring only to 'Wave schema' without specifying the key changes like submission strategy addition, metadata reference updates, or mints statistics extensions. Consider a more specific title that captures the main changes, such as 'Add submission strategy configuration to wave participation schemas' or 'Update wave and memes schemas with submission strategy and metadata response types'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch b-17744479433

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@sonarqubecloud
Copy link
Copy Markdown

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a 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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
openapi.yaml (1)

10888-11005: ⚠️ Potential issue | 🟡 Minor

no_of_applications_allowed_per_participant can't be both required and "omittable".

ApiUpdateWaveParticipationConfig marks this field as required, so generated clients treat it as mandatory, but the description says omission means "Infinite". If null is the real sentinel, please say that; otherwise the field should not be in required.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@openapi.yaml` around lines 10888 - 11005, The schema
ApiUpdateWaveParticipationConfig currently lists
no_of_applications_allowed_per_participant in the required array but its
description says omission is allowed ("Infinite"), causing client generation
mismatch; either remove no_of_applications_allowed_per_participant from the
required list (so it truly can be omitted) or, if null is the intended sentinel,
keep it required but add nullable: true and update the description to explicitly
state "use null to mean infinite"; update the ApiUpdateWaveParticipationConfig
schema accordingly and ensure the change is applied to the
no_of_applications_allowed_per_participant property entry.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@openapi.yaml`:
- Around line 11028-11034: The docs and SDK disagree about submission_strategy
mutation: either treat submission_strategy as immutable (must match stored
value) or allow explicit null to clear it; pick one and make OpenAPI and the
generated model consistent. If immutable: remove the "Set explicitly to null to
clear it." sentence, delete the "null" anyOf branch and ensure
ApiUpdateWaveParticipationConfig.ts makes submission_strategy non-nullable and
documented as immutable. If nullable/clearable: keep the null anyOf branch and
update the enclosing update request description to allow updates and clearing,
and ensure ApiUpdateWaveParticipationConfig.ts keeps submission_strategy?:
ApiWaveParticipationSubmissionStrategy | null with matching docs. Also apply the
same change to the other occurrence (the second submission_strategy block).
- Around line 8282-8284: The generated ApiDropMetadataResponse model is
incorrectly referencing ApiDropMetadata.attributeTypeMap in its
getAttributeTypeMap(), causing runtime symbol issues; update the OpenAPI
generator template or the schema so that the generated file
generated/models/ApiDropMetadataResponse.ts defines its own static
attributeTypeMap and that getAttributeTypeMap() returns
ApiDropMetadataResponse.attributeTypeMap (not ApiDropMetadata.attributeTypeMap).
Locate the template that emits getAttributeTypeMap() (or the codegen logic that
inlines $ref types) and change it to use the current model/class name symbol
(ApiDropMetadataResponse) when emitting attribute maps, or alternatively adjust
the OpenAPI component name to be unique so the generator emits a distinct
ApiDropMetadataResponse attributeTypeMap for all places where
ApiDropMetadataResponse is referenced.

---

Outside diff comments:
In `@openapi.yaml`:
- Around line 10888-11005: The schema ApiUpdateWaveParticipationConfig currently
lists no_of_applications_allowed_per_participant in the required array but its
description says omission is allowed ("Infinite"), causing client generation
mismatch; either remove no_of_applications_allowed_per_participant from the
required list (so it truly can be omitted) or, if null is the intended sentinel,
keep it required but add nullable: true and update the description to explicitly
state "use null to mean infinite"; update the ApiUpdateWaveParticipationConfig
schema accordingly and ensure the change is applied to the
no_of_applications_allowed_per_participant property entry.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0e20be6b-d3b0-49b6-82d6-8ccd5edaae8f

📥 Commits

Reviewing files that changed from the base of the PR and between a33789f and 7bf862a.

⛔ Files ignored due to path filters (16)
  • generated/models/ApiCreateNewWaveParticipationConfig.ts is excluded by !**/generated/**
  • generated/models/ApiDrop.ts is excluded by !**/generated/**
  • generated/models/ApiDropMetadataResponse.ts is excluded by !**/generated/**
  • generated/models/ApiDropWithoutWave.ts is excluded by !**/generated/**
  • generated/models/ApiMemesMintStat.ts is excluded by !**/generated/**
  • generated/models/ApiMemesMintStatsTotals.ts is excluded by !**/generated/**
  • generated/models/ApiMemesMintStatsYearly.ts is excluded by !**/generated/**
  • generated/models/ApiUpdateWaveParticipationConfig.ts is excluded by !**/generated/**
  • generated/models/ApiUpdateWaveRequest.ts is excluded by !**/generated/**
  • generated/models/ApiWaveParticipationConfig.ts is excluded by !**/generated/**
  • generated/models/ApiWaveParticipationIdentitySubmissionAllowDuplicates.ts is excluded by !**/generated/**
  • generated/models/ApiWaveParticipationIdentitySubmissionWhoCanBeSubmitted.ts is excluded by !**/generated/**
  • generated/models/ApiWaveParticipationSubmissionStrategy.ts is excluded by !**/generated/**
  • generated/models/ApiWaveParticipationSubmissionStrategyIdentityConf.ts is excluded by !**/generated/**
  • generated/models/ApiWaveParticipationSubmissionStrategyType.ts is excluded by !**/generated/**
  • generated/models/ObjectSerializer.ts is excluded by !**/generated/**
📒 Files selected for processing (1)
  • openapi.yaml

Comment thread openapi.yaml
Comment thread openapi.yaml
@GelatoGenesis GelatoGenesis merged commit 65c4c30 into main Mar 25, 2026
8 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants