用户组增加权限控制

This commit is contained in:
mtvpls
2026-04-22 16:22:17 +08:00
parent 2734de0c85
commit 0916e4ff08
61 changed files with 617 additions and 165 deletions
-4
View File
@@ -58,7 +58,6 @@ export async function POST(request: NextRequest) {
EnableVideoCardEntry,
EnablePlayPageEntry,
EnableAIComments,
AllowRegularUsers,
Temperature,
MaxTokens,
SystemPrompt,
@@ -95,7 +94,6 @@ export async function POST(request: NextRequest) {
EnableVideoCardEntry: boolean;
EnablePlayPageEntry: boolean;
EnableAIComments: boolean;
AllowRegularUsers: boolean;
Temperature?: number;
MaxTokens?: number;
SystemPrompt?: string;
@@ -135,7 +133,6 @@ export async function POST(request: NextRequest) {
typeof EnableVideoCardEntry !== 'boolean' ||
typeof EnablePlayPageEntry !== 'boolean' ||
typeof EnableAIComments !== 'boolean' ||
typeof AllowRegularUsers !== 'boolean' ||
(Temperature !== undefined && typeof Temperature !== 'number') ||
(MaxTokens !== undefined && typeof MaxTokens !== 'number') ||
(SystemPrompt !== undefined && typeof SystemPrompt !== 'string') ||
@@ -185,7 +182,6 @@ export async function POST(request: NextRequest) {
EnableVideoCardEntry,
EnablePlayPageEntry,
EnableAIComments,
AllowRegularUsers,
Temperature,
MaxTokens,
SystemPrompt,
+6 -1
View File
@@ -5,6 +5,7 @@ import { NextRequest, NextResponse } from 'next/server';
import { getAuthInfoFromCookie } from '@/lib/auth';
import { getConfig } from '@/lib/config';
import { db } from '@/lib/db';
import { sanitizeFeaturePermissions } from '@/lib/feature-permissions';
export const runtime = 'nodejs';
@@ -356,11 +357,13 @@ export async function POST(request: NextRequest) {
}
case 'userGroup': {
// 用户组管理操作
const { groupAction, groupName, enabledApis } = body as {
const { groupAction, groupName, enabledApis, permissions } = body as {
groupAction: 'add' | 'edit' | 'delete';
groupName: string;
enabledApis?: string[];
permissions?: string[];
};
const normalizedPermissions = sanitizeFeaturePermissions(permissions);
if (!adminConfig.UserConfig.Tags) {
adminConfig.UserConfig.Tags = [];
@@ -375,6 +378,7 @@ export async function POST(request: NextRequest) {
adminConfig.UserConfig.Tags.push({
name: groupName,
enabledApis: enabledApis || [],
permissions: normalizedPermissions,
});
break;
}
@@ -384,6 +388,7 @@ export async function POST(request: NextRequest) {
return NextResponse.json({ error: '用户组不存在' }, { status: 404 });
}
adminConfig.UserConfig.Tags[groupIndex].enabledApis = enabledApis || [];
adminConfig.UserConfig.Tags[groupIndex].permissions = normalizedPermissions;
break;
}
case 'delete': {