diff --git a/.idea/.idea.Aaru/.idea/contentModel.xml b/.idea/.idea.Aaru/.idea/contentModel.xml
index 92cdf932b..4acd533eb 100644
--- a/.idea/.idea.Aaru/.idea/contentModel.xml
+++ b/.idea/.idea.Aaru/.idea/contentModel.xml
@@ -412,6 +412,8 @@
+
+
diff --git a/Aaru.Core/Remote.cs b/Aaru.Core/Remote.cs
index 4a950e391..0565c9a6e 100644
--- a/Aaru.Core/Remote.cs
+++ b/Aaru.Core/Remote.cs
@@ -1,4 +1,4 @@
-// /***************************************************************************
+// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
@@ -332,7 +332,8 @@ namespace Aaru.Core
existing = new Device(device)
{
- Id = device.Id, OptimalMultipleSectorsRead = device.OptimalMultipleSectorsRead
+ Id = device.Id, OptimalMultipleSectorsRead = device.OptimalMultipleSectorsRead,
+ CanReadGdRomUsingSwapDisc = device.CanReadGdRomUsingSwapDisc
};
mctx.Devices.Add(existing);
@@ -343,7 +344,8 @@ namespace Aaru.Core
mctx.Devices.Add(new Device(device)
{
- Id = device.Id, OptimalMultipleSectorsRead = device.OptimalMultipleSectorsRead
+ Id = device.Id, OptimalMultipleSectorsRead = device.OptimalMultipleSectorsRead,
+ CanReadGdRomUsingSwapDisc = device.CanReadGdRomUsingSwapDisc
});
}
}
diff --git a/Aaru.Database/Aaru.Database.csproj b/Aaru.Database/Aaru.Database.csproj
index e97f2f57b..191b40614 100644
--- a/Aaru.Database/Aaru.Database.csproj
+++ b/Aaru.Database/Aaru.Database.csproj
@@ -110,6 +110,8 @@
+
+
diff --git a/Aaru.Database/Migrations/20200710164101_AddCanReadGdRomUsingSwapDisc.Designer.cs b/Aaru.Database/Migrations/20200710164101_AddCanReadGdRomUsingSwapDisc.Designer.cs
new file mode 100644
index 000000000..c44f04901
--- /dev/null
+++ b/Aaru.Database/Migrations/20200710164101_AddCanReadGdRomUsingSwapDisc.Designer.cs
@@ -0,0 +1,2107 @@
+//
+using System;
+using Aaru.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+namespace Aaru.Database.Migrations
+{
+ [DbContext(typeof(AaruContext))]
+ [Migration("20200710164101_AddCanReadGdRomUsingSwapDisc")]
+ partial class AddCanReadGdRomUsingSwapDisc
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "3.1.5");
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ata", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Identify")
+ .HasColumnType("BLOB");
+
+ b.Property("ReadCapabilitiesId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ReadCapabilitiesId");
+
+ b.ToTable("Ata");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.BlockDescriptor", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("BlockLength")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("Density")
+ .HasColumnType("INTEGER");
+
+ b.Property("ScsiModeId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ScsiModeId");
+
+ b.ToTable("BlockDescriptor");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Chs", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Cylinders")
+ .HasColumnType("INTEGER");
+
+ b.Property("Heads")
+ .HasColumnType("INTEGER");
+
+ b.Property("Sectors")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("Chs");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.DensityCode", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Code")
+ .HasColumnType("INTEGER");
+
+ b.Property("SscSupportedMediaId")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SscSupportedMediaId");
+
+ b.ToTable("DensityCode");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.FireWire", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Manufacturer")
+ .HasColumnType("TEXT");
+
+ b.Property("Product")
+ .HasColumnType("TEXT");
+
+ b.Property("ProductID")
+ .HasColumnType("INTEGER");
+
+ b.Property("RemovableMedia")
+ .HasColumnType("INTEGER");
+
+ b.Property("VendorID")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("FireWire");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Mmc", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("FeaturesId")
+ .HasColumnType("INTEGER");
+
+ b.Property("ModeSense2AData")
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.HasIndex("FeaturesId");
+
+ b.ToTable("Mmc");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.MmcFeatures", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("AACSVersion")
+ .HasColumnType("INTEGER");
+
+ b.Property("AGIDs")
+ .HasColumnType("INTEGER");
+
+ b.Property("BinaryData")
+ .HasColumnType("BLOB");
+
+ b.Property("BindingNonceBlocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("BlocksPerReadableUnit")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferUnderrunFreeInDVD")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferUnderrunFreeInSAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferUnderrunFreeInTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CPRMVersion")
+ .HasColumnType("INTEGER");
+
+ b.Property("CSSVersion")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanAudioScan")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanEject")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanEraseSector")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanExpandBDRESpareArea")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormat")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatBDREWithoutSpare")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatCert")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatFRF")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatQCert")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanFormatRRM")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanGenerateBindingNonce")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanLoad")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanMuteSeparateChannels")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanOverwriteSAOTrack")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanOverwriteTAOTrack")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanPlayCDAudio")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanPseudoOverwriteBDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadAllDualR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadAllDualRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBDRE1")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBDRE2")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBDROM")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBluBCA")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCDMRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCPRM_MKB")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDDCD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDVD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDVDPlusMRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDVDPlusR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDVDPlusRDL")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDVDPlusRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDVDPlusRWDL")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDriveAACSCertificate")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadHDDVD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadHDDVDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadHDDVDRAM")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadLeadInCDText")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadOldBDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadOldBDRE")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadOldBDROM")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadSpareAreaInformation")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReportDriveSerial")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReportMediaSerial")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanTestWriteDDCDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanTestWriteDVD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanTestWriteInSAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanTestWriteInTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanUpgradeFirmware")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteBD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteBDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteBDRE1")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteBDRE2")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteBusEncryptedBlocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteCDMRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteCDRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteCDRWCAV")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteCDSAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteCDTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteCSSManagedDVD")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDDCDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDDCDRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDPlusMRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDPlusR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDPlusRDL")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDPlusRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDPlusRWDL")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDRDL")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteDVDRW")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteHDDVDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteHDDVDRAM")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteOldBDR")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteOldBDRE")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWritePackedSubchannelInTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteRWSubchannelInSAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteRWSubchannelInTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteRaw")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteRawMultiSession")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanWriteRawSubchannelInTAO")
+ .HasColumnType("INTEGER");
+
+ b.Property("ChangerIsSideChangeCapable")
+ .HasColumnType("INTEGER");
+
+ b.Property("ChangerSlots")
+ .HasColumnType("INTEGER");
+
+ b.Property("ChangerSupportsDiscPresent")
+ .HasColumnType("INTEGER");
+
+ b.Property("DBML")
+ .HasColumnType("INTEGER");
+
+ b.Property("DVDMultiRead")
+ .HasColumnType("INTEGER");
+
+ b.Property("EmbeddedChanger")
+ .HasColumnType("INTEGER");
+
+ b.Property("ErrorRecoveryPage")
+ .HasColumnType("INTEGER");
+
+ b.Property("FirmwareDate")
+ .HasColumnType("TEXT");
+
+ b.Property("LoadingMechanismType")
+ .HasColumnType("INTEGER");
+
+ b.Property("Locked")
+ .HasColumnType("INTEGER");
+
+ b.Property("LogicalBlockSize")
+ .HasColumnType("INTEGER");
+
+ b.Property("MultiRead")
+ .HasColumnType("INTEGER");
+
+ b.Property("PhysicalInterfaceStandardNumber")
+ .HasColumnType("INTEGER");
+
+ b.Property("PreventJumper")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsAACS")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsBusEncryption")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsC2")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsCPRM")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsCSS")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsDAP")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsDeviceBusyEvent")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsHybridDiscs")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsModePage1Ch")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsOSSC")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsPWP")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsSWPP")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsSecurDisc")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsSeparateVolume")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsVCPS")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsWriteInhibitDCB")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsWriteProtectPAC")
+ .HasColumnType("INTEGER");
+
+ b.Property("VolumeLevels")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("MmcFeatures");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.MmcSd", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("CID")
+ .HasColumnType("BLOB");
+
+ b.Property("CSD")
+ .HasColumnType("BLOB");
+
+ b.Property("ExtendedCSD")
+ .HasColumnType("BLOB");
+
+ b.Property("OCR")
+ .HasColumnType("BLOB");
+
+ b.Property("SCR")
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.ToTable("MmcSd");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Pcmcia", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("CIS")
+ .HasColumnType("BLOB");
+
+ b.Property("CardCode")
+ .HasColumnType("INTEGER");
+
+ b.Property("Compliance")
+ .HasColumnType("TEXT");
+
+ b.Property("Manufacturer")
+ .HasColumnType("TEXT");
+
+ b.Property("ManufacturerCode")
+ .HasColumnType("INTEGER");
+
+ b.Property("ProductName")
+ .HasColumnType("TEXT");
+
+ b.HasKey("Id");
+
+ b.ToTable("Pcmcia");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Scsi", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("InquiryData")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSense10ChangeableData")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSense10CurrentData")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSense10Data")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSense6ChangeableData")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSense6CurrentData")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSense6Data")
+ .HasColumnType("BLOB");
+
+ b.Property("ModeSenseId")
+ .HasColumnType("INTEGER");
+
+ b.Property("MultiMediaDeviceId")
+ .HasColumnType("INTEGER");
+
+ b.Property("ReadCapabilitiesId")
+ .HasColumnType("INTEGER");
+
+ b.Property("SequentialDeviceId")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsModeSense10")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsModeSense6")
+ .HasColumnType("INTEGER");
+
+ b.Property("SupportsModeSubpages")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ModeSenseId");
+
+ b.HasIndex("MultiMediaDeviceId");
+
+ b.HasIndex("ReadCapabilitiesId");
+
+ b.HasIndex("SequentialDeviceId");
+
+ b.ToTable("Scsi");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.ScsiMode", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("BlankCheckEnabled")
+ .HasColumnType("INTEGER");
+
+ b.Property("BufferedMode")
+ .HasColumnType("INTEGER");
+
+ b.Property("DPOandFUA")
+ .HasColumnType("INTEGER");
+
+ b.Property("MediumType")
+ .HasColumnType("INTEGER");
+
+ b.Property("Speed")
+ .HasColumnType("INTEGER");
+
+ b.Property("WriteProtected")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("ScsiMode");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.ScsiPage", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("ScsiId")
+ .HasColumnType("INTEGER");
+
+ b.Property("ScsiModeId")
+ .HasColumnType("INTEGER");
+
+ b.Property("page")
+ .HasColumnType("INTEGER");
+
+ b.Property("subpage")
+ .HasColumnType("INTEGER");
+
+ b.Property("value")
+ .HasColumnType("BLOB");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ScsiId");
+
+ b.HasIndex("ScsiModeId");
+
+ b.ToTable("ScsiPage");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.Ssc", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("BlockSizeGranularity")
+ .HasColumnType("INTEGER");
+
+ b.Property("MaxBlockLength")
+ .HasColumnType("INTEGER");
+
+ b.Property("MinBlockLength")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.ToTable("Ssc");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.SscSupportedMedia", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("Description")
+ .HasColumnType("TEXT");
+
+ b.Property("Length")
+ .HasColumnType("INTEGER");
+
+ b.Property("MediumType")
+ .HasColumnType("INTEGER");
+
+ b.Property("Name")
+ .HasColumnType("TEXT");
+
+ b.Property("Organization")
+ .HasColumnType("TEXT");
+
+ b.Property("SscId")
+ .HasColumnType("INTEGER");
+
+ b.Property("TestedSequentialMediaId")
+ .HasColumnType("INTEGER");
+
+ b.Property("Width")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SscId");
+
+ b.HasIndex("TestedSequentialMediaId");
+
+ b.ToTable("SscSupportedMedia");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.SupportedDensity", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("BitsPerMm")
+ .HasColumnType("INTEGER");
+
+ b.Property("Capacity")
+ .HasColumnType("INTEGER");
+
+ b.Property("DefaultDensity")
+ .HasColumnType("INTEGER");
+
+ b.Property("Description")
+ .HasColumnType("TEXT");
+
+ b.Property("Duplicate")
+ .HasColumnType("INTEGER");
+
+ b.Property("Name")
+ .HasColumnType("TEXT");
+
+ b.Property("Organization")
+ .HasColumnType("TEXT");
+
+ b.Property("PrimaryCode")
+ .HasColumnType("INTEGER");
+
+ b.Property("SecondaryCode")
+ .HasColumnType("INTEGER");
+
+ b.Property("SscId")
+ .HasColumnType("INTEGER");
+
+ b.Property("TestedSequentialMediaId")
+ .HasColumnType("INTEGER");
+
+ b.Property("Tracks")
+ .HasColumnType("INTEGER");
+
+ b.Property("Width")
+ .HasColumnType("INTEGER");
+
+ b.Property("Writable")
+ .HasColumnType("INTEGER");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SscId");
+
+ b.HasIndex("TestedSequentialMediaId");
+
+ b.ToTable("SupportedDensity");
+ });
+
+ modelBuilder.Entity("Aaru.CommonTypes.Metadata.TestedMedia", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("INTEGER");
+
+ b.Property("AdipData")
+ .HasColumnType("BLOB");
+
+ b.Property("AtaId")
+ .HasColumnType("INTEGER");
+
+ b.Property("AtipData")
+ .HasColumnType("BLOB");
+
+ b.Property("BlockSize")
+ .HasColumnType("INTEGER");
+
+ b.Property("Blocks")
+ .HasColumnType("INTEGER");
+
+ b.Property("BluBcaData")
+ .HasColumnType("BLOB");
+
+ b.Property("BluDdsData")
+ .HasColumnType("BLOB");
+
+ b.Property("BluDiData")
+ .HasColumnType("BLOB");
+
+ b.Property("BluPacData")
+ .HasColumnType("BLOB");
+
+ b.Property("BluSaiData")
+ .HasColumnType("BLOB");
+
+ b.Property("C2PointersData")
+ .HasColumnType("BLOB");
+
+ b.Property("CHSId")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadAACS")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadADIP")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadATIP")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadBCA")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadC2Pointers")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCMI")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCdScrambled")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCorrectedSubchannel")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadCorrectedSubchannelWithC2")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDCB")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDDS")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDMI")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadDiscInformation")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadFirstTrackPreGap")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadFullTOC")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadHDCMI")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadLayerCapacity")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadLeadIn")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadLeadOut")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadMediaID")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadMediaSerial")
+ .HasColumnType("INTEGER");
+
+ b.Property("CanReadPAC")
+ .HasColumnType("INTEGER");
+
+ b.Property