Created entities for database
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.CardMarket;
|
||||||
|
|
||||||
|
public class CardMarketSetInfo
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public string ExpansionId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Set))] public Guid SetId { get; set; }
|
||||||
|
public virtual Set.Set Set { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Microsoft.EntityFrameworkCore.Storage.ValueConversion.Internal;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
public class Attack
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public List<string> Cost { get; set; } = [];
|
||||||
|
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int? Damage { get; set; }
|
||||||
|
|
||||||
|
public string Effect { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Card))] public Guid CardId { get; set; }
|
||||||
|
public virtual Card Card { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.CardMarket;
|
||||||
|
using OakArchive.Entities.Enums;
|
||||||
|
using OakArchive.Entities.Set;
|
||||||
|
using OakArchive.Entities.TCGdex;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
public class Card
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required] public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string Image { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public int CardNumber { get; set; } = 0;
|
||||||
|
|
||||||
|
public ulong PHash { get; set; } = 0;
|
||||||
|
|
||||||
|
public int? Hp { get; set; }
|
||||||
|
|
||||||
|
public int? Retreat { get; set; }
|
||||||
|
|
||||||
|
public string? TrainerType { get; set; }
|
||||||
|
|
||||||
|
public string? EnergyType { get; set; }
|
||||||
|
|
||||||
|
public string? Illustrator { get; set; }
|
||||||
|
|
||||||
|
public string? EvolveFrom { get; set; }
|
||||||
|
|
||||||
|
public string? Description { get; set; }
|
||||||
|
|
||||||
|
public string? RegulationMark { get; set; }
|
||||||
|
|
||||||
|
public Rarity? Rarity { get; set; }
|
||||||
|
|
||||||
|
public Category? Category { get; set; }
|
||||||
|
|
||||||
|
[Column(TypeName = "jsonb")]
|
||||||
|
public List<Variant>? Variants { get; set; }
|
||||||
|
|
||||||
|
[Column(TypeName = "jsonb")] public List<string>? Types { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Set))] public Guid SetId { get; set; }
|
||||||
|
public virtual Set.Set Set { get; set; } = null!;
|
||||||
|
|
||||||
|
public virtual TcgDexCardInfo TcgDexCardInfo { get; set; } = null!;
|
||||||
|
|
||||||
|
public virtual Legal? Legal { get; set; }
|
||||||
|
|
||||||
|
public virtual ICollection<Attack> Attacks { get; set; } = new List<Attack>();
|
||||||
|
|
||||||
|
public virtual ICollection<Weakness> Weaknesses { get; set; } = new List<Weakness>();
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.Enums;
|
||||||
|
using OakArchive.Entities.User;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
public class CollectedCard
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public Variant Variant { get; set; } = Variant.Normal;
|
||||||
|
|
||||||
|
public Condition Condition { get; set; } = Condition.Mint;
|
||||||
|
|
||||||
|
public int Count { get; set; } = 1;
|
||||||
|
|
||||||
|
public Language Language { get; set; } = Language.En;
|
||||||
|
|
||||||
|
public DateTime ScannedAt { get; set; } = DateTime.UtcNow;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(ScannedBy))] public Guid ScannedById { get; set; }
|
||||||
|
public ApplicationUser ScannedBy { get; set; } = null!;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Collection))] public Guid CollectionId { get; set; }
|
||||||
|
public virtual Collection.Collection Collection { get; set; } = null!;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Card))] public Guid CardId { get; set; }
|
||||||
|
public virtual Card Card { get; set; } = null!;
|
||||||
|
|
||||||
|
public virtual Grading.Grading? Grading { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
public class Weakness
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public string Type { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string Value { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Card))] public Guid CardId { get; set; }
|
||||||
|
public virtual Card Card { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using OakArchive.Entities.Cards;
|
||||||
|
using OakArchive.Entities.User;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Collection;
|
||||||
|
|
||||||
|
public class Collection
|
||||||
|
{
|
||||||
|
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string? Description { get; set; }
|
||||||
|
|
||||||
|
public Guid CreatedBy { get; set; } = Guid.Empty;
|
||||||
|
|
||||||
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||||
|
|
||||||
|
public string InviteCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public bool IsPublic { get; set; } = false;
|
||||||
|
|
||||||
|
public virtual ICollection<ApplicationUser> Members { get; set; } = [];
|
||||||
|
|
||||||
|
public virtual ICollection<CollectedCard> Cards { get; set; } = [];
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||||
|
public enum Category
|
||||||
|
{
|
||||||
|
[JsonPropertyName("Energy")]
|
||||||
|
Energy,
|
||||||
|
|
||||||
|
[JsonPropertyName("Pokemon")]
|
||||||
|
Pokemon,
|
||||||
|
|
||||||
|
[JsonPropertyName("Trainer")]
|
||||||
|
Trainer
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
public enum Condition
|
||||||
|
{
|
||||||
|
Mint = 0,
|
||||||
|
NearMint = 1,
|
||||||
|
Excellent = 2,
|
||||||
|
Good = 3,
|
||||||
|
LightPlayed = 4,
|
||||||
|
Played = 5,
|
||||||
|
Poor = 6
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
public enum GradingCompany
|
||||||
|
{
|
||||||
|
PSA,
|
||||||
|
BGS,
|
||||||
|
CGC,
|
||||||
|
APGrading,
|
||||||
|
EGS,
|
||||||
|
AOG,
|
||||||
|
PCA,
|
||||||
|
GSG,
|
||||||
|
Other
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
public enum Language
|
||||||
|
{
|
||||||
|
En,
|
||||||
|
Fr,
|
||||||
|
Es,
|
||||||
|
Es_Mx,
|
||||||
|
It,
|
||||||
|
Pt,
|
||||||
|
Pt_Br,
|
||||||
|
Pt_Pt,
|
||||||
|
De,
|
||||||
|
Nl,
|
||||||
|
Pl,
|
||||||
|
Ru,
|
||||||
|
Ja,
|
||||||
|
Ko,
|
||||||
|
Zh_Tw,
|
||||||
|
Id,
|
||||||
|
Th,
|
||||||
|
Zh_Cn
|
||||||
|
}
|
||||||
@@ -0,0 +1,124 @@
|
|||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||||
|
public enum Rarity
|
||||||
|
{
|
||||||
|
[JsonPropertyName("ACE SPEC Rare")]
|
||||||
|
AceSpecRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Amazing Rare")]
|
||||||
|
AmazingRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Black White Rare")]
|
||||||
|
BlackWhiteRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Classic Collection")]
|
||||||
|
ClassicCollection,
|
||||||
|
|
||||||
|
[JsonPropertyName("Common")]
|
||||||
|
Common,
|
||||||
|
|
||||||
|
[JsonPropertyName("Crown")]
|
||||||
|
Crown,
|
||||||
|
|
||||||
|
[JsonPropertyName("Double rare")]
|
||||||
|
DoubleRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Four Diamond")]
|
||||||
|
FourDiamond,
|
||||||
|
|
||||||
|
[JsonPropertyName("Full Art Trainer")]
|
||||||
|
FullArtTrainer,
|
||||||
|
|
||||||
|
[JsonPropertyName("Holo Rare")]
|
||||||
|
HoloRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Holo Rare V")]
|
||||||
|
HoloRareV,
|
||||||
|
|
||||||
|
[JsonPropertyName("Holo Rare VMAX")]
|
||||||
|
HoloRareVmax,
|
||||||
|
|
||||||
|
[JsonPropertyName("Holo Rare VSTAR")]
|
||||||
|
HoloRareVstar,
|
||||||
|
|
||||||
|
[JsonPropertyName("Hyper rare")]
|
||||||
|
HyperRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Illustration rare")]
|
||||||
|
IllustrationRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("LEGEND")]
|
||||||
|
Legend,
|
||||||
|
|
||||||
|
[JsonPropertyName("Mega Hyper Rare")]
|
||||||
|
MegaHyperRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("None")]
|
||||||
|
None,
|
||||||
|
|
||||||
|
[JsonPropertyName("One Diamond")]
|
||||||
|
OneDiamond,
|
||||||
|
|
||||||
|
[JsonPropertyName("One Shiny")]
|
||||||
|
OneShiny,
|
||||||
|
|
||||||
|
[JsonPropertyName("One Star")]
|
||||||
|
OneStar,
|
||||||
|
|
||||||
|
[JsonPropertyName("Radiant Rare")]
|
||||||
|
RadiantRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Rare")]
|
||||||
|
Rare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Rare Holo")]
|
||||||
|
RareHolo,
|
||||||
|
|
||||||
|
[JsonPropertyName("Rare Holo LV.X")]
|
||||||
|
RareHoloLvX,
|
||||||
|
|
||||||
|
[JsonPropertyName("Rare PRIME")]
|
||||||
|
RarePrime,
|
||||||
|
|
||||||
|
[JsonPropertyName("Secret Rare")]
|
||||||
|
SecretRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Shiny Ultra Rare")]
|
||||||
|
ShinyUltraRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Shiny rare")]
|
||||||
|
ShinyRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Shiny rare V")]
|
||||||
|
ShinyRareV,
|
||||||
|
|
||||||
|
[JsonPropertyName("Shiny rare VMAX")]
|
||||||
|
ShinyRareVmax,
|
||||||
|
|
||||||
|
[JsonPropertyName("Special illustration rare")]
|
||||||
|
SpecialIllustrationRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Three Diamond")]
|
||||||
|
ThreeDiamond,
|
||||||
|
|
||||||
|
[JsonPropertyName("Three Star")]
|
||||||
|
ThreeStar,
|
||||||
|
|
||||||
|
[JsonPropertyName("Two Diamond")]
|
||||||
|
TwoDiamond,
|
||||||
|
|
||||||
|
[JsonPropertyName("Two Shiny")]
|
||||||
|
TwoShiny,
|
||||||
|
|
||||||
|
[JsonPropertyName("Two Star")]
|
||||||
|
TwoStar,
|
||||||
|
|
||||||
|
[JsonPropertyName("Ultra Rare")]
|
||||||
|
UltraRare,
|
||||||
|
|
||||||
|
[JsonPropertyName("Uncommon")]
|
||||||
|
Uncommon
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||||
|
public enum Stage
|
||||||
|
{
|
||||||
|
[JsonPropertyName("BREAK")]
|
||||||
|
Break,
|
||||||
|
|
||||||
|
[JsonPropertyName("Basic")]
|
||||||
|
Basic,
|
||||||
|
|
||||||
|
[JsonPropertyName("LEVEL-UP")]
|
||||||
|
LevelUp,
|
||||||
|
|
||||||
|
[JsonPropertyName("MEGA")]
|
||||||
|
Mega,
|
||||||
|
|
||||||
|
[JsonPropertyName("RESTORED")]
|
||||||
|
Restored,
|
||||||
|
|
||||||
|
[JsonPropertyName("Stage1")]
|
||||||
|
Stage1,
|
||||||
|
|
||||||
|
[JsonPropertyName("Stage2")]
|
||||||
|
Stage2,
|
||||||
|
|
||||||
|
[JsonPropertyName("V-UNION")]
|
||||||
|
VUnion,
|
||||||
|
|
||||||
|
[JsonPropertyName("VMAX")]
|
||||||
|
VMax,
|
||||||
|
|
||||||
|
[JsonPropertyName("VSTAR")]
|
||||||
|
VStar
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
[JsonConverter(typeof(JsonStringEnumConverter))]
|
||||||
|
public enum Variant
|
||||||
|
{
|
||||||
|
[JsonPropertyName("firstEdition")]
|
||||||
|
FirstEdition,
|
||||||
|
|
||||||
|
[JsonPropertyName("holo")]
|
||||||
|
Holo,
|
||||||
|
|
||||||
|
[JsonPropertyName("normal")]
|
||||||
|
Normal,
|
||||||
|
|
||||||
|
[JsonPropertyName("reverse")]
|
||||||
|
Reverse,
|
||||||
|
|
||||||
|
[JsonPropertyName("wPromo")]
|
||||||
|
WPromo
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.Cards;
|
||||||
|
using OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Grading;
|
||||||
|
|
||||||
|
public class Grading
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required] public GradingCompany Company { get; set; } = GradingCompany.PSA;
|
||||||
|
[Required] public string CertificateNumber { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public double Grade { get; set; }
|
||||||
|
|
||||||
|
public double? Centering { get; set; }
|
||||||
|
public double? Corners { get; set; }
|
||||||
|
public double? Edges { get; set; }
|
||||||
|
public double? Surface { get; set; }
|
||||||
|
|
||||||
|
public string? GraderNotes { get; set; }
|
||||||
|
|
||||||
|
public DateTime GradedAt { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(CollectedCard))] public Guid CollectedCardId { get; set; }
|
||||||
|
public virtual CollectedCard CollectedCard { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using OakArchive.Entities.Enums;
|
||||||
|
using OakArchive.Entities.TCGdex;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Serie;
|
||||||
|
|
||||||
|
public class Serie
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string? Logo { get; set; }
|
||||||
|
|
||||||
|
public Language? Language { get; set; }
|
||||||
|
|
||||||
|
//public DateTime? ReleaseDate { get; set; }
|
||||||
|
|
||||||
|
public virtual ICollection<Set.Set> Sets { get; set; } = new List<Set.Set>();
|
||||||
|
|
||||||
|
public virtual TcgDexSeriesInfo TcgDexSeriesInfo { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Set;
|
||||||
|
|
||||||
|
public class CardCount
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public int Total { get; set; } = 0;
|
||||||
|
|
||||||
|
public int Official { get; set; } = 0;
|
||||||
|
|
||||||
|
public int Normal { get; set; } = 0;
|
||||||
|
|
||||||
|
public int Reverse { get; set; } = 0;
|
||||||
|
|
||||||
|
public int Holo { get; set; } = 0;
|
||||||
|
|
||||||
|
public int FirstEd { get; set; } = 0;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Set))]
|
||||||
|
public Guid SetId { get; set; }
|
||||||
|
|
||||||
|
public virtual Set Set { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Set;
|
||||||
|
|
||||||
|
public class Legal
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public bool Expanded { get; set; } = false;
|
||||||
|
|
||||||
|
public bool Standard { get; set; } = false;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Set))]
|
||||||
|
public Guid? SetId { get; set; }
|
||||||
|
public virtual Set? Set { get; set; }
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Card))]
|
||||||
|
public Guid? CardId { get; set; }
|
||||||
|
public virtual Card? Card { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.CardMarket;
|
||||||
|
using OakArchive.Entities.Cards;
|
||||||
|
using OakArchive.Entities.Enums;
|
||||||
|
using OakArchive.Entities.TCGdex;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.Set;
|
||||||
|
|
||||||
|
public class Set
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required] public string Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
public string? Symbol { get; set; }
|
||||||
|
|
||||||
|
public string? Logo { get; set; }
|
||||||
|
|
||||||
|
public Language Language { get; set; } = Language.En;
|
||||||
|
|
||||||
|
public DateTime? ReleaseDate { get; set; }
|
||||||
|
|
||||||
|
public ICollection<Card> Cards { get; set; } = new List<Card>();
|
||||||
|
|
||||||
|
public virtual TcgDexSetInfo SetInfo { get; set; } = null!;
|
||||||
|
|
||||||
|
public virtual CardMarketSetInfo CardMarketSetInfo { get; set; } = null!;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Serie))] public Guid SerieId { get; set; }
|
||||||
|
public virtual Serie.Serie Serie { get; set; } = null!;
|
||||||
|
|
||||||
|
public virtual CardCount CardCount { get; set; } = null!;
|
||||||
|
|
||||||
|
public virtual Legal? Legal { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using OakArchive.Entities.Cards;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.TCGdex;
|
||||||
|
|
||||||
|
public class TcgDexCardInfo
|
||||||
|
{
|
||||||
|
[Key] public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required] public string FullId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[Required] public int LocalId { get; set; } = 0;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Card))] public Guid CardId { get; set; }
|
||||||
|
public virtual Card Card { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.TCGdex;
|
||||||
|
|
||||||
|
public class TcgDexSeriesInfo
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string SeriesId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Set))]
|
||||||
|
public Guid SeriesIdRef { get; set; }
|
||||||
|
public virtual Serie.Serie Series { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.TCGdex;
|
||||||
|
|
||||||
|
public class TcgDexSetInfo
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
[Required]
|
||||||
|
public string SetId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(Set))]
|
||||||
|
public Guid SetIdRef { get; set; }
|
||||||
|
public virtual Set.Set Set { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
using Microsoft.AspNetCore.Identity;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.User;
|
||||||
|
|
||||||
|
public class ApplicationUser : IdentityUser<Guid>
|
||||||
|
{
|
||||||
|
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
|
||||||
|
|
||||||
|
public virtual Settings Settings { get; set; } = new();
|
||||||
|
|
||||||
|
private Collection.Collection DefaultCollection { get; set; } = new();
|
||||||
|
|
||||||
|
public virtual ICollection<Collection.Collection> Collections { get; set; } = [];
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
|
namespace OakArchive.Entities.User;
|
||||||
|
|
||||||
|
public class Settings
|
||||||
|
{
|
||||||
|
[Key]
|
||||||
|
public Guid Id { get; set; } = Guid.NewGuid();
|
||||||
|
|
||||||
|
public bool AddCardsToDefaultList { get; set; } = true;
|
||||||
|
|
||||||
|
[ForeignKey(nameof(User))]
|
||||||
|
public Guid UserId { get; set; }
|
||||||
|
public virtual ApplicationUser User { get; set; } = null!;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
using System.Text.Json.Serialization;
|
||||||
|
|
||||||
|
namespace OakArchive.Models.TcgDex;
|
||||||
|
|
||||||
|
public class Weakness
|
||||||
|
{
|
||||||
|
[JsonPropertyName("type")]
|
||||||
|
public string? Type { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("value")]
|
||||||
|
public string? Value { get; set; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
using OakArchive.Entities.Enums;
|
||||||
|
|
||||||
|
namespace OakArchive.Util.Extensions;
|
||||||
|
|
||||||
|
public static class LanguageExtensions
|
||||||
|
{
|
||||||
|
public static string ToApiCode(this Language lang)
|
||||||
|
{
|
||||||
|
return lang switch
|
||||||
|
{
|
||||||
|
Language.Es_Mx => "es-mx",
|
||||||
|
Language.Pt_Br => "pt-br",
|
||||||
|
Language.Pt_Pt => "pt-pt",
|
||||||
|
Language.Zh_Tw => "zh-tw",
|
||||||
|
Language.Zh_Cn => "zh-cn",
|
||||||
|
_ => lang.ToString().ToLower()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ein zusätzliches Feld für deine Avalonia-UI (Anzeigename)
|
||||||
|
public static string GetDisplayName(this Language lang)
|
||||||
|
{
|
||||||
|
return lang switch
|
||||||
|
{
|
||||||
|
Language.En => "English",
|
||||||
|
Language.Fr => "Français",
|
||||||
|
Language.Es => "Español",
|
||||||
|
Language.Es_Mx => "Español (México)",
|
||||||
|
Language.It => "Italiano",
|
||||||
|
Language.Pt => "Português",
|
||||||
|
Language.Pt_Br => "Português (Brasil)",
|
||||||
|
Language.Pt_Pt => "Português (Portugal)",
|
||||||
|
Language.De => "Deutsch",
|
||||||
|
Language.Nl => "Nederlands",
|
||||||
|
Language.Pl => "Polski",
|
||||||
|
Language.Ru => "Русский",
|
||||||
|
Language.Ja => "日本語",
|
||||||
|
Language.Ko => "한국어",
|
||||||
|
Language.Zh_Tw => "繁體中文 (Taiwan)",
|
||||||
|
Language.Id => "Bahasa Indonesia",
|
||||||
|
Language.Th => "ไทย",
|
||||||
|
Language.Zh_Cn => "简体中文 (China)",
|
||||||
|
_ => lang.ToString()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user