mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Apply preset manager for instruct presets
This commit is contained in:
		
							
								
								
									
										30
									
								
								server.js
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								server.js
									
									
									
									
									
								
							@@ -3679,14 +3679,14 @@ app.post("/save_preset", jsonParser, function (request, response) {
 | 
			
		||||
        return response.sendStatus(400);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const filename = `${name}.settings`;
 | 
			
		||||
    const directory = getPresetFolderByApiId(request.body.apiId);
 | 
			
		||||
    const settings = getPresetSettingsByAPI(request.body.apiId);
 | 
			
		||||
    const filename = name + settings.extension;
 | 
			
		||||
 | 
			
		||||
    if (!directory) {
 | 
			
		||||
    if (!settings.folder) {
 | 
			
		||||
        return response.sendStatus(400);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const fullpath = path.join(directory, filename);
 | 
			
		||||
    const fullpath = path.join(settings.folder, filename);
 | 
			
		||||
    writeFileAtomicSync(fullpath, JSON.stringify(request.body.preset, null, 4), 'utf-8');
 | 
			
		||||
    return response.send({ name });
 | 
			
		||||
});
 | 
			
		||||
@@ -3697,16 +3697,16 @@ app.post("/delete_preset", jsonParser, function (request, response) {
 | 
			
		||||
        return response.sendStatus(400);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const filename = `${name}.settings`;
 | 
			
		||||
    const directory = getPresetFolderByApiId(request.body.apiId);
 | 
			
		||||
    const settings = getPresetSettingsByAPI(request.body.apiId);
 | 
			
		||||
    const filename = name + settings.extension;
 | 
			
		||||
 | 
			
		||||
    if (!directory) {
 | 
			
		||||
    if (!settings.folder) {
 | 
			
		||||
        return response.sendStatus(400);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const fullpath = path.join(directory, filename);
 | 
			
		||||
    const fullpath = path.join(settings.folder, filename);
 | 
			
		||||
 | 
			
		||||
    if (fs.existsSync) {
 | 
			
		||||
    if (fs.existsSync(fullpath)) {
 | 
			
		||||
        fs.unlinkSync(fullpath);
 | 
			
		||||
        return response.sendStatus(200);
 | 
			
		||||
    } else {
 | 
			
		||||
@@ -3726,17 +3726,19 @@ app.post("/savepreset_openai", jsonParser, function (request, response) {
 | 
			
		||||
    return response.send({ name });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function getPresetFolderByApiId(apiId) {
 | 
			
		||||
function getPresetSettingsByAPI(apiId) {
 | 
			
		||||
    switch (apiId) {
 | 
			
		||||
        case 'kobold':
 | 
			
		||||
        case 'koboldhorde':
 | 
			
		||||
            return directories.koboldAI_Settings;
 | 
			
		||||
            return { folder: directories.koboldAI_Settings, extension: '.settings' };
 | 
			
		||||
        case 'novel':
 | 
			
		||||
            return directories.novelAI_Settings;
 | 
			
		||||
            return { folder: directories.novelAI_Settings, extension: '.settings' };
 | 
			
		||||
        case 'textgenerationwebui':
 | 
			
		||||
            return directories.textGen_Settings;
 | 
			
		||||
            return { folder: directories.textGen_Settings, extension: '.settings' };
 | 
			
		||||
        case 'instruct':
 | 
			
		||||
            return { folder: directories.instruct, extension: '.json' };
 | 
			
		||||
        default:
 | 
			
		||||
            return null;
 | 
			
		||||
            return { folder: null, extension: null };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user