Skip to content

Conversation

@Leinnan
Copy link
Collaborator

@Leinnan Leinnan commented Dec 9, 2025

Resolves #4407

Besides that it also improves OpenAPI components generation flow, so for example when we have class like MicroserviceRuntimeMetadata with array field public List<FederationComponentMetadata> federatedComponents = new List<FederationComponentMetadata>(); it detects that it is a separate class that is and stores information about the fact that the schema should include type information for FederationComponentMetadata as well. In old version the schema for the field was storing only that:

          "federatedComponents": {
            "type": "array"
          }

Which only informs that there is array of anything. New version gives information about items type and also stores schema for that field type.

@Leinnan Leinnan changed the title Feature/improve open api schema population Improve open api schema population Dec 9, 2025
@Leinnan Leinnan requested review from DiasAtBeamable and cdhanna and removed request for DiasAtBeamable December 9, 2025 14:27
Copy link
Contributor

@allister-beamable allister-beamable left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The principle seems sound! I am not too familiar with the nuts and bolts of this code, so I defer to Chris and Dias for that part of the review :)

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Lightbeam link

@github-actions
Copy link
Contributor

github-actions bot commented Dec 9, 2025

Lightbeam link

Copy link
Contributor

@DiasAtBeamable DiasAtBeamable left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks good to me. But I cannot confirm whether some of the changes will affect how the ClientCode is generated, primarily on the Unreal side. @PedroRauizBeamable has some Unreal project that would be good to test it. I have a sample C# Microservice Code with a lot of callables to test a bunch of types of usages. Let me know if you want it, I can send it to you.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have you tested those changes in an Unreal and Unity project to see if all the ClientCode is being properly generated?

@Leinnan
Copy link
Collaborator Author

Leinnan commented Dec 9, 2025

@DiasAtBeamable if you can send it it would be great

@github-actions
Copy link
Contributor

Lightbeam link

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.

OAPI schema generation can accidentally add the same type twice to a dictionary

4 participants