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

// Content pages managed from the admin panel via GET/PUT /api/admin/legal/:type
export const CONTENT_PAGE_TYPES = ['privacy', 'terms', 'user-manual'] as const;
export type ContentPageType = (typeof CONTENT_PAGE_TYPES)[number];

export const CONTENT_PAGE_TITLES: Record<ContentPageType, string> = {
  privacy: 'Privacy Policy',
  terms: 'Terms & Conditions',
  'user-manual': 'User Manual',
};

export interface ILegalPage extends Document {
  type: string; // e.g., 'terms', 'privacy', 'refund', etc.
  title: string;
  content: string;
  updatedAt: Date;
}

const legalPageSchema = new Schema<ILegalPage>({
  type: { type: String, required: true, unique: true, trim: true, lowercase: true, index: true },
  title: { type: String, required: true, trim: true },
  content: { type: String, required: true },
  updatedAt: { type: Date, default: Date.now },
});

export default mongoose.model<ILegalPage>('LegalPage', legalPageSchema);
