Add statistics for remote.

This commit is contained in:
2019-12-04 18:29:58 +00:00
parent 9dacf48f5a
commit 13c3060737
7 changed files with 2583 additions and 30 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DiscImageChef.Server.Migrations
{
public partial class RemoteStatistics : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable("RemoteApplications", table => new
{
Id = table.Column<int>().
Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
Name = table.Column<string>(nullable: true), Version = table.Column<string>(nullable: true),
Count = table.Column<long>()
}, constraints: table =>
{
table.PrimaryKey("PK_RemoteApplications", x => x.Id);
});
migrationBuilder.CreateTable("RemoteArchitectures", table => new
{
Id = table.Column<int>().
Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
Name = table.Column<string>(nullable: true), Count = table.Column<long>()
}, constraints: table =>
{
table.PrimaryKey("PK_RemoteArchitectures", x => x.Id);
});
migrationBuilder.CreateTable("RemoteOperatingSystems", table => new
{
Id = table.Column<int>().
Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
Name = table.Column<string>(nullable: true), Version = table.Column<string>(nullable: true),
Count = table.Column<long>()
}, constraints: table =>
{
table.PrimaryKey("PK_RemoteOperatingSystems", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable("RemoteApplications");
migrationBuilder.DropTable("RemoteArchitectures");
migrationBuilder.DropTable("RemoteOperatingSystems");
}
}
}

View File

@@ -1173,6 +1173,49 @@ namespace DiscImageChef.Server.Migrations
b.ToTable("Partitions");
});
modelBuilder.Entity("DiscImageChef.Server.Models.RemoteApplication", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("int");
b.Property<long>("Count").HasColumnType("bigint");
b.Property<string>("Name").HasColumnType("longtext CHARACTER SET utf8mb4");
b.Property<string>("Version").HasColumnType("longtext CHARACTER SET utf8mb4");
b.HasKey("Id");
b.ToTable("RemoteApplications");
});
modelBuilder.Entity("DiscImageChef.Server.Models.RemoteArchitecture", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("int");
b.Property<long>("Count").HasColumnType("bigint");
b.Property<string>("Name").HasColumnType("longtext CHARACTER SET utf8mb4");
b.HasKey("Id");
b.ToTable("RemoteArchitectures");
});
modelBuilder.Entity("DiscImageChef.Server.Models.RemoteOperatingSystem", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("int");
b.Property<long>("Count").HasColumnType("bigint");
b.Property<string>("Name").HasColumnType("longtext CHARACTER SET utf8mb4");
b.Property<string>("Version").HasColumnType("longtext CHARACTER SET utf8mb4");
b.HasKey("Id");
b.ToTable("RemoteOperatingSystems");
});
modelBuilder.Entity("DiscImageChef.Server.Models.UploadedReport", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("int");

View File

@@ -45,36 +45,39 @@ namespace DiscImageChef.Server.Models
public DicServerContext(DbContextOptions<DicServerContext> options) : base(options) { }
public DbSet<Device> Devices { get; set; }
public DbSet<UploadedReport> Reports { get; set; }
public DbSet<Command> Commands { get; set; }
public DbSet<DeviceStat> DeviceStats { get; set; }
public DbSet<Filesystem> Filesystems { get; set; }
public DbSet<Filter> Filters { get; set; }
public DbSet<Media> Medias { get; set; }
public DbSet<MediaFormat> MediaFormats { get; set; }
public DbSet<OperatingSystem> OperatingSystems { get; set; }
public DbSet<Partition> Partitions { get; set; }
public DbSet<Version> Versions { get; set; }
public DbSet<UsbVendor> UsbVendors { get; set; }
public DbSet<UsbProduct> UsbProducts { get; set; }
public DbSet<CompactDiscOffset> CdOffsets { get; set; }
public DbSet<CommonTypes.Metadata.Ata> Ata { get; set; }
public DbSet<BlockDescriptor> BlockDescriptor { get; set; }
public DbSet<Chs> Chs { get; set; }
public DbSet<FireWire> FireWire { get; set; }
public DbSet<Mmc> Mmc { get; set; }
public DbSet<MmcSd> MmcSd { get; set; }
public DbSet<MmcFeatures> MmcFeatures { get; set; }
public DbSet<Pcmcia> Pcmcia { get; set; }
public DbSet<Scsi> Scsi { get; set; }
public DbSet<ScsiMode> ScsiMode { get; set; }
public DbSet<ScsiPage> ScsiPage { get; set; }
public DbSet<Ssc> Ssc { get; set; }
public DbSet<SupportedDensity> SupportedDensity { get; set; }
public DbSet<TestedMedia> TestedMedia { get; set; }
public DbSet<TestedSequentialMedia> TestedSequentialMedia { get; set; }
public DbSet<Usb> Usb { get; set; }
public DbSet<Device> Devices { get; set; }
public DbSet<UploadedReport> Reports { get; set; }
public DbSet<Command> Commands { get; set; }
public DbSet<DeviceStat> DeviceStats { get; set; }
public DbSet<Filesystem> Filesystems { get; set; }
public DbSet<Filter> Filters { get; set; }
public DbSet<Media> Medias { get; set; }
public DbSet<MediaFormat> MediaFormats { get; set; }
public DbSet<OperatingSystem> OperatingSystems { get; set; }
public DbSet<Partition> Partitions { get; set; }
public DbSet<Version> Versions { get; set; }
public DbSet<UsbVendor> UsbVendors { get; set; }
public DbSet<UsbProduct> UsbProducts { get; set; }
public DbSet<CompactDiscOffset> CdOffsets { get; set; }
public DbSet<CommonTypes.Metadata.Ata> Ata { get; set; }
public DbSet<BlockDescriptor> BlockDescriptor { get; set; }
public DbSet<Chs> Chs { get; set; }
public DbSet<FireWire> FireWire { get; set; }
public DbSet<Mmc> Mmc { get; set; }
public DbSet<MmcSd> MmcSd { get; set; }
public DbSet<MmcFeatures> MmcFeatures { get; set; }
public DbSet<Pcmcia> Pcmcia { get; set; }
public DbSet<Scsi> Scsi { get; set; }
public DbSet<ScsiMode> ScsiMode { get; set; }
public DbSet<ScsiPage> ScsiPage { get; set; }
public DbSet<Ssc> Ssc { get; set; }
public DbSet<SupportedDensity> SupportedDensity { get; set; }
public DbSet<TestedMedia> TestedMedia { get; set; }
public DbSet<TestedSequentialMedia> TestedSequentialMedia { get; set; }
public DbSet<Usb> Usb { get; set; }
public DbSet<RemoteApplication> RemoteApplications { get; set; }
public DbSet<RemoteArchitecture> RemoteArchitectures { get; set; }
public DbSet<RemoteOperatingSystem> RemoteOperatingSystems { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{

View File

@@ -0,0 +1,36 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : RemoteApplication.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : DiscImageChef Server.
//
// --[ Description ] ----------------------------------------------------------
//
// Model for storing remote application statistics in database.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
namespace DiscImageChef.Server.Models
{
public class RemoteApplication : BaseOperatingSystem { }
}

View File

@@ -0,0 +1,36 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : RemoteArchitecture.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : DiscImageChef Server.
//
// --[ Description ] ----------------------------------------------------------
//
// Model for storing remote architecture statistics in database.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
namespace DiscImageChef.Server.Models
{
public class RemoteArchitecture : NameCountModel<int> { }
}

View File

@@ -0,0 +1,36 @@
// /***************************************************************************
// The Disc Image Chef
// ----------------------------------------------------------------------------
//
// Filename : RemoteOperatingSystem.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : DiscImageChef Server.
//
// --[ Description ] ----------------------------------------------------------
//
// Model for storing remote operating system statistics in database.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2019 Natalia Portillo
// ****************************************************************************/
namespace DiscImageChef.Server.Models
{
public class RemoteOperatingSystem : BaseOperatingSystem { }
}