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

@Schema({ _id: false })
export class EmailTemplateContent {
  @Prop({ required: true })
  subject: string;

  @Prop({ required: true })
  body: string;
}

export const EmailTemplateContentSchema =
  SchemaFactory.createForClass(EmailTemplateContent);

@Schema({ timestamps: true })
export class EmailTemplates {
  @Prop({ required: true, unique: true })
  name: string;

  @Prop({ type: EmailTemplateContentSchema, required: true })
  en: EmailTemplateContent;
  @Prop({ type: EmailTemplateContentSchema })
  hi: EmailTemplateContent;

  @Prop({ type: [String], default: [] })
  variables: string[];
}

export type EmailTemplatesDocument = HydratedDocument<EmailTemplates>;

export const EmailTemplatesModel = SchemaFactory.createForClass(EmailTemplates);
