diff --git a/Server/Controllers/CompletionController.cs b/Server/Controllers/LapController.cs similarity index 87% rename from Server/Controllers/CompletionController.cs rename to Server/Controllers/LapController.cs index 0d1a50d..eb25a85 100644 --- a/Server/Controllers/CompletionController.cs +++ b/Server/Controllers/LapController.cs @@ -25,15 +25,6 @@ public class LapController : ControllerBase { }); } -// with ranked as ( -// select *, rank() over (order by "Time" asc) as "Position", count("Id") over () -// from "Laps" -// where "Map" = 'surf_kitsune2_go' -// ) - -// select * from ranked -// where "UserId" = '116bf9a6-b618-48ef-ac78-d294abb500b2'; - // [HttpGet()] // public LapStorageDTO UserLaps(Guid userId, string mapName) { // List laps = _db.Laps diff --git a/Server/Migrations/20230828112623_Beginninging.Designer.cs b/Server/Migrations/20230829014321_Beginninging.Designer.cs similarity index 52% rename from Server/Migrations/20230828112623_Beginninging.Designer.cs rename to Server/Migrations/20230829014321_Beginninging.Designer.cs index f7a9660..381b6e0 100644 --- a/Server/Migrations/20230828112623_Beginninging.Designer.cs +++ b/Server/Migrations/20230829014321_Beginninging.Designer.cs @@ -12,7 +12,7 @@ using Server; namespace Server.Migrations { [DbContext(typeof(SpaceRaceDbContext))] - [Migration("20230828112623_Beginninging")] + [Migration("20230829014321_Beginninging")] partial class Beginninging { /// @@ -52,6 +52,32 @@ namespace Server.Migrations .IsUnique(); b.ToTable("Laps"); + + b.HasData( + new + { + Id = new Guid("c3a3f8d9-01a7-4420-bb57-a8f26baabc4d"), + Created = new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5704), new TimeSpan(0, 0, 0, 0, 0)), + Map = "sr_TestTrack", + Time = 128.0, + UserId = new Guid("9d2c95b9-5ba6-4ff5-afc5-f20f34620d82") + }, + new + { + Id = new Guid("6cb7876e-3059-44ea-af56-1968d653f001"), + Created = new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5742), new TimeSpan(0, 0, 0, 0, 0)), + Map = "sr_TestTrack", + Time = 132.0, + UserId = new Guid("157a119a-e3e2-4623-ac6c-2dda797dd301") + }, + new + { + Id = new Guid("2b649610-1da8-450a-ad24-021626d80c60"), + Created = new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5750), new TimeSpan(0, 0, 0, 0, 0)), + Map = "sr_TestTrack", + Time = 148.0, + UserId = new Guid("7ca95bb5-0145-4c59-86cc-a499b01ba036") + }); }); #pragma warning restore 612, 618 } diff --git a/Server/Migrations/20230828112623_Beginninging.cs b/Server/Migrations/20230829014321_Beginninging.cs similarity index 57% rename from Server/Migrations/20230828112623_Beginninging.cs rename to Server/Migrations/20230829014321_Beginninging.cs index 6a94f1a..5f7f96a 100644 --- a/Server/Migrations/20230828112623_Beginninging.cs +++ b/Server/Migrations/20230829014321_Beginninging.cs @@ -3,6 +3,8 @@ using Microsoft.EntityFrameworkCore.Migrations; #nullable disable +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + namespace Server.Migrations { /// @@ -26,6 +28,16 @@ namespace Server.Migrations table.PrimaryKey("PK_Laps", x => x.Id); }); + migrationBuilder.InsertData( + table: "Laps", + columns: new[] { "Id", "Created", "Map", "Time", "UserId" }, + values: new object[,] + { + { new Guid("2b649610-1da8-450a-ad24-021626d80c60"), new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5750), new TimeSpan(0, 0, 0, 0, 0)), "sr_TestTrack", 148.0, new Guid("7ca95bb5-0145-4c59-86cc-a499b01ba036") }, + { new Guid("6cb7876e-3059-44ea-af56-1968d653f001"), new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5742), new TimeSpan(0, 0, 0, 0, 0)), "sr_TestTrack", 132.0, new Guid("157a119a-e3e2-4623-ac6c-2dda797dd301") }, + { new Guid("c3a3f8d9-01a7-4420-bb57-a8f26baabc4d"), new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5704), new TimeSpan(0, 0, 0, 0, 0)), "sr_TestTrack", 128.0, new Guid("9d2c95b9-5ba6-4ff5-afc5-f20f34620d82") } + }); + migrationBuilder.CreateIndex( name: "IX_Laps_Map", table: "Laps", diff --git a/Server/Migrations/SpaceRaceDbContextModelSnapshot.cs b/Server/Migrations/SpaceRaceDbContextModelSnapshot.cs index 7337612..8b8f412 100644 --- a/Server/Migrations/SpaceRaceDbContextModelSnapshot.cs +++ b/Server/Migrations/SpaceRaceDbContextModelSnapshot.cs @@ -49,6 +49,32 @@ namespace Server.Migrations .IsUnique(); b.ToTable("Laps"); + + b.HasData( + new + { + Id = new Guid("c3a3f8d9-01a7-4420-bb57-a8f26baabc4d"), + Created = new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5704), new TimeSpan(0, 0, 0, 0, 0)), + Map = "sr_TestTrack", + Time = 128.0, + UserId = new Guid("9d2c95b9-5ba6-4ff5-afc5-f20f34620d82") + }, + new + { + Id = new Guid("6cb7876e-3059-44ea-af56-1968d653f001"), + Created = new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5742), new TimeSpan(0, 0, 0, 0, 0)), + Map = "sr_TestTrack", + Time = 132.0, + UserId = new Guid("157a119a-e3e2-4623-ac6c-2dda797dd301") + }, + new + { + Id = new Guid("2b649610-1da8-450a-ad24-021626d80c60"), + Created = new DateTimeOffset(new DateTime(2023, 8, 29, 1, 43, 21, 914, DateTimeKind.Unspecified).AddTicks(5750), new TimeSpan(0, 0, 0, 0, 0)), + Map = "sr_TestTrack", + Time = 148.0, + UserId = new Guid("7ca95bb5-0145-4c59-86cc-a499b01ba036") + }); }); #pragma warning restore 612, 618 } diff --git a/Server/Repositories/SpaceRaceDbContext.cs b/Server/Repositories/SpaceRaceDbContext.cs index 7d8eedc..14c39c0 100644 --- a/Server/Repositories/SpaceRaceDbContext.cs +++ b/Server/Repositories/SpaceRaceDbContext.cs @@ -6,6 +6,11 @@ namespace Server; public class SpaceRaceDbContext : DbContext { public DbSet Laps { get; set; } public SpaceRaceDbContext(DbContextOptions options) : base(options) {} + + protected override void OnModelCreating(ModelBuilder modelBuilder) { + base.OnModelCreating(modelBuilder); + new SpaceRaceInitialiser(modelBuilder).Seed(); + } } [Index(nameof(UserId), nameof(Map), IsUnique = true)] @@ -17,3 +22,37 @@ public class Lap { public double Time { get; set; } [Required] public string Map { get; set; } } + +class SpaceRaceInitialiser { + private readonly ModelBuilder modelBuilder; + + public SpaceRaceInitialiser(ModelBuilder modelBuilder) { + this.modelBuilder = modelBuilder; + } + + public void Seed() { + modelBuilder.Entity().HasData( + new Lap { + Created = DateTimeOffset.UtcNow, + Id = Guid.NewGuid(), + UserId = Guid.NewGuid(), + Time = 128f, + Map = "sr_TestTrack", + }, + new Lap { + Created = DateTimeOffset.UtcNow, + Id = Guid.NewGuid(), + UserId = Guid.NewGuid(), + Time = 132f, + Map = "sr_TestTrack", + }, + new Lap { + Created = DateTimeOffset.UtcNow, + Id = Guid.NewGuid(), + UserId = Guid.NewGuid(), + Time = 148f, + Map = "sr_TestTrack", + } + ); + } +} \ No newline at end of file