Find label usages is not properly working on UI, the API requests seems good but the UI is not properly filled in:
The text should be something like Report config <b>{loc.title}</b> in {loc.where} {loc.name ? loc.name : ""}
As you can see loc.where and loc.name (and also loc.configId)are empty.
After some investigation, the API is properly returning those fields properly filled in.
IIUC the problem seems in the OpenAPI definition, as it was constructed assuming some sort of inheritance which does not actually exists in OpenAPI specs:
In the horreum-api we have an abstract LabelLocation schema which is extended by several locations, e.g., LabelInReport
The autogenerated client code (for the models) does not reflect that inheritance and you'll have two distinct classes, the LabelLocation and LabelInReport (the latter having all fields coming from LabelLocation and their owns)
The UI calls the client method findUsages which is returning LabelLocation[] the most generic one, thus it will simply discard all other fields
To Reproduce
Simply look for a label (in a specific schema having some usages on reports) and click find usages
You should see the table is not properly filled in
If you click the "Go to", it will redirect to an undefined report config id, this is because also loc.configId is undefined.
Version
What is the version of Horreum ?
Discovered on 0.13 but it was affecting also previous versions.
Describe the bug
Find label usages is not properly working on UI, the API requests seems good but the UI is not properly filled in:
The text should be something like
Report config <b>{loc.title}</b> in {loc.where} {loc.name ? loc.name : ""}
As you can see
loc.where
andloc.name
(and alsoloc.configId
)are empty.After some investigation, the API is properly returning those fields properly filled in. IIUC the problem seems in the OpenAPI definition, as it was constructed assuming some sort of inheritance which does not actually exists in OpenAPI specs:
horreum-api
we have an abstractLabelLocation
schema which is extended by several locations, e.g.,LabelInReport
LabelLocation
andLabelInReport
(the latter having all fields coming fromLabelLocation
and their owns)findUsages
which is returningLabelLocation[]
the most generic one, thus it will simply discard all other fieldsTo Reproduce
undefined
report config id, this is because alsoloc.configId
is undefined.Version
What is the version of Horreum ?
Discovered on
0.13
but it was affecting also previous versions.