From 1a6cd573cd2cd95651c355c04f5de40d67821428 Mon Sep 17 00:00:00 2001
From: npmrun <1549469775@qq.com>
Date: Thu, 2 Jul 2026 13:18:00 +0800
Subject: [PATCH] feat(llm): add CRUD operations for models and providers,
including user authorization
- Implemented GET, POST, PUT, and DELETE endpoints for managing LLM models and providers.
- Added user authorization checks to ensure only authorized users can access or modify resources.
- Enhanced provider and model retrieval functions to include user-specific data.
- Updated database service functions to handle user IDs for better data isolation.
- Introduced error handling for invalid inputs and unauthorized actions.
---
app/components/TopNav.vue | 3 +-
app/pages/admin.vue | 1 -
app/pages/admin/llm-config/index.vue | 1446 -----------------
app/pages/settings.vue | 241 +++
app/pages/settings/llm-config/index.vue | 1446 +++++++++++++++++
packages/drizzle-pkg/db.sqlite | Bin 282624 -> 282624 bytes
packages/drizzle-pkg/lib/schema/llm.ts | 13 +-
.../migrations/0013_flaky_marvel_boy.sql | 24 +
.../drizzle-pkg/migrations/meta/0013_snapshot.json | 1674 ++++++++++++++++++++
packages/drizzle-pkg/migrations/meta/_journal.json | 7 +
server/api/admin/llm/models/[providerId].get.ts | 14 -
server/api/admin/llm/models/[providerId].post.ts | 29 -
server/api/admin/llm/models/detail/[id].delete.ts | 14 -
server/api/admin/llm/models/detail/[id].put.ts | 24 -
server/api/admin/llm/providers/[id].delete.ts | 14 -
server/api/admin/llm/providers/[id].get.ts | 17 -
server/api/admin/llm/providers/[id].models.get.ts | 50 -
server/api/admin/llm/providers/[id].put.ts | 25 -
server/api/admin/llm/providers/index.get.ts | 15 -
server/api/admin/llm/providers/index.post.ts | 24 -
server/api/llm/models/[providerId].get.ts | 14 +
server/api/llm/models/[providerId].post.ts | 32 +
server/api/llm/models/detail/[id].delete.ts | 14 +
server/api/llm/models/detail/[id].put.ts | 24 +
server/api/llm/providers/[id].delete.ts | 14 +
server/api/llm/providers/[id].get.ts | 17 +
server/api/llm/providers/[id].models.get.ts | 50 +
server/api/llm/providers/[id].put.ts | 25 +
server/api/llm/providers/index.get.ts | 15 +
server/api/llm/providers/index.post.ts | 24 +
server/service/llm/index.ts | 53 +-
31 files changed, 3672 insertions(+), 1691 deletions(-)
delete mode 100644 app/pages/admin/llm-config/index.vue
create mode 100644 app/pages/settings.vue
create mode 100644 app/pages/settings/llm-config/index.vue
create mode 100644 packages/drizzle-pkg/migrations/0013_flaky_marvel_boy.sql
create mode 100644 packages/drizzle-pkg/migrations/meta/0013_snapshot.json
delete mode 100644 server/api/admin/llm/models/[providerId].get.ts
delete mode 100644 server/api/admin/llm/models/[providerId].post.ts
delete mode 100644 server/api/admin/llm/models/detail/[id].delete.ts
delete mode 100644 server/api/admin/llm/models/detail/[id].put.ts
delete mode 100644 server/api/admin/llm/providers/[id].delete.ts
delete mode 100644 server/api/admin/llm/providers/[id].get.ts
delete mode 100644 server/api/admin/llm/providers/[id].models.get.ts
delete mode 100644 server/api/admin/llm/providers/[id].put.ts
delete mode 100644 server/api/admin/llm/providers/index.get.ts
delete mode 100644 server/api/admin/llm/providers/index.post.ts
create mode 100644 server/api/llm/models/[providerId].get.ts
create mode 100644 server/api/llm/models/[providerId].post.ts
create mode 100644 server/api/llm/models/detail/[id].delete.ts
create mode 100644 server/api/llm/models/detail/[id].put.ts
create mode 100644 server/api/llm/providers/[id].delete.ts
create mode 100644 server/api/llm/providers/[id].get.ts
create mode 100644 server/api/llm/providers/[id].models.get.ts
create mode 100644 server/api/llm/providers/[id].put.ts
create mode 100644 server/api/llm/providers/index.get.ts
create mode 100644 server/api/llm/providers/index.post.ts
diff --git a/app/components/TopNav.vue b/app/components/TopNav.vue
index 3cd6e29..0929731 100644
--- a/app/components/TopNav.vue
+++ b/app/components/TopNav.vue
@@ -79,7 +79,8 @@ watch(() => route.path, () => {