편지 컬렉션

import { Schema, model } from 'mongoose';

interface Letter {
  id: string; 
  email: string;
  name: string; 
  content: string; 
  reply: string; 
  createdAt: Date; 
}

// 스키마 정의: Letter Schema
const LetterSchema = new Schema<Letter>(
  {
    id: {
      type: String,
      required: true,
      unique: true,
    },
    email: {
      type: String,
      required: true,
      unique: true,
    },
    name: {
      type: String,
      required: true,
    },
    content: {
      type: String,
      required: true,
    },
    reply: {
      type: String,
      required: true,
    },
    createdAt: {
      type: Date,
      required: true,
    },
  },
  {
    timestamps: true, // 생성 및 수정 일자 자동 기록
  }
);

const LetterModel = models.Letters || model<Letter>('Letters', LetterSchema);

export { LetterModel };
export type { Letter };

이메일 인증 스키마

const EmailVerificationSchema = new Schema<EmailVerification>({
  email: {
    type: String,
    required: true,
    unique: true,
  },
  verificationToken: {
    type: String,
    required: true,
    unique: true,
  },
  isVerified: {
    type: Boolean,
    required: true,
  },
  createdAt: {
    type: Date,
    required: true,
  },
});