import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'
import { Document } from 'mongoose'

export type ContributionDocument = Contribution & Document

@Schema({ timestamps: true })
export class Contribution {
  @Prop({ required: true, index: true })
  userId: string

  @Prop({ required: true })
  interviewId: string

  @Prop({ required: true })
  company: string       // 公司名称

  @Prop({ required: true })
  position: string      // 岗位

  @Prop({ default: '' })
  rounds: string        // 面试轮次描述

  @Prop({ type: [String], default: [] })
  questions: string[]   // 遇到的面试题（脱敏）

  @Prop({ default: '' })
  experience: string    // 面试经验/感受

  @Prop({ type: [String], default: [] })
  tags: string[]        // 标签（如"算法题多"、"重视项目经历"）

  @Prop({ default: false })
  verified: boolean     // 是否经过审核

  // === P0: AI 结构化字段 ===
  @Prop({ default: false })
  aiProcessed: boolean  // AI 是否已处理

  @Prop({ type: [{
    content: String,
    type: String,        // 技术题/行为题/场景题/算法题
    difficulty: String,  // easy/medium/hard
    referenceAnswer: String,
    tags: [String],
    frequency: Number,
  }], default: [] })
  structuredQuestions: any[]  // AI 解析后的结构化题目

  @Prop({ default: '' })
  aiSummary: string     // AI 生成的面试总结（关键词、难度评估、准备建议）
}

export const ContributionSchema = SchemaFactory.createForClass(Contribution)