fix: output the correct tx info type in swagger #2128
Merged
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.
I've been trying to use https://redux-toolkit.js.org/rtk-query/usage/code-generation RTK's code-generation with the output of our openAPI. It worked fine, but the generated code was making typescript complain. For example we have this here:
My Switch statement was hitting the correct case(Creation), but TS was not recognising the txInfo being a CreationTransactionInfo and was complaining that factory doesn't exist. This turned out to stem from the fact that our openAPI is setting type: string and because of this TS was not able to infer the correct type....
Swagger is very picky. Our transactionInfoType is an enum and in every TransactionInfo class we actually know the type of transactionInfo we are dealing with. It’s impossible to have CreationTransactionInfo with a “custom” type. The type is going to be “creation”. By overriding the type with the correct type and setting an ApiProperty with a single value the swagger docs manage to generate a type that is closer to what the TransactionInfo is.