Typing Inconsistency for "v1.SearchSLOResponse" on GET /api/v1/slo endpoints
Describe the bug
Bad key typing on the v1.SearchSLOResponse typescript type for GET /api/v1/slo/search. Proper response type is in snake_case while intellisense suggests camelCase for the property type.
Example 1:
const type = sloData.data.attributes.slos[0].data.attributes?.sloType // actual property is `.slo_type`
Example 2:
const status = sloData.data.attributes.slos[0].data.attributes?.overallStatus // actual property is `.overall_status`
To Reproduce
- in a typescript environment create a GET request to
https://api.datadoghq.com/api/v1/slo/search - Ensure the response type is using
v1.SearchSLOResponse - View the response data and observe examples listed above within code-editors intellisense
Expected behavior
- When using the property in code you should see a
snake_casesuggestion.
Screenshots
Environment and Versions (please complete the following information):
- datadog/datadog-api-client version 1.19.0
- Typescript
Hi,
Do you have a reproducible example? Models are creating camelCase properties, which are available in my testing. Here is what I run:
import { client, v1 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration();
const apiInstance = new v1.ServiceLevelObjectivesApi(configuration);
const params: v1.ServiceLevelObjectivesApiSearchSLORequest = {
pageSize: 20,
pageNumber: 0,
};
apiInstance
.searchSLO(params)
.then((data: v1.SearchSLOResponse) => {
console.log(data.data.attributes.slos[0].data.attributes?.sloType)
console.log(data.data.attributes.slos[0].data.attributes?.overallStatus)
})
.catch((error: any) => console.error(error));
Thanks.
Hey @therve
So that example you provided works for you? Because if asked that's the example I would provide. For me sloType and overallStatus are actually slo_type and overall_status. Requiring a @ts-expect-error for intellisense to ignore.
There are similar (but unrelated) issues like this throughout. For example, on the POST endpoint to create embedded graphs - the "size" parameter is an enum of strings (by fact and documentation) but vscode is saying it should be a number type.
Yes that example work for me. What's your typescript version? The embedded graphs doesn't generate clients. so it's a different issue indeed.
5.0.4, Admittedly a few behind. Maybe this was solved already?
Thanks for your contribution!
This issue has been automatically marked as stale because it has not had activity in the last 30 days. Note that the issue will not be automatically closed, but this notification will remind us to investigate why there's been inactivity. Thank you for participating in the Datadog open source community.
If you would like this issue to remain open:
-
Verify that you can still reproduce the issue in the latest version of this project.
-
Comment that the issue is still reproducible and include updated details requested in the issue template.