Fallback to unit enum name if not backend enum - #1124
Open
GJSBRT wants to merge 1 commit into
Open
Conversation
Member
|
@GJSBRT not sure is this is still relevant to you. Current implementation will confidently document all not backed enums as unions of their cases names. But this is not correct. Imagine you return such enum from a controller as is: // app/Enums/Status.php
enum Status
{
case Draft;
case Published;
}
// routes/api.php
use App\Enums\Status;
use Illuminate\Support\Facades\Route;
Route::get('/status', function () {
return response()->json([
'status' => Status::Draft,
]);
});This does not return: {
"status": "Draft"
}Instead, JSON encoding fails with: It works only when the application converts the enum to its name manually ( Because Scramble cannot know which of these cases applies, I do not think we should document every non-backed enum as a string enum by default - this approach can be rather moved to model extension. I'm keeping this PR open to implement it once I have some time. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.