103 lines
2.2 KiB
C#
103 lines
2.2 KiB
C#
using System.ComponentModel.DataAnnotations;
|
||
using System.ComponentModel.DataAnnotations.Schema;
|
||
using System.Text.Json.Serialization;
|
||
|
||
namespace Blahblah.FlowerStory.Server.Data.Model;
|
||
|
||
/// <summary>
|
||
/// 照片对象
|
||
/// </summary>
|
||
[Table("photos")]
|
||
public class PhotoItem
|
||
{
|
||
/// <summary>
|
||
/// 自增 id,主键
|
||
/// </summary>
|
||
[Column("pid")]
|
||
[Key]
|
||
[Required]
|
||
public int Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联人 id
|
||
/// </summary>
|
||
[Column("uid")]
|
||
[ForeignKey(nameof(Owner))]
|
||
[Required]
|
||
public required int OwnerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联人
|
||
/// </summary>
|
||
[JsonIgnore]
|
||
public UserItem? Owner { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联花草 id
|
||
/// </summary>
|
||
[Column("fid")]
|
||
[ForeignKey(nameof(Flower))]
|
||
public int? FlowerId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联的花草
|
||
/// </summary>
|
||
[JsonIgnore]
|
||
public FlowerItem? Flower { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联的事件 id
|
||
/// </summary>
|
||
[Column("rid")]
|
||
[ForeignKey(nameof(Record))]
|
||
public int? RecordId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 关联的事件
|
||
/// </summary>
|
||
[JsonIgnore]
|
||
public RecordItem? Record { get; set; }
|
||
|
||
/// <summary>
|
||
/// 图片类型
|
||
/// </summary>
|
||
[Column("filetype")]
|
||
[Required]
|
||
public required string FileType { get; set; }
|
||
|
||
/// <summary>
|
||
/// 文件名
|
||
/// </summary>
|
||
[Column("filename")]
|
||
[Required]
|
||
public required string FileName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 文件路径
|
||
/// </summary>
|
||
[Column("path")]
|
||
[Required]
|
||
public required string Path { get; set; }
|
||
|
||
/// <summary>
|
||
/// 上传时间
|
||
/// </summary>
|
||
[Column("dateupload")]
|
||
[Required]
|
||
[JsonPropertyName("dateUpload")]
|
||
public required long DateUploadUnixTime { get; set; }
|
||
|
||
/// <summary>
|
||
/// 上传时间
|
||
/// </summary>
|
||
[NotMapped]
|
||
[JsonIgnore]
|
||
public DateTimeOffset DateUpload => DateTimeOffset.FromUnixTimeMilliseconds(DateUploadUnixTime);
|
||
|
||
/// <summary>
|
||
/// 前端显示的 URL
|
||
/// </summary>
|
||
[NotMapped]
|
||
public string? Url { get; set; }
|
||
}
|