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

// Vorlagen fürs schnelle Ausfüllen im Preisvorschlags-Formular eines Auftrags
// (PriceProposalAdmin) — bewusst getrennt von Service/Bundle (das sind
// öffentliche Marketing-Pakete auf der Angebote-Seite), hier geht es um
// wiederkehrende interne Preisvorschlags-Kombinationen.
export interface PriceTemplateDoc {
  _id: string;
  name: string;
  defaultAmount: number;
  note: string;
  sortOrder: number;
  createdAt: Date;
  updatedAt: Date;
}

const priceTemplateSchema = new Schema<PriceTemplateDoc>(
  {
    name: { type: String, required: true, trim: true, maxlength: 150 },
    defaultAmount: { type: Number, required: true, min: 0 },
    note: { type: String, default: "", trim: true, maxlength: 500 },
    sortOrder: { type: Number, default: 0 },
  },
  { timestamps: true }
);

export const PriceTemplate =
  (models.PriceTemplate as mongoose.Model<PriceTemplateDoc>) ||
  model<PriceTemplateDoc>("PriceTemplate", priceTemplateSchema);
