mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
Changed Drives property on Device entity to use value conversion instead of foreign key.
This commit is contained in:
parent
31fb1b6c6c
commit
2116a27565
@ -14,7 +14,7 @@ namespace Remotely_Library.Models
|
||||
public class Device
|
||||
{
|
||||
public string CurrentUser { get; set; }
|
||||
public virtual ICollection<Drive> Drives { get; set; }
|
||||
public List<Drive> Drives { get; set; }
|
||||
|
||||
public double FreeMemory { get; set; }
|
||||
|
||||
|
||||
@ -8,15 +8,12 @@ namespace Remotely_Library.Models
|
||||
{
|
||||
public class Drive
|
||||
{
|
||||
[Key]
|
||||
public string ID { get; set; } = Guid.NewGuid().ToString();
|
||||
public DriveType DriveType { get; set; }
|
||||
public string RootDirectory { get; internal set; }
|
||||
public string Name { get; internal set; }
|
||||
public string DriveFormat { get; internal set; }
|
||||
public double FreeSpace { get; internal set; }
|
||||
public double TotalSize { get; internal set; }
|
||||
public string VolumeLabel { get; internal set; }
|
||||
public string DeviceID { get; set; }
|
||||
public string RootDirectory { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string DriveFormat { get; set; }
|
||||
public double FreeSpace { get; set; }
|
||||
public double TotalSize { get; set; }
|
||||
public string VolumeLabel { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
2019.04.03.1717
|
||||
2019.04.03.2058
|
||||
|
||||
@ -18,8 +18,6 @@ namespace Remotely_Server.Data
|
||||
|
||||
public DbSet<CommandContext> CommandContexts { get; set; }
|
||||
|
||||
public DbSet<Drive> Drives { get; set; }
|
||||
|
||||
public DbSet<Device> Devices { get; set; }
|
||||
|
||||
public DbSet<Organization> Organizations { get; set; }
|
||||
@ -88,7 +86,10 @@ namespace Remotely_Server.Data
|
||||
.HasOne(x => x.Organization);
|
||||
|
||||
builder.Entity<Device>()
|
||||
.HasMany(x => x.Drives);
|
||||
.Property(x => x.Drives)
|
||||
.HasConversion(
|
||||
x => JsonConvert.SerializeObject(x),
|
||||
x => JsonConvert.DeserializeObject<List<Drive>>(x));
|
||||
|
||||
|
||||
builder.Entity<UserPermissionLink>()
|
||||
|
||||
@ -156,7 +156,6 @@ namespace Remotely_Server.Data
|
||||
|
||||
var result = RemotelyContext.Devices
|
||||
.Include(x => x.DevicePermissionLinks)
|
||||
.Include(x => x.Drives)
|
||||
.Where(x => x.OrganizationID == user.OrganizationID);
|
||||
|
||||
if (user.IsAdministrator)
|
||||
@ -215,7 +214,6 @@ namespace Remotely_Server.Data
|
||||
|
||||
var result = RemotelyContext.Devices
|
||||
.Include(x => x.DevicePermissionLinks)
|
||||
.Include(x => x.Drives)
|
||||
.Where(x =>
|
||||
x.OrganizationID == user.OrganizationID &&
|
||||
x.ID == deviceID);
|
||||
@ -275,17 +273,8 @@ namespace Remotely_Server.Data
|
||||
public void RemoveDevices(string[] deviceIDs)
|
||||
{
|
||||
var devices = RemotelyContext.Devices
|
||||
.Include(x => x.Drives)
|
||||
.Where(x => deviceIDs.Contains(x.ID));
|
||||
foreach (var device in devices)
|
||||
{
|
||||
|
||||
if (device?.Drives?.Count > 0)
|
||||
{
|
||||
RemotelyContext.Drives.RemoveRange(device.Drives);
|
||||
}
|
||||
RemotelyContext.Devices.Remove(device);
|
||||
}
|
||||
RemotelyContext.Devices.RemoveRange(devices);
|
||||
RemotelyContext.SaveChanges();
|
||||
}
|
||||
|
||||
|
||||
559
Remotely_Server/Migrations/20190404021415_DrivesValuesConversion.Designer.cs
generated
Normal file
559
Remotely_Server/Migrations/20190404021415_DrivesValuesConversion.Designer.cs
generated
Normal file
@ -0,0 +1,559 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Remotely_Server.Data;
|
||||
|
||||
namespace Remotely_Server.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20190404021415_DrivesValuesConversion")]
|
||||
partial class DrivesValuesConversion
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "2.2.3-servicing-35854");
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("ConcurrencyStamp")
|
||||
.IsConcurrencyToken();
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasMaxLength(256);
|
||||
|
||||
b.Property<string>("NormalizedName")
|
||||
.HasMaxLength(256);
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("NormalizedName")
|
||||
.IsUnique()
|
||||
.HasName("RoleNameIndex");
|
||||
|
||||
b.ToTable("AspNetRoles");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("ClaimType");
|
||||
|
||||
b.Property<string>("ClaimValue");
|
||||
|
||||
b.Property<string>("RoleId")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("RoleId");
|
||||
|
||||
b.ToTable("AspNetRoleClaims");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<int>("AccessFailedCount");
|
||||
|
||||
b.Property<string>("ConcurrencyStamp")
|
||||
.IsConcurrencyToken();
|
||||
|
||||
b.Property<string>("Discriminator")
|
||||
.IsRequired();
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasMaxLength(256);
|
||||
|
||||
b.Property<bool>("EmailConfirmed");
|
||||
|
||||
b.Property<bool>("LockoutEnabled");
|
||||
|
||||
b.Property<DateTimeOffset?>("LockoutEnd");
|
||||
|
||||
b.Property<string>("NormalizedEmail")
|
||||
.HasMaxLength(256);
|
||||
|
||||
b.Property<string>("NormalizedUserName")
|
||||
.HasMaxLength(256);
|
||||
|
||||
b.Property<string>("PasswordHash");
|
||||
|
||||
b.Property<string>("PhoneNumber");
|
||||
|
||||
b.Property<bool>("PhoneNumberConfirmed");
|
||||
|
||||
b.Property<string>("SecurityStamp");
|
||||
|
||||
b.Property<bool>("TwoFactorEnabled");
|
||||
|
||||
b.Property<string>("UserName")
|
||||
.HasMaxLength(256);
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("NormalizedEmail")
|
||||
.HasName("EmailIndex");
|
||||
|
||||
b.HasIndex("NormalizedUserName")
|
||||
.IsUnique()
|
||||
.HasName("UserNameIndex");
|
||||
|
||||
b.ToTable("RemotelyUsers");
|
||||
|
||||
b.HasDiscriminator<string>("Discriminator").HasValue("IdentityUser");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("ClaimType");
|
||||
|
||||
b.Property<string>("ClaimValue");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("AspNetUserClaims");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
|
||||
{
|
||||
b.Property<string>("LoginProvider")
|
||||
.HasMaxLength(128);
|
||||
|
||||
b.Property<string>("ProviderKey")
|
||||
.HasMaxLength(128);
|
||||
|
||||
b.Property<string>("ProviderDisplayName");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired();
|
||||
|
||||
b.HasKey("LoginProvider", "ProviderKey");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("AspNetUserLogins");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
|
||||
{
|
||||
b.Property<string>("UserId");
|
||||
|
||||
b.Property<string>("RoleId");
|
||||
|
||||
b.HasKey("UserId", "RoleId");
|
||||
|
||||
b.HasIndex("RoleId");
|
||||
|
||||
b.ToTable("AspNetUserRoles");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
|
||||
{
|
||||
b.Property<string>("UserId");
|
||||
|
||||
b.Property<string>("LoginProvider")
|
||||
.HasMaxLength(128);
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasMaxLength(128);
|
||||
|
||||
b.Property<string>("Value");
|
||||
|
||||
b.HasKey("UserId", "LoginProvider", "Name");
|
||||
|
||||
b.ToTable("AspNetUserTokens");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.CommandContext", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("CommandMode");
|
||||
|
||||
b.Property<string>("CommandResults");
|
||||
|
||||
b.Property<string>("CommandText");
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.Property<string>("PSCoreResults");
|
||||
|
||||
b.Property<string>("SenderConnectionID");
|
||||
|
||||
b.Property<string>("SenderUserID");
|
||||
|
||||
b.Property<string>("TargetDeviceIDs");
|
||||
|
||||
b.Property<DateTime>("TimeStamp");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.ToTable("CommandContexts");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.Device", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("CurrentUser");
|
||||
|
||||
b.Property<string>("DeviceName");
|
||||
|
||||
b.Property<string>("Drives");
|
||||
|
||||
b.Property<double>("FreeMemory");
|
||||
|
||||
b.Property<double>("FreeStorage");
|
||||
|
||||
b.Property<bool>("Is64Bit");
|
||||
|
||||
b.Property<bool>("IsOnline");
|
||||
|
||||
b.Property<DateTime>("LastOnline");
|
||||
|
||||
b.Property<int>("OSArchitecture");
|
||||
|
||||
b.Property<string>("OSDescription");
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.Property<string>("Platform");
|
||||
|
||||
b.Property<int>("ProcessorCount");
|
||||
|
||||
b.Property<string>("ServerVerificationToken");
|
||||
|
||||
b.Property<string>("Tags")
|
||||
.HasMaxLength(200);
|
||||
|
||||
b.Property<double>("TotalMemory");
|
||||
|
||||
b.Property<double>("TotalStorage");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.ToTable("Devices");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.DevicePermissionLink", b =>
|
||||
{
|
||||
b.Property<string>("PermissionGroupID");
|
||||
|
||||
b.Property<string>("DeviceID");
|
||||
|
||||
b.HasKey("PermissionGroupID", "DeviceID");
|
||||
|
||||
b.HasIndex("DeviceID");
|
||||
|
||||
b.ToTable("DevicePermissionLinks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.EventLog", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<int>("EventType");
|
||||
|
||||
b.Property<string>("Message");
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.Property<string>("Source");
|
||||
|
||||
b.Property<string>("StackTrace");
|
||||
|
||||
b.Property<DateTime>("TimeStamp");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.ToTable("EventLogs");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.InviteLink", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<DateTime>("DateSent");
|
||||
|
||||
b.Property<string>("InvitedUser");
|
||||
|
||||
b.Property<bool>("IsAdmin");
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.ToTable("InviteLinks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.Organization", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("OrganizationName")
|
||||
.HasMaxLength(25);
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("Organizations");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.PermissionGroup", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("Name")
|
||||
.HasMaxLength(100);
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.ToTable("PermissionGroups");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.RemotelyUserOptions", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("CommandModeShortcutBash")
|
||||
.HasMaxLength(10);
|
||||
|
||||
b.Property<string>("CommandModeShortcutCMD")
|
||||
.HasMaxLength(10);
|
||||
|
||||
b.Property<string>("CommandModeShortcutPSCore")
|
||||
.HasMaxLength(10);
|
||||
|
||||
b.Property<string>("CommandModeShortcutWeb")
|
||||
.HasMaxLength(10);
|
||||
|
||||
b.Property<string>("CommandModeShortcutWinPS")
|
||||
.HasMaxLength(10);
|
||||
|
||||
b.Property<string>("ConsolePrompt")
|
||||
.HasMaxLength(5);
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.ToTable("RemotelyUserOptions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.SharedFile", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("ContentType");
|
||||
|
||||
b.Property<byte[]>("FileContents");
|
||||
|
||||
b.Property<string>("FileName");
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.Property<DateTime>("Timestamp");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.ToTable("SharedFiles");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.UserPermissionLink", b =>
|
||||
{
|
||||
b.Property<string>("PermissionGroupID");
|
||||
|
||||
b.Property<string>("RemotelyUserID");
|
||||
|
||||
b.HasKey("PermissionGroupID", "RemotelyUserID");
|
||||
|
||||
b.HasIndex("RemotelyUserID");
|
||||
|
||||
b.ToTable("UserPermissionLinks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.RemotelyUser", b =>
|
||||
{
|
||||
b.HasBaseType("Microsoft.AspNetCore.Identity.IdentityUser");
|
||||
|
||||
b.Property<bool>("IsAdministrator");
|
||||
|
||||
b.Property<string>("OrganizationID");
|
||||
|
||||
b.Property<string>("UserOptionsID");
|
||||
|
||||
b.HasIndex("OrganizationID");
|
||||
|
||||
b.HasIndex("UserOptionsID");
|
||||
|
||||
b.ToTable("RemotelyUsers");
|
||||
|
||||
b.HasDiscriminator().HasValue("RemotelyUser");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
|
||||
.WithMany()
|
||||
.HasForeignKey("RoleId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole")
|
||||
.WithMany()
|
||||
.HasForeignKey("RoleId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
|
||||
{
|
||||
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.CommandContext", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("CommandContexts")
|
||||
.HasForeignKey("OrganizationID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.Device", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("Devices")
|
||||
.HasForeignKey("OrganizationID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.DevicePermissionLink", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Device", "Device")
|
||||
.WithMany("DevicePermissionLinks")
|
||||
.HasForeignKey("DeviceID")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne("Remotely_Library.Models.PermissionGroup", "PermissionGroup")
|
||||
.WithMany("DevicePermissionLinks")
|
||||
.HasForeignKey("PermissionGroupID")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.EventLog", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("EventLogs")
|
||||
.HasForeignKey("OrganizationID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.InviteLink", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("InviteLinks")
|
||||
.HasForeignKey("OrganizationID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.PermissionGroup", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("PermissionGroups")
|
||||
.HasForeignKey("OrganizationID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.SharedFile", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("SharedFiles")
|
||||
.HasForeignKey("OrganizationID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.UserPermissionLink", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.PermissionGroup", "PermissionGroup")
|
||||
.WithMany("UserPermissionLinks")
|
||||
.HasForeignKey("PermissionGroupID")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
|
||||
b.HasOne("Remotely_Library.Models.RemotelyUser", "RemotelyUser")
|
||||
.WithMany("UserPermissionLinks")
|
||||
.HasForeignKey("RemotelyUserID")
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.RemotelyUser", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
.WithMany("RemotelyUsers")
|
||||
.HasForeignKey("OrganizationID");
|
||||
|
||||
b.HasOne("Remotely_Library.Models.RemotelyUserOptions", "UserOptions")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserOptionsID");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace Remotely_Server.Migrations
|
||||
{
|
||||
public partial class DrivesValuesConversion : Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Drives");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Drives",
|
||||
table: "Devices",
|
||||
nullable: true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Drives",
|
||||
table: "Devices");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Drives",
|
||||
columns: table => new
|
||||
{
|
||||
ID = table.Column<string>(nullable: false),
|
||||
DeviceID = table.Column<string>(nullable: true),
|
||||
DriveFormat = table.Column<string>(nullable: true),
|
||||
DriveType = table.Column<int>(nullable: false),
|
||||
FreeSpace = table.Column<double>(nullable: false),
|
||||
Name = table.Column<string>(nullable: true),
|
||||
RootDirectory = table.Column<string>(nullable: true),
|
||||
TotalSize = table.Column<double>(nullable: false),
|
||||
VolumeLabel = table.Column<string>(nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Drives", x => x.ID);
|
||||
table.ForeignKey(
|
||||
name: "FK_Drives_Devices_DeviceID",
|
||||
column: x => x.DeviceID,
|
||||
principalTable: "Devices",
|
||||
principalColumn: "ID",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Drives_DeviceID",
|
||||
table: "Drives",
|
||||
column: "DeviceID");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -221,6 +221,8 @@ namespace Remotely_Server.Migrations
|
||||
|
||||
b.Property<string>("DeviceName");
|
||||
|
||||
b.Property<string>("Drives");
|
||||
|
||||
b.Property<double>("FreeMemory");
|
||||
|
||||
b.Property<double>("FreeStorage");
|
||||
@ -270,34 +272,6 @@ namespace Remotely_Server.Migrations
|
||||
b.ToTable("DevicePermissionLinks");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.Drive", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
.ValueGeneratedOnAdd();
|
||||
|
||||
b.Property<string>("DeviceID");
|
||||
|
||||
b.Property<string>("DriveFormat");
|
||||
|
||||
b.Property<int>("DriveType");
|
||||
|
||||
b.Property<double>("FreeSpace");
|
||||
|
||||
b.Property<string>("Name");
|
||||
|
||||
b.Property<string>("RootDirectory");
|
||||
|
||||
b.Property<double>("TotalSize");
|
||||
|
||||
b.Property<string>("VolumeLabel");
|
||||
|
||||
b.HasKey("ID");
|
||||
|
||||
b.HasIndex("DeviceID");
|
||||
|
||||
b.ToTable("Drives");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.EventLog", b =>
|
||||
{
|
||||
b.Property<string>("ID")
|
||||
@ -526,13 +500,6 @@ namespace Remotely_Server.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade);
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.Drive", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Device")
|
||||
.WithMany("Drives")
|
||||
.HasForeignKey("DeviceID");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("Remotely_Library.Models.EventLog", b =>
|
||||
{
|
||||
b.HasOne("Remotely_Library.Models.Organization", "Organization")
|
||||
|
||||
@ -102,8 +102,7 @@ namespace Remotely_Server
|
||||
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddJsonOptions(options =>
|
||||
{
|
||||
options.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
|
||||
options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
|
||||
options.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
|
||||
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
|
||||
});
|
||||
|
||||
services.AddSignalR(options =>
|
||||
@ -113,7 +112,7 @@ namespace Remotely_Server
|
||||
.AddJsonProtocol(options =>
|
||||
{
|
||||
options.PayloadSerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver();
|
||||
options.PayloadSerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
|
||||
options.PayloadSerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
|
||||
})
|
||||
.AddMessagePackProtocol();
|
||||
|
||||
@ -205,11 +204,10 @@ namespace Remotely_Server
|
||||
|
||||
private void ConfigureStaticFiles(IApplicationBuilder app)
|
||||
{
|
||||
Newtonsoft.Json.JsonConvert.DefaultSettings = () =>
|
||||
JsonConvert.DefaultSettings = () =>
|
||||
{
|
||||
var settings = new Newtonsoft.Json.JsonSerializerSettings();
|
||||
settings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
|
||||
settings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
|
||||
var settings = new JsonSerializerSettings();
|
||||
settings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
|
||||
return settings;
|
||||
};
|
||||
var provider = new FileExtensionContentTypeProvider();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user