[SBI] Ignore unknown enum values and continue parsing (#2622) (#2649)

* [SBI] Ignore unknown enum values and continue parsing (#2622)

* [SBI] Reject empty enum lists (#2622)

Enum lists that are empty due to ignoring
unsupported enum values are also rejected.

* Revert changing `generator.sh`
This commit is contained in:
Brias 2023-10-26 15:44:51 +02:00 committed by GitHub
parent e3c2fd00d9
commit 3c6811a322
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
72 changed files with 978 additions and 366 deletions

View file

@ -143,10 +143,15 @@ OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor
}
localEnum = OpenAPI_ssc_mode_FromString(ssc_modes_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_ssc_mode_FromString(ssc_modes_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"ssc_modes\" is not supported. Ignoring it ...",
ssc_modes_local->valuestring);
} else {
OpenAPI_list_add(ssc_modesList, (void *)localEnum);
}
OpenAPI_list_add(ssc_modesList, (void *)localEnum);
}
if (ssc_modesList->count == 0) {
ogs_error("OpenAPI_dnn_route_selection_descriptor_parseFromJSON() failed: Expected ssc_modesList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}
@ -168,10 +173,15 @@ OpenAPI_dnn_route_selection_descriptor_t *OpenAPI_dnn_route_selection_descriptor
}
localEnum = OpenAPI_pdu_session_type_FromString(pdu_sess_types_local->valuestring);
if (!localEnum) {
ogs_error("OpenAPI_pdu_session_type_FromString(pdu_sess_types_local->valuestring) failed");
goto end;
ogs_info("Enum value \"%s\" for field \"pdu_sess_types\" is not supported. Ignoring it ...",
pdu_sess_types_local->valuestring);
} else {
OpenAPI_list_add(pdu_sess_typesList, (void *)localEnum);
}
OpenAPI_list_add(pdu_sess_typesList, (void *)localEnum);
}
if (pdu_sess_typesList->count == 0) {
ogs_error("OpenAPI_dnn_route_selection_descriptor_parseFromJSON() failed: Expected pdu_sess_typesList to not be empty (after ignoring unsupported enum values).");
goto end;
}
}