import mongoose from 'mongoose' import type { LearnConfig, LearnProgress } from '~~/shared/learn/config' export interface LearnProfileDocument extends mongoose.Document { user: mongoose.Types.ObjectId xp: number progress: LearnProgress config: LearnConfig createdAt: Date updatedAt: Date } const learnProfileSchema = new mongoose.Schema( { user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true, unique: true }, xp: { type: Number, default: 0 }, progress: { type: mongoose.Schema.Types.Mixed, default: () => ({}) }, config: { tts: { type: Boolean, default: false }, radioLevel: { type: Number, default: 4, min: 1, max: 5 }, voice: { type: String, default: '', trim: true }, audioChallenge: { type: Boolean, default: false }, audioSpeed: { type: Number, default: 1, min: 0.5, max: 2 }, }, }, { timestamps: true, }, ) learnProfileSchema.index({ user: 1 }, { unique: true }) export const LearnProfile = (mongoose.models.LearnProfile as mongoose.Model | undefined) || mongoose.model('LearnProfile', learnProfileSchema)