// /components/expenses/expenseModel.js 'use strict'; const mongoose = require('mongoose'); const expenseSchema = new mongoose.Schema({ title: { type: String, required: true, trim: true }, /** Free-form category label (e.g. "اجاره", "قبوض", "تجهیزات") */ category: { type: String, trim: true, default: 'عمومی' }, amount: { type: Number, required: true, min: 0 }, /** Date the expense applies to — used to bucket expenses into date-range/monthly reports */ date: { type: Date, required: true }, notes: { type: String, trim: true, maxlength: 2000 }, recordedBy: { type: mongoose.Schema.Types.ObjectId, ref: 'User' } }, { timestamps: true }); expenseSchema.index({ date: -1 }); module.exports = mongoose.model('Expense', expenseSchema);