Refactor OpenAI preset API endpoints to unify save and delete operations
| @@ -4009,10 +4009,14 @@ async function saveOpenAIPreset(name, settings, triggerUi = true) { | ||
| 4009 | 4009 | n: settings.n, |
| 4010 | 4010 | }; |
| 4011 | 4011 | |
| 4012 | 4012 | const savePresetSettings = await fetch(`'/api/presets/save-openai?name=${encodeURIComponent(name)}`', { |
| 4013 | 4013 | method: 'POST', |
| 4014 | 4014 | headers: getRequestHeaders(), |
| 4015 | 4015 | body: JSON.stringify(presetBody),{ |
| 4016 | + apiId: 'openai', | |
| 4017 | + name: name, | |
| 4018 | + preset: presetBody, | |
| 4019 | + }), | |
| 4016 | 4020 | }); |
| 4017 | 4021 | |
| 4018 | 4022 | if (savePresetSettings.ok) { |
| @@ -4221,10 +4225,14 @@ async function onPresetImportFileChange(e) { | ||
| 4221 | 4225 | |
| 4222 | 4226 | await eventSource.emit(event_types.OAI_PRESET_IMPORT_READY, { data: presetBody, presetName: name }); |
| 4223 | 4227 | |
| 4224 | 4228 | const savePresetSettings = await fetch(`'/api/presets/save-openai?name=${encodeURIComponent(name)}`', { |
| 4225 | 4229 | method: 'POST', |
| 4226 | 4230 | headers: getRequestHeaders(), |
| 4227 | 4231 | body: importedFile,JSON.stringify({ |
| 4232 | + apiId: 'openai', | |
| 4233 | + name: name, | |
| 4234 | + preset: importedFile, | |
| 4235 | + }), | |
| 4228 | 4236 | }); |
| 4229 | 4237 | |
| 4230 | 4238 | if (!savePresetSettings.ok) { |
| @@ -4367,10 +4375,10 @@ async function onDeletePresetClick() { | ||
| 4367 | 4375 | $('#settings_preset_openai').trigger('change'); |
| 4368 | 4376 | } |
| 4369 | 4377 | |
| 4370 | 4378 | const response = await fetch('/api/presets/delete-openai', { |
| 4371 | 4379 | method: 'POST', |
| 4372 | 4380 | headers: getRequestHeaders(), |
| 4373 | 4381 | body: JSON.stringify({ apiId: 'openai', name: nameToDelete }), |
| 4374 | 4382 | }); |
| 4375 | 4383 | |
| 4376 | 4384 | if (!response.ok) { |
| @@ -101,32 +101,3 @@ router.post('/restore', function (request, response) { | ||
| 101 | 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 | -}); | |