Refactor IPAM model classes to use records for Address, Subnetwork, Vlan, Vrf, Section, Tag, Domain, Nameserver, and Session; enhance documentation and implement value equality for records.
This commit is contained in:
@@ -1,57 +1,27 @@
|
||||
namespace PS.IPAM;
|
||||
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a section in phpIPAM that organizes subnets.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class Section {
|
||||
public int Id { get; }
|
||||
public string Name { get; }
|
||||
public string Description { get; }
|
||||
public int MasterSectionId { get; }
|
||||
public string Permissions { get; }
|
||||
public bool StrictMode { get; }
|
||||
public string SubnetOrdering { get; }
|
||||
public int Order { get; }
|
||||
public DateTime? EditDate { get; }
|
||||
public bool ShowSubnet { get; }
|
||||
public bool ShowVlan { get; }
|
||||
public bool ShowVRF { get; }
|
||||
public bool ShowSupernetOnly { get; }
|
||||
public int DNSId { get; }
|
||||
|
||||
public Section (
|
||||
int id,
|
||||
string name,
|
||||
string description,
|
||||
int masterSectionId,
|
||||
string permissions,
|
||||
bool strictMode,
|
||||
string subnetOrdering,
|
||||
int order,
|
||||
DateTime? editDate,
|
||||
bool showSubnet,
|
||||
bool showVlan,
|
||||
bool showVRF,
|
||||
bool showSupernetOnly,
|
||||
int dnsId
|
||||
) {
|
||||
this.Id = id;
|
||||
this.Name = name;
|
||||
this.Description = description;
|
||||
this.MasterSectionId = masterSectionId;
|
||||
this.Permissions = permissions;
|
||||
this.StrictMode = strictMode;
|
||||
this.SubnetOrdering = subnetOrdering;
|
||||
this.Order = order;
|
||||
this.EditDate = editDate;
|
||||
this.ShowSubnet = showSubnet;
|
||||
this.ShowVlan = showVlan;
|
||||
this.ShowVRF = showVRF;
|
||||
this.ShowSupernetOnly = showSupernetOnly;
|
||||
this.DNSId = dnsId;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return this.Name;
|
||||
}
|
||||
}
|
||||
public sealed record Section(
|
||||
int Id,
|
||||
string Name,
|
||||
string Description,
|
||||
int MasterSectionId,
|
||||
string Permissions,
|
||||
bool StrictMode,
|
||||
string SubnetOrdering,
|
||||
int Order,
|
||||
DateTime? EditDate,
|
||||
bool ShowSubnet,
|
||||
bool ShowVlan,
|
||||
bool ShowVRF,
|
||||
bool ShowSupernetOnly,
|
||||
int DNSId
|
||||
)
|
||||
{
|
||||
public override string ToString() => Name;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user