import mongoose, { Schema, models, model } from "mongoose";

// Bewusst minimal/anonym — kein Cookie, keine IP, keine User-Agent-Erfassung.
// Reicht für "welche Seiten laufen gut" (SEO-Statistiken), ist aber keine
// vollständige Analytics-Lösung (keine Unique-Visitor-Zählung, keine
// Session-Dauer o. Ä.) — dafür wäre eine echte Analytics-Anbindung nötig.
export interface PageViewDoc {
  _id: string;
  path: string;
  locale: "de" | "en";
  referrer: string;
  createdAt: Date;
}

const pageViewSchema = new Schema<PageViewDoc>(
  {
    path: { type: String, required: true, trim: true, maxlength: 300, index: true },
    locale: { type: String, enum: ["de", "en"], required: true },
    referrer: { type: String, default: "", trim: true, maxlength: 300 },
  },
  { timestamps: { createdAt: true, updatedAt: false } }
);

pageViewSchema.index({ createdAt: 1 });

export const PageView =
  (models.PageView as mongoose.Model<PageViewDoc>) || model<PageViewDoc>("PageView", pageViewSchema);
