"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPreferences = getPreferences; exports.updatePreferences = updatePreferences; const client_1 = require("@prisma/client"); const prisma = new client_1.PrismaClient(); /** * 获取用户偏好设置 */ async function getPreferences(userId) { const userIdNum = parseInt(userId); // 使用 upsert 语义,避免外键约束问题 const preferences = await prisma.userPreference.upsert({ where: { userId: userIdNum }, update: {}, create: { userId: userIdNum, playSpeed: 1.0, quality: 'standard', theme: 'light', }, }); return preferences; } /** * 更新用户偏好设置 */ async function updatePreferences(userId, data) { const userIdNum = parseInt(userId); // 使用 upsert 语义 const existing = await prisma.userPreference.findUnique({ where: { userId: userIdNum }, }); if (existing) { // 更新 return await prisma.userPreference.update({ where: { userId: userIdNum }, data, }); } else { // 创建 return await prisma.userPreference.create({ data: { userId: userIdNum, playSpeed: data.playSpeed ?? 1.0, quality: data.quality ?? 'standard', theme: data.theme ?? 'light', }, }); } }