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.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 sw = new StringWriter();
|
||||
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<RemoteOperatingSystem> RemoteOperatingSystems { get; set; }
|
||||
public DbSet<GdRomSwapDiscCapabilities> GdRomSwapDiscCapabilities { get; set; }
|
||||
public DbSet<NesHeaderInfo> NesHeaders { get; set; }
|
||||
|
||||
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.VendorId).IsUnique();
|
||||
|
||||
modelBuilder.Entity<NesHeaderInfo>().HasIndex(b => b.ModifiedWhen);
|
||||
modelBuilder.Entity<NesHeaderInfo>().HasIndex(b => b.Sha256).IsUnique();
|
||||
}
|
||||
|
||||
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