Skip to content

Commit

Permalink
feat: add basic models for Level and Metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
Thundernerd committed May 11, 2024
1 parent 7c4bf9c commit 6a95905
Show file tree
Hide file tree
Showing 5 changed files with 162 additions and 1 deletion.
29 changes: 29 additions & 0 deletions GTRContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,22 @@ public GTRContext(DbContextOptions<GTRContext> options)

public virtual DbSet<Favorite> Favorites { get; set; }

public virtual DbSet<Level> Levels { get; set; }

public virtual DbSet<LevelPoints> LevelPoints { get; set; }

public virtual DbSet<Media> Media { get; set; }

public virtual DbSet<Metadata> Metadata { get; set; }

public virtual DbSet<PersonalBest> PersonalBests { get; set; }

public virtual DbSet<PlayerPoints> PlayerPoints { get; set; }

public virtual DbSet<Record> Records { get; set; }

public virtual DbSet<Request> Requests { get; set; }

public virtual DbSet<Stat> Stats { get; set; }

public virtual DbSet<Upvote> Upvotes { get; set; }
Expand Down Expand Up @@ -66,6 +72,17 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("favorites_user_foreign");
});

modelBuilder.Entity<Level>(entity =>
{
entity.HasKey(e => e.Id).HasName("levels_pkey");
entity.Property(e => e.Id).ValueGeneratedNever();
entity.HasOne(d => d.Metadata).WithMany(p => p.Levels)
.OnDelete(DeleteBehavior.ClientSetNull)
.HasConstraintName("levels_metadata_id_fkey");
});

modelBuilder.Entity<LevelPoints>(entity => { entity.HasKey(e => e.Id).HasName("level_points_pkey"); });

modelBuilder.Entity<Media>(entity =>
Expand All @@ -77,6 +94,13 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("media_record_fkey");
});

modelBuilder.Entity<Metadata>(entity =>
{
entity.HasKey(e => e.Id).HasName("metadata_pkey");
entity.Property(e => e.Id).ValueGeneratedNever();
});

modelBuilder.Entity<PersonalBest>(entity =>
{
entity.HasKey(e => e.Id).HasName("personal_bests_pkey");
Expand Down Expand Up @@ -108,6 +132,11 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
.HasConstraintName("records_user_foreign");
});

modelBuilder.Entity<Request>(entity =>
{
entity.HasKey(e => e.Id).HasName("requests_pkey");
});

modelBuilder.Entity<Stat>(entity =>
{
entity.HasKey(e => e.Id).HasName("stats_pkey");
Expand Down
57 changes: 57 additions & 0 deletions Models/Level.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using JsonApiDotNetCore.Resources.Annotations;

namespace TNRD.Zeepkist.GTR.Database.Models;

[Table("levels")]
[NoResource]
public partial class Level
{
[Key]
[Column("id")]
public int Id { get; set; }

[Column("name")]
public string Name { get; set; } = null!;

[Column("image_url")]
public string ImageUrl { get; set; } = null!;

[Column("created_at")]
public DateTime CreatedAt { get; set; }

[Column("updated_at")]
public DateTime UpdatedAt { get; set; }

[Column("workshop_id")]
public decimal WorkshopId { get; set; }

[Column("author_id")]
public decimal AuthorId { get; set; }

[Column("file_hash")]
public string FileHash { get; set; } = null!;

[Column("file_url")]
public string FileUrl { get; set; } = null!;

[Column("file_author")]
public string FileAuthor { get; set; } = null!;

[Column("file_uid")]
public string FileUid { get; set; } = null!;

[Column("replaced_by")]
public int? ReplacedBy { get; set; }

[Column("deleted")]
public bool Deleted { get; set; }

[Column("metadata_id")]
public int MetadataId { get; set; }

[ForeignKey("MetadataId")]
[InverseProperty("Levels")]
public virtual Metadata Metadata { get; set; } = null!;
}
48 changes: 48 additions & 0 deletions Models/Metadata.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using JsonApiDotNetCore.Resources.Annotations;
using Microsoft.EntityFrameworkCore;

namespace TNRD.Zeepkist.GTR.Database.Models;

[Table("metadata")]
[NoResource]
public partial class Metadata
{
[Column("hash")]
public string Hash { get; set; } = null!;

[Column("valid")]
public bool Valid { get; set; }

[Column("checkpoints")]
public int Checkpoints { get; set; }

[Column("blocks")]
public string Blocks { get; set; } = null!;

[Column("validation")]
public float Validation { get; set; }

[Column("gold")]
public float Gold { get; set; }

[Column("silver")]
public float Silver { get; set; }

[Column("bronze")]
public float Bronze { get; set; }

[Column("ground")]
public int Ground { get; set; }

[Column("skybox")]
public int Skybox { get; set; }

[Key]
[Column("id")]
public int Id { get; set; }

[InverseProperty("Metadata")]
public virtual ICollection<Level> Levels { get; set; } = new List<Level>();
}
27 changes: 27 additions & 0 deletions Models/Request.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using JsonApiDotNetCore.Resources.Annotations;
using Microsoft.EntityFrameworkCore;

namespace TNRD.Zeepkist.GTR.Database.Models;

[Table("requests")]
[NoResource]
public partial class Request
{
[Key]
[Column("id")]
public int Id { get; set; }

[Column("workshop_id")]
public decimal WorkshopId { get; set; }

[Column("uid")]
public string? Uid { get; set; }

[Column("hash")]
public string? Hash { get; set; }

[Column("date_created")]
public DateTime DateCreated { get; set; }
}
2 changes: 1 addition & 1 deletion Zeepkist.GTR.Database.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<Nullable>enable</Nullable>
<AssemblyName>TNRD.Zeepkist.GTR.Database</AssemblyName>
<RootNamespace>TNRD.Zeepkist.GTR.Database</RootNamespace>
<Version>3.2.1</Version>
<Version>3.3.0</Version>
</PropertyGroup>

<ItemGroup>
Expand Down

0 comments on commit 6a95905

Please sign in to comment.