Authinator/Backend/Database/Tables/Network.cs

37 lines
1.1 KiB
C#
Raw Normal View History

2023-06-01 06:14:20 +02:00
using System.Net;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace Authinator.Backend.Database.Tables;
2023-06-01 06:20:17 +02:00
public class Network {
public int Id { get; }
2023-06-01 06:14:20 +02:00
public string Name { get; set; } = null!;
public IPAddress Subnet { get; set; } = null!;
public class Configuration : IEntityTypeConfiguration<Network> {
public void Configure(EntityTypeBuilder<Network> group) {
group.ToTable("Networks");
group.HasKey(p => p.Id);
group.Property(b => b.Name).HasColumnName("Name").IsRequired();
group.Property(b => b.Name).HasColumnName("Subnet").IsRequired();
}
}
2023-06-01 06:20:17 +02:00
private bool Equals(Network other) => Id == other.Id;
public override bool Equals(object? obj) {
if (ReferenceEquals(null, obj))
return false;
if (ReferenceEquals(this, obj))
return true;
return obj.GetType() == GetType() && Equals((Network)obj);
}
public override int GetHashCode() => Id;
public static bool operator ==(Network? left, Network? right) => Equals(left, right);
public static bool operator !=(Network? left, Network? right) => !Equals(left, right);
2023-06-01 06:14:20 +02:00
}