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

// Verwaltbare Kategorienliste fürs Portfolio (Dropdown beim Anlegen/
// Bearbeiten eines Beitrags + sortierbare Filter-Buttons auf der
// öffentlichen Portfolio-Seite) — vorher war "category" auf PortfolioItem
// reine Freitext-Eingabe ohne zentrale Liste.
export interface PortfolioCategoryDoc {
  _id: string;
  name: string;
  sortOrder: number;
  createdAt: Date;
}

const portfolioCategorySchema = new Schema<PortfolioCategoryDoc>(
  {
    name: { type: String, required: true, trim: true, maxlength: 60 },
    sortOrder: { type: Number, default: 0 },
  },
  { timestamps: { createdAt: true, updatedAt: false } }
);

export const PortfolioCategory =
  (models.PortfolioCategory as mongoose.Model<PortfolioCategoryDoc>) ||
  model<PortfolioCategoryDoc>("PortfolioCategory", portfolioCategorySchema);
