Refactor OpenAI preset API endpoints to unify save and delete operations
| @@ -4009,10 +4009,14 @@ async function saveOpenAIPreset(name, settings, triggerUi = true) { | |||
| 4009 | n: settings.n, | 4009 | n: settings.n, |
| 4010 | }; | 4010 | }; |
| 4011 | 4011 | ||
| 4012 | const savePresetSettings = await fetch(`/api/presets/save-openai?name=${encodeURIComponent(name)}`, { | 4012 | const savePresetSettings = await fetch('/api/presets/save', { |
| 4013 | method: 'POST', | 4013 | method: 'POST', |
| 4014 | headers: getRequestHeaders(), | 4014 | headers: getRequestHeaders(), |
| 4015 | body: JSON.stringify(presetBody), | 4015 | body: JSON.stringify({ |
| 4016 | apiId: 'openai', | ||
| 4017 | name: name, | ||
| 4018 | preset: presetBody, | ||
| 4019 | }), | ||
| 4016 | }); | 4020 | }); |
| 4017 | 4021 | ||
| 4018 | if (savePresetSettings.ok) { | 4022 | if (savePresetSettings.ok) { |
| @@ -4221,10 +4225,14 @@ async function onPresetImportFileChange(e) { | |||
| 4221 | 4225 | ||
| 4222 | await eventSource.emit(event_types.OAI_PRESET_IMPORT_READY, { data: presetBody, presetName: name }); | 4226 | await eventSource.emit(event_types.OAI_PRESET_IMPORT_READY, { data: presetBody, presetName: name }); |
| 4223 | 4227 | ||
| 4224 | const savePresetSettings = await fetch(`/api/presets/save-openai?name=${encodeURIComponent(name)}`, { | 4228 | const savePresetSettings = await fetch('/api/presets/save', { |
| 4225 | method: 'POST', | 4229 | method: 'POST', |
| 4226 | headers: getRequestHeaders(), | 4230 | headers: getRequestHeaders(), |
| 4227 | body: importedFile, | 4231 | body: JSON.stringify({ |
| 4232 | apiId: 'openai', | ||
| 4233 | name: name, | ||
| 4234 | preset: importedFile, | ||
| 4235 | }), | ||
| 4228 | }); | 4236 | }); |
| 4229 | 4237 | ||
| 4230 | if (!savePresetSettings.ok) { | 4238 | if (!savePresetSettings.ok) { |
| @@ -4367,10 +4375,10 @@ async function onDeletePresetClick() { | |||
| 4367 | $('#settings_preset_openai').trigger('change'); | 4375 | $('#settings_preset_openai').trigger('change'); |
| 4368 | } | 4376 | } |
| 4369 | 4377 | ||
| 4370 | const response = await fetch('/api/presets/delete-openai', { | 4378 | const response = await fetch('/api/presets/delete', { |
| 4371 | method: 'POST', | 4379 | method: 'POST', |
| 4372 | headers: getRequestHeaders(), | 4380 | headers: getRequestHeaders(), |
| 4373 | body: JSON.stringify({ name: nameToDelete }), | 4381 | body: JSON.stringify({ apiId: 'openai', name: nameToDelete }), |
| 4374 | }); | 4382 | }); |
| 4375 | 4383 | ||
| 4376 | if (!response.ok) { | 4384 | if (!response.ok) { |
| @@ -101,32 +101,3 @@ router.post('/restore', function (request, response) { | |||
| 101 | return response.sendStatus(500); | 101 | return response.sendStatus(500); |
| 102 | } | 102 | } |
| 103 | }); | 103 | }); |
| 104 | |||
| 105 | // TODO: Merge with /api/presets/save | ||
| 106 | router.post('/save-openai', function (request, response) { | ||
| 107 | if (!request.body || typeof request.query.name !== 'string') return response.sendStatus(400); | ||
| 108 | const name = sanitize(request.query.name); | ||
| 109 | if (!name) return response.sendStatus(400); | ||
| 110 | |||
| 111 | const fullpath = path.join(request.user.directories.openAI_Settings, `${name}.json`); | ||
| 112 | writeFileAtomicSync(fullpath, JSON.stringify(request.body, null, 4), 'utf-8'); | ||
| 113 | return response.send({ name }); | ||
| 114 | }); | ||
| 115 | |||
| 116 | // TODO: Merge with /api/presets/delete | ||
| 117 | router.post('/delete-openai', function (request, response) { | ||
| 118 | if (!request.body || !request.body.name) { | ||
| 119 | return response.sendStatus(400); | ||
| 120 | } | ||
| 121 | |||
| 122 | const name = sanitize(request.body.name); | ||
| 123 | if (!name) return response.sendStatus(400); | ||
| 124 | const pathToFile = path.join(request.user.directories.openAI_Settings, `${name}.json`); | ||
| 125 | |||
| 126 | if (fs.existsSync(pathToFile)) { | ||
| 127 | fs.unlinkSync(pathToFile); | ||
| 128 | return response.send({ ok: true }); | ||
| 129 | } | ||
| 130 | |||
| 131 | return response.send({ error: true }); | ||
| 132 | }); | ||