-
Notifications
You must be signed in to change notification settings - Fork 99
[BUGFIX] support YAML extension in database configuration #2372
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
Conversation
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
}, | ||
"spec": { | ||
"display": { | ||
"name": "perses" | ||
} |
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.
Added spec.display.name
since gopkg.in/yaml.v3 and encoding/json marshalers handle nil structs differently. Without this initialization, gopkg.in/yaml.v3 would omit the entire 'spec' field while encoding/json keeps it as an empty spec object.
You can see this behavior here: https://go.dev/play/p/kv0gT5GZt6M
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.
mmm it's weird because the UI is getting a JSON not a YAML format so spec should be initialised in the API response.
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 issue is happening much before actually. The issue is happening during the provisioning of file database during the application start up.
So, when the config.database.file.extension
is "yaml" extension, a project manifest in local_db/projects
folder looks like the below snippet.
kind: Project
metadata:
name: perses
createdAt: 2024-10-24T18:48:14.174051Z
updatedAt: 2024-10-24T18:48:14.174051Z
version: 0
However, when the config.database.file.extension
is "json", a project manifest in local_db/projects
looks like the below snippet.
{
"kind": "Project",
"metadata": {
"name": "incredibleproject",
"createdAt": "2024-10-24T18:49:56.921669Z",
"updatedAt": "2024-10-24T18:49:56.921669Z",
"version": 0
},
"spec": {}
}
The marshalling happens in this line
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.
What I mean is it shouldn't happen actually.
Because when the frontend is requesting the backend for anything, the response will be marshalled in JSON. So whatever the format is in the database, once it is sent to the frontend, the format is JSON.
So probably there is another thing to fix there. But it's not that urgent.
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
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.
Thank you for the fix @ibakshay !
Signed-off-by: Akshay Iyyadurai Balasundaram <akshay.iyyadurai.balasundaram@sap.com>
Description
This PR fixes #2371
Screenshots
Checklist
[<catalog_entry>] <commit message>
naming convention using one of thefollowing
catalog_entry
values:FEATURE
,ENHANCEMENT
,BUGFIX
,BREAKINGCHANGE
,DOC
,IGNORE
.UI Changes
See Storybook
and e2e docs for more details. Common issues
include: