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

export type Dimension = 'EI' | 'SN' | 'TF' | 'JP';
export type Direction = 'positive' | 'negative';

export interface IPsychometricStatementDocument extends Document {
  statement_text: string;
  dimension: Dimension;
  direction: Direction;
  sequence: number | null;
  createdAt: Date;
  updatedAt: Date;
}

const psychometricStatementSchema = new Schema<IPsychometricStatementDocument>(
  {
    statement_text: { type: String, required: true, unique: true, trim: true },
    dimension: { type: String, required: true, enum: ['EI', 'SN', 'TF', 'JP'] },
    direction: { type: String, required: true, enum: ['positive', 'negative'] },
    sequence: { type: Number, default: null },
  },
  { timestamps: true },
);

export default mongoose.model<IPsychometricStatementDocument>('PsychometricStatement', psychometricStatementSchema);
