用户管理与数据操作

This commit is contained in:
tianmo committed 2026-10-27 11:03:36 +08:00
1 parent ed0f20b754
commit 51d3acfbb5
14 files changed
+256 -33

No files matched your search

+7 -10
View File
@@ -211,12 +211,12 @@ export async function requireApiOrAdminAuth(event: H3Event): Promise<void> {
}
}
/** 列表/搜索/删除时按用户过滤;全局 Token 视为管理员,用户 Token 仅见自己的 */
/** 列表/搜索/删除时按用户过滤;管理员和普通用户都只能访问自己的媒体 */
export async function getImageUserFilter(
event: H3Event
): Promise<number | 'admin'> {
if (devBypass(event)) {
return 'admin'
return getPrimaryAdminUserId() ?? 'admin'
}
const userIdFromToken = resolveUserIdFromApiToken(event)
@@ -225,13 +225,10 @@ export async function getImageUserFilter(
}
if (verifyGlobalApiUploadToken(event)) {
return 'admin'
return getPrimaryAdminUserId() ?? 'admin'
}
const user = await requireUserAuth(event)
if (user.role === 'admin') {
return 'admin'
}
return user.id
}
@@ -253,14 +250,14 @@ export async function assertImageOwnership(
}
if (verifyGlobalApiUploadToken(event)) {
const ownerId = userId ?? null
if (ownerId === null || ownerId !== getPrimaryAdminUserId()) {
createApiError(event, 'FORBIDDEN', '无权操作此图片', 403)
}
return
}
const user = await requireUserAuth(event)
if (user.role === 'admin') {
return
}
const ownerId = userId ?? null
if (ownerId === null || ownerId !== user.id) {
createApiError(event, 'FORBIDDEN', '无权操作此图片', 403)