blob: 7da623223cfa422b7f48aa91a53914a432cdcccc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
using HyperBooru.ApiModels;
using System.ComponentModel.DataAnnotations.Schema;
namespace HyperBooru;
public class TagDefinition : HBObject {
public TagSource Source { get; set; } = TagSource.Internal;
public string? Namespace { get; set; }
public string Name { get; set; }
public string? Alias { get; set; }
public virtual List<TagDefinition> ImplicitTags { get; set; } = new();
public static explicit operator ApiModels.TagDefinition(TagDefinition tagDefinition) => new() {
TagDefinitionId = tagDefinition.Guid,
Source = tagDefinition.Source,
Namespace = tagDefinition.Namespace,
Name = tagDefinition.Name,
Alias = tagDefinition.Alias,
ImplicitTags = tagDefinition.ImplicitTags.Select(td => td.Guid).ToArray()
};
}
public class Tag : HBObject {
[ForeignKey("ObjectId")]
public int TagDefinitionId { get; set; }
public virtual TagDefinition TagDefinition { get; set; }
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
public virtual HBObject Target { get; set; }
public Tag() {}
public Tag(TagDefinition tagDef) =>
this.TagDefinition = tagDef;
}
|