import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
import mongoose from "mongoose";
import { User } from "../users/users.model";

export type FeatureRequestModule = FeatureRequest & Document;

@Schema({ timestamps: true })
export class FeatureRequest {
    _id?: string | mongoose.Types.ObjectId;

    @Prop({
        type: mongoose.Schema.Types.ObjectId,
        required: [true, 'User is required'],
        ref: 'User',
    })
    user: User;

	@Prop({ type: String, required: [true, 'Description is required'] })
	description: string;

    @Prop({ type: String, enum: ['Open', 'Under Review', 'In Progress', 'Rejected', 'Completed'], default: 'Open' })
    status: 'Open' | 'Under Review' | 'In Progress' | 'Rejected' | 'Completed';

    createdAt: Date;
    updatedAt: Date;
}

export const FeatureRequestSchema = SchemaFactory.createForClass(FeatureRequest);
