Add project files.

This commit is contained in:
2024-04-16 23:39:52 +02:00
parent 7ccde390bd
commit 901b26153e
28 changed files with 1321 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
namespace ConnectionsAPI.Database.Entities
{
public class Puzzle
{
/// <summary>
/// Primary key of the entity
/// </summary>
public int Id { get; set; }
/// <summary>
/// When the entity was created (is the sync date)
/// </summary>
public DateTime CreatedDate { get; set; }
/// <summary>
/// When the puzzle was "printed" online
/// </summary>
public string PrintDate { get; set; } = string.Empty;
/// <summary>
/// The name of the editor for the puzzle
/// </summary>
public string EditorName { get; set; } = string.Empty;
/// <summary>
/// The actual count of the puzzle
/// </summary>
public int Index { get; set; }
/// <summary>
/// The MD5 hash for the source content used to sync this puzzle
/// </summary>
public string ContentMD5 { get; set; } = string.Empty;
/// <summary>
/// The categories associated with this puzzle
/// </summary>
public virtual ICollection<PuzzleCategory> Categories { get; set; } = [];
}
}

View File

@@ -0,0 +1,30 @@
namespace ConnectionsAPI.Database.Entities
{
public class PuzzleCard
{
/// <summary>
/// Primary key of the entity
/// </summary>
public int Id { get; set; }
/// <summary>
/// The contents of this card (the word)
/// </summary>
public string Content { get; set; } = string.Empty;
/// <summary>
/// The initial position of this card on the grid
/// </summary>
public int Position { get; set; }
/// <summary>
/// The ID of the associated Connections category
/// </summary>
public int PuzzleCategoryId { get; set; }
/// <summary>
/// The associated category instance
/// </summary>
public virtual PuzzleCategory? PuzzleCategory { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
namespace ConnectionsAPI.Database.Entities
{
public class PuzzleCategory
{
/// <summary>
/// Primary key of the entity
/// </summary>
public int Id { get; set; }
/// <summary>
/// The name of the category in this Connections puzzle
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// The color of the category in this Connections puzzle; Also used for sorting
/// </summary>
public PuzzleCategoryColor Color { get; set; }
/// <summary>
/// The ID of the associated Connections puzzle
/// </summary>
public int PuzzleId { get; set; }
/// <summary>
/// The associated puzzle instance
/// </summary>
public virtual Puzzle? Puzzle { get; set; }
/// <summary>
/// The cards associated with this category
/// </summary>
public ICollection<PuzzleCard> PuzzleCards { get; set; } = [];
}
}

View File

@@ -0,0 +1,10 @@
namespace ConnectionsAPI.Database.Entities
{
public enum PuzzleCategoryColor
{
Yellow = 1,
Green = 2,
Blue = 3,
Purple = 4,
}
}