-
Notifications
You must be signed in to change notification settings - Fork 4
Improve open api schema population #4443
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
base: main
Are you sure you want to change the base?
Conversation
allister-beamable
left a 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.
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 :)
|
Lightbeam link |
|
Lightbeam link |
DiasAtBeamable
left a 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.
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.
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.
Have you tested those changes in an Unreal and Unity project to see if all the ClientCode is being properly generated?
|
@DiasAtBeamable if you can send it it would be great |
|
Lightbeam link |
Resolves #4407
Besides that it also improves OpenAPI components generation flow, so for example when we have class like
MicroserviceRuntimeMetadatawith array fieldpublic 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 forFederationComponentMetadataas well. In old version the schema for the field was storing only that:Which only informs that there is array of anything. New version gives information about items type and also stores schema for that field type.