35 lines
888 B
C#
35 lines
888 B
C#
using Microsoft.EntityFrameworkCore;
|
|
using OnlyPrompt.Backend.Database.Core;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace OnlyPrompt.Backend.Database.Models
|
|
{
|
|
[PrimaryKey(nameof(ReviewerId), nameof(PromptId))]
|
|
public class ReviewModel : ITrackableEntity
|
|
{
|
|
public DateTime CreatedAt { get; set; }
|
|
public DateTime UpdatedAt { get; set; }
|
|
|
|
[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;
|
|
}
|
|
}
|