Files
BYW-VoiceHub/VoiceHub-main/server/api/auth/unbind.post.ts
T
Henry_Du 4ce4649aaf
Build VoiceHub FPK / build-fpk (push) Failing after 56m5s
Build and Push Docker Image / build-and-push (push) Canceled after 1h9m35s
初次提交
2026-09-06 08:19:02 +08:00

30 lines
818 B
TypeScript

import { db, eq, and, userIdentities } from '~/drizzle/db'
export default defineEventHandler(async (event) => {
const user = event.context.user
if (!user) {
throw createError({ statusCode: 401, message: '未授权访问' })
}
const body = await readBody(event)
const { provider, id } = body
if (!provider) {
throw createError({ statusCode: 400, message: '缺少提供商参数' })
}
// 如果提供了 ID,按 ID 解绑
if (id) {
await db
.delete(userIdentities)
.where(and(eq(userIdentities.id, id), eq(userIdentities.userId, user.id)))
} else {
// 否则解绑该 Provider 下的所有绑定
await db
.delete(userIdentities)
.where(and(eq(userIdentities.userId, user.id), eq(userIdentities.provider, provider)))
}
return { success: true }
})