mirror of
https://github.com/aaru-dps/Aaru.Server.git
synced 2025-12-16 19:24:27 +00:00
Add NES headers to database.
This commit is contained in:
@@ -90,6 +90,25 @@ public sealed class UpdateController : Controller
|
|||||||
})), device.Id, device.OptimalMultipleSectorsRead,
|
})), device.Id, device.OptimalMultipleSectorsRead,
|
||||||
device.CanReadGdRomUsingSwapDisc));
|
device.CanReadGdRomUsingSwapDisc));
|
||||||
|
|
||||||
|
sync.NesHeaders = new List<NesHeaderDto>();
|
||||||
|
|
||||||
|
foreach(NesHeaderInfo header in _ctx.NesHeaders.Where(v => v.ModifiedWhen > lastSync))
|
||||||
|
sync.NesHeaders.Add(new NesHeaderDto
|
||||||
|
{
|
||||||
|
Id = header.Id,
|
||||||
|
BatteryPresent = header.BatteryPresent,
|
||||||
|
ConsoleType = header.ConsoleType,
|
||||||
|
DefaultExpansionDevice = header.DefaultExpansionDevice,
|
||||||
|
ExtendedConsoleType = header.ExtendedConsoleType,
|
||||||
|
FourScreenMode = header.FourScreenMode,
|
||||||
|
Mapper = header.Mapper,
|
||||||
|
NametableMirroring = header.NametableMirroring,
|
||||||
|
Sha256 = header.Sha256,
|
||||||
|
Submapper = header.Submapper,
|
||||||
|
VsHardwareType = header.VsHardwareType,
|
||||||
|
VsPpuType = header.VsPpuType
|
||||||
|
});
|
||||||
|
|
||||||
var js = JsonSerializer.Create();
|
var js = JsonSerializer.Create();
|
||||||
var sw = new StringWriter();
|
var sw = new StringWriter();
|
||||||
js.Serialize(sw, sync);
|
js.Serialize(sw, sync);
|
||||||
|
|||||||
3160
Aaru.Server/Migrations/20211208215447_AddNesHeaders.Designer.cs
generated
Normal file
3160
Aaru.Server/Migrations/20211208215447_AddNesHeaders.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
1115
Aaru.Server/Migrations/20211208215447_AddNesHeaders.cs
Normal file
1115
Aaru.Server/Migrations/20211208215447_AddNesHeaders.cs
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -78,6 +78,7 @@ public sealed class AaruServerContext : IdentityDbContext<IdentityUser>
|
|||||||
public DbSet<RemoteArchitecture> RemoteArchitectures { get; set; }
|
public DbSet<RemoteArchitecture> RemoteArchitectures { get; set; }
|
||||||
public DbSet<RemoteOperatingSystem> RemoteOperatingSystems { get; set; }
|
public DbSet<RemoteOperatingSystem> RemoteOperatingSystems { get; set; }
|
||||||
public DbSet<GdRomSwapDiscCapabilities> GdRomSwapDiscCapabilities { get; set; }
|
public DbSet<GdRomSwapDiscCapabilities> GdRomSwapDiscCapabilities { get; set; }
|
||||||
|
public DbSet<NesHeaderInfo> NesHeaders { get; set; }
|
||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
{
|
{
|
||||||
@@ -247,6 +248,9 @@ public sealed class AaruServerContext : IdentityDbContext<IdentityUser>
|
|||||||
|
|
||||||
modelBuilder.Entity<UsbVendor>().HasIndex(b => b.ModifiedWhen);
|
modelBuilder.Entity<UsbVendor>().HasIndex(b => b.ModifiedWhen);
|
||||||
modelBuilder.Entity<UsbVendor>().HasIndex(b => b.VendorId).IsUnique();
|
modelBuilder.Entity<UsbVendor>().HasIndex(b => b.VendorId).IsUnique();
|
||||||
|
|
||||||
|
modelBuilder.Entity<NesHeaderInfo>().HasIndex(b => b.ModifiedWhen);
|
||||||
|
modelBuilder.Entity<NesHeaderInfo>().HasIndex(b => b.Sha256).IsUnique();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static bool TableExists(string tableName)
|
internal static bool TableExists(string tableName)
|
||||||
|
|||||||
37
Aaru.Server/Models/NesHeaderInfo.cs
Normal file
37
Aaru.Server/Models/NesHeaderInfo.cs
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Aaru.CommonTypes.Enums;
|
||||||
|
|
||||||
|
namespace Aaru.Server.Models;
|
||||||
|
|
||||||
|
public class NesHeaderInfo : BaseModel<int>
|
||||||
|
{
|
||||||
|
/// <summary>ROM hash</summary>
|
||||||
|
[StringLength(64), Required]
|
||||||
|
public string Sha256 { get; set; }
|
||||||
|
/// <summary>If <c>true</c> vertical mirroring is hard-wired, horizontal or mapper defined otherwise</summary>
|
||||||
|
public bool NametableMirroring { get; set; }
|
||||||
|
/// <summary>If <c>true</c> a battery is present</summary>
|
||||||
|
public bool BatteryPresent { get; set; }
|
||||||
|
/// <summary>If <c>true</c> the four player screen mode is hardwired</summary>
|
||||||
|
public bool FourScreenMode { get; set; }
|
||||||
|
/// <summary>Mapper number (NES 2.0 when in conflict)</summary>
|
||||||
|
public ushort Mapper { get; set; }
|
||||||
|
/// <summary>Console type</summary>
|
||||||
|
public NesConsoleType ConsoleType { get; set; }
|
||||||
|
/// <summary>Submapper number</summary>
|
||||||
|
public byte Submapper { get; set; }
|
||||||
|
/// <summary>Timing mode</summary>
|
||||||
|
public NesTimingMode TimingMode { get; set; }
|
||||||
|
/// <summary>Vs. PPU type</summary>
|
||||||
|
public NesVsPpuType VsPpuType { get; set; }
|
||||||
|
/// <summary>Vs. hardware type</summary>
|
||||||
|
public NesVsHardwareType VsHardwareType { get; set; }
|
||||||
|
/// <summary>Extended console type</summary>
|
||||||
|
public NesExtendedConsoleType ExtendedConsoleType { get; set; }
|
||||||
|
/// <summary>Default expansion device</summary>
|
||||||
|
public NesDefaultExpansionDevice DefaultExpansionDevice { get; set; }
|
||||||
|
/// <summary>Date when model has been added to the database</summary>
|
||||||
|
public DateTime AddedWhen { get; set; }
|
||||||
|
/// <summary>Date when model was last modified</summary>
|
||||||
|
public DateTime ModifiedWhen { get; set; }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user