using Microsoft.EntityFrameworkCore; using OnlyPrompt.Backend.Database.Core; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace OnlyPrompt.Backend.Database.Models { [Index(nameof(ReviewerId), nameof(PromptId), IsUnique = true)] public class ReviewModel : EntityBase { [Required] [ForeignKey(nameof(Reviewer))] public Guid ReviewerId { get; set; } [DeleteBehavior(DeleteBehavior.Cascade)] public virtual UserModel Reviewer { get; set; } [Required] [ForeignKey(nameof(Prompt))] public Guid PromptId { get; set; } [DeleteBehavior(DeleteBehavior.Cascade)] public virtual PromptModel Prompt { get; set; } [Range(1, 5)] public int Rating { get; set; } [MaxLength(200)] public string? Comment { get; set; } = null; } }