import { Model, model, Schema } from "mongoose";
import { IFuelRequest } from "../interfaces/models/fuelRequestInterface";

const FuelRequestSchema = new Schema<IFuelRequest>(
  {
    senderId: {
      type: Schema.Types.ObjectId,
      ref: "User",
      required: true,
      index: true,
    },
    receiverId: {
      type: Schema.Types.ObjectId,
      ref: "User",
      required: true,
      index: true,
    },
    amountCents: {
      type: Number,
      required: true,
      min: 1,
    },
    message: {
      type: String,
      trim: true,
      maxlength: 255,
      default: null,
    },
    status: {
      type: String,
      enum: ["pending", "accepted", "rejected"],
      default: "pending",
      required: true,
      index: true,
    },
  },
  { timestamps: true },
);

const FuelRequestModel: Model<IFuelRequest> = model<IFuelRequest>(
  "FuelRequest",
  FuelRequestSchema,
);

export default FuelRequestModel;
