open-webui/src/lib/apis/prune.ts

67 lines
1.8 KiB
TypeScript
Raw Normal View History

Feat/prune orphaned data (#16) * feat: Add prune orphaned data functionality * feat: Add prune orphaned data functionality * feat: Add prune orphaned data functionality * fix: Restyle PruneDataDialog modal * feat: Add comprehensive prune orphaned data functionality and fix circular import * feat: Add comprehensive prune orphaned data functionality and fix circular import * feat: Add comprehensive prune orphaned data functionality and fix database size issues * feat: Add comprehensive prune orphaned data functionality and fix database size issues * feat: Add comprehensive prune orphaned data functionality and fix database size issues * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update folders.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Delete backend/open_webui/test/test_prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update PruneDataDialog.svelte * Update prune.ts * Update Database.svelte * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update Database.svelte * Update prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update files.py * Update prompts.py * Update notes.py * Update models.py * Update access_control.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-10 21:40:01 +00:00
import { WEBUI_API_BASE_URL } from '$lib/constants';
export const pruneData = async (
token: string,
days: number | null,
exempt_archived_chats: boolean,
exempt_chats_in_folders: boolean,
delete_orphaned_chats: boolean = true,
delete_orphaned_tools: boolean = false,
delete_orphaned_functions: boolean = false,
delete_orphaned_prompts: boolean = true,
delete_orphaned_knowledge_bases: boolean = true,
delete_orphaned_models: boolean = true,
delete_orphaned_notes: boolean = true,
2025-08-12 10:48:05 +00:00
delete_orphaned_folders: boolean = true,
2025-08-22 13:38:41 +00:00
audio_cache_max_age_days: number | null = 30,
delete_inactive_users_days: number | null = null,
exempt_admin_users: boolean = true,
2025-08-22 14:16:42 +00:00
exempt_pending_users: boolean = true,
run_vacuum: boolean = false,
2025-08-22 14:29:51 +00:00
dry_run: boolean // Removed default value to ensure explicit passing
Feat/prune orphaned data (#16) * feat: Add prune orphaned data functionality * feat: Add prune orphaned data functionality * feat: Add prune orphaned data functionality * fix: Restyle PruneDataDialog modal * feat: Add comprehensive prune orphaned data functionality and fix circular import * feat: Add comprehensive prune orphaned data functionality and fix circular import * feat: Add comprehensive prune orphaned data functionality and fix database size issues * feat: Add comprehensive prune orphaned data functionality and fix database size issues * feat: Add comprehensive prune orphaned data functionality and fix database size issues * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update folders.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Delete backend/open_webui/test/test_prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update PruneDataDialog.svelte * Update prune.ts * Update Database.svelte * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update Database.svelte * Update prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update files.py * Update prompts.py * Update notes.py * Update models.py * Update access_control.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-10 21:40:01 +00:00
) => {
let error = null;
const res = await fetch(`${WEBUI_API_BASE_URL}/prune/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${token}`
},
body: JSON.stringify({
days,
exempt_archived_chats,
exempt_chats_in_folders,
delete_orphaned_chats,
delete_orphaned_tools,
delete_orphaned_functions,
delete_orphaned_prompts,
delete_orphaned_knowledge_bases,
delete_orphaned_models,
delete_orphaned_notes,
2025-08-12 10:48:05 +00:00
delete_orphaned_folders,
2025-08-22 13:38:41 +00:00
audio_cache_max_age_days,
delete_inactive_users_days,
exempt_admin_users,
2025-08-22 14:16:42 +00:00
exempt_pending_users,
run_vacuum,
2025-08-22 14:16:42 +00:00
dry_run
Feat/prune orphaned data (#16) * feat: Add prune orphaned data functionality * feat: Add prune orphaned data functionality * feat: Add prune orphaned data functionality * fix: Restyle PruneDataDialog modal * feat: Add comprehensive prune orphaned data functionality and fix circular import * feat: Add comprehensive prune orphaned data functionality and fix circular import * feat: Add comprehensive prune orphaned data functionality and fix database size issues * feat: Add comprehensive prune orphaned data functionality and fix database size issues * feat: Add comprehensive prune orphaned data functionality and fix database size issues * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update folders.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Update prune.py * Delete backend/open_webui/test/test_prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update PruneDataDialog.svelte * Update prune.ts * Update Database.svelte * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update prune.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update Database.svelte * Update prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte * Update prune.py * Update prune.ts * Update PruneDataDialog.svelte * Update files.py * Update prompts.py * Update notes.py * Update models.py * Update access_control.py * Update PruneDataDialog.svelte * Update PruneDataDialog.svelte --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-08-10 21:40:01 +00:00
})
})
.then(async (res) => {
if (!res.ok) throw await res.json();
return res.json();
})
.catch((err) => {
error = err;
console.log(err);
return null;
});
if (error) {
throw error;
}
return res;
};