Skip to content

Commit e6876aa

Browse files
authored
FIX: enum handling needs to be done on save as well (#1386)
1 parent b5d393b commit e6876aa

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

assets/javascripts/discourse/components/ai-tool-editor-form.gjs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ export default class AiToolEditorForm extends Component {
3434
const mappedParameter = {
3535
...parameter,
3636
};
37-
parameter.isEnum = parameter.enum && parameter.enum.length > 0;
38-
if (!parameter.isEnum) {
37+
mappedParameter.isEnum = parameter.enum && parameter.enum.length > 0;
38+
if (!mappedParameter.isEnum) {
3939
delete mappedParameter.enum;
4040
}
4141
return mappedParameter;
@@ -68,8 +68,19 @@ export default class AiToolEditorForm extends Component {
6868
async save(data) {
6969
this.isSaving = true;
7070

71+
// we injected a isEnum thing, we need to clean it up
72+
const copiedData = JSON.parse(JSON.stringify(data));
73+
if (copiedData.parameters) {
74+
copiedData.parameters.forEach((parameter) => {
75+
if (!parameter.isEnum) {
76+
delete parameter.enum;
77+
}
78+
delete parameter.isEnum;
79+
});
80+
}
81+
7182
try {
72-
await this.args.model.save(data);
83+
await this.args.model.save(copiedData);
7384

7485
this.toasts.success({
7586
data: { message: i18n("discourse_ai.tools.saved") },

0 commit comments

Comments
 (0)