FIX: enum handling needs to be done on save as well (#1386)

This commit is contained in:
Sam 2025-05-30 17:58:16 +10:00 committed by GitHub
parent b5d393b4bc
commit e6876aabd5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -34,8 +34,8 @@ export default class AiToolEditorForm extends Component {
const mappedParameter = {
...parameter,
};
parameter.isEnum = parameter.enum && parameter.enum.length > 0;
if (!parameter.isEnum) {
mappedParameter.isEnum = parameter.enum && parameter.enum.length > 0;
if (!mappedParameter.isEnum) {
delete mappedParameter.enum;
}
return mappedParameter;
@ -68,8 +68,19 @@ export default class AiToolEditorForm extends Component {
async save(data) {
this.isSaving = true;
// we injected a isEnum thing, we need to clean it up
const copiedData = JSON.parse(JSON.stringify(data));
if (copiedData.parameters) {
copiedData.parameters.forEach((parameter) => {
if (!parameter.isEnum) {
delete parameter.enum;
}
delete parameter.isEnum;
});
}
try {
await this.args.model.save(data);
await this.args.model.save(copiedData);
this.toasts.success({
data: { message: i18n("discourse_ai.tools.saved") },