import mongoose, { Schema, Document } from 'mongoose';

export interface IGame extends Document {
  type: 'sudoku';
  difficulty: 'easy' | 'medium' | 'hard';
  puzzle: string; // 81-char string, 0 for empty
  solution: string; // 81-char string, correct answer
  is_active: boolean;
  createdAt: Date;
}

const gameSchema = new Schema<IGame>({
  type: { type: String, enum: ['sudoku'], required: true },
  difficulty: { type: String, enum: ['easy', 'medium', 'hard'], required: true },
  puzzle: { type: String, required: true },
  solution: { type: String, required: true },
  is_active: { type: Boolean, default: true },
  createdAt: { type: Date, default: Date.now },
});

gameSchema.index({ type: 1, difficulty: 1 });

export default mongoose.model<IGame>('Game', gameSchema);
