import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
import { Types, Document } from "mongoose";

export type RewardTransactionDocument = RewardTransaction & Document;

@Schema({ timestamps: true })
export class RewardTransaction {
  @Prop({ type: Types.ObjectId, ref: "Users", required: true })
  userId: Types.ObjectId;

  @Prop({ type: Types.ObjectId, ref: "Invoice", required: true })
  invoiceId: Types.ObjectId;

  @Prop({ required: true })
  rewardAmount: number;

  @Prop({ enum: ["cashback", "bonus", "referral"], default: "cashback" })
  type: string;

  @Prop({ default: "pending" })
  status: string;
}

export const RewardTransactionSchema =
  SchemaFactory.createForClass(RewardTransaction);
