const mongoose = require('mongoose'); const serviceSchema = new mongoose.Schema({ name: { type: String, required: true, trim: true }, description: { type: String, required: true }, shortDescription: { type: String, required: true, maxlength: 150 }, icon: { type: String, required: true }, category: { type: String, required: true, enum: ['development', 'design', 'consulting', 'marketing', 'maintenance'] }, features: [{ name: String, description: String, included: { type: Boolean, default: true } }], pricing: { basePrice: { type: Number, required: true, min: 0 }, currency: { type: String, default: 'KRW' }, priceType: { type: String, enum: ['fixed', 'hourly', 'project'], default: 'project' }, priceRange: { min: Number, max: Number } }, estimatedTime: { min: { type: Number, required: true }, max: { type: Number, required: true }, unit: { type: String, enum: ['hours', 'days', 'weeks', 'months'], default: 'days' } }, isActive: { type: Boolean, default: true }, featured: { type: Boolean, default: false }, order: { type: Number, default: 0 }, portfolio: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Portfolio' }], tags: [{ type: String, trim: true }], seo: { metaTitle: String, metaDescription: String, keywords: [String] } }, { timestamps: true }); serviceSchema.index({ name: 'text', description: 'text', tags: 'text' }); serviceSchema.index({ category: 1, featured: -1, order: 1 }); module.exports = mongoose.model('Service', serviceSchema);