Initial commit: IT Nexus Web-App
This commit is contained in:
91
agent-cs/Models/CheckinModels.cs
Normal file
91
agent-cs/Models/CheckinModels.cs
Normal file
@@ -0,0 +1,91 @@
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace ITNexusAgent.Models;
|
||||
|
||||
public class CheckinPayload
|
||||
{
|
||||
[JsonProperty("hostname")] public string Hostname { get; set; } = "";
|
||||
[JsonProperty("agent_version")] public string AgentVersion { get; set; } = "";
|
||||
[JsonProperty("os")] public string Os { get; set; } = "";
|
||||
[JsonProperty("os_version")] public string OsVersion { get; set; } = "";
|
||||
[JsonProperty("domain")] public string Domain { get; set; } = "";
|
||||
[JsonProperty("ip_address")] public string IpAddress { get; set; } = "";
|
||||
[JsonProperty("mac_address")] public string MacAddress { get; set; } = "";
|
||||
[JsonProperty("last_user")] public string LastUser { get; set; } = "";
|
||||
[JsonProperty("cpu_model")] public string CpuModel { get; set; } = "";
|
||||
[JsonProperty("cpu_cores")] public int CpuCores { get; set; }
|
||||
[JsonProperty("cpu_usage")] public double? CpuUsage { get; set; }
|
||||
[JsonProperty("ram_total")] public double? RamTotal { get; set; }
|
||||
[JsonProperty("ram_used")] public double? RamUsed { get; set; }
|
||||
[JsonProperty("disk_total")] public double? DiskTotal { get; set; }
|
||||
[JsonProperty("disk_free")] public double? DiskFree { get; set; }
|
||||
[JsonProperty("uptime_hours")] public double? UptimeHours { get; set; }
|
||||
[JsonProperty("pending_updates")] public int PendingUpdates { get; set; }
|
||||
[JsonProperty("tpm_present")] public bool TpmPresent { get; set; }
|
||||
[JsonProperty("tpm_version")] public string TpmVersion { get; set; } = "";
|
||||
[JsonProperty("tpm_v2")] public bool TpmV2 { get; set; }
|
||||
[JsonProperty("secure_boot")] public bool SecureBoot { get; set; }
|
||||
[JsonProperty("win11_ready")] public bool Win11Ready { get; set; }
|
||||
[JsonProperty("bitlocker_status")] public string BitlockerStatus { get; set; } = "";
|
||||
[JsonProperty("defender_enabled")] public bool DefenderEnabled { get; set; }
|
||||
[JsonProperty("defender_signatures_age")] public int? DefenderSignaturesAge { get; set; }
|
||||
[JsonProperty("hardware_serial")] public string HardwareSerial { get; set; } = "";
|
||||
[JsonProperty("installed_software")] public List<string> InstalledSoftware { get; set; } = [];
|
||||
}
|
||||
|
||||
public class CheckinResponse
|
||||
{
|
||||
[JsonProperty("agent_version")] public string? AgentVersion { get; set; }
|
||||
[JsonProperty("commands")] public List<PatchCommand> Commands { get; set; } = [];
|
||||
[JsonProperty("announcements")] public List<Announcement> Announcements { get; set; } = [];
|
||||
[JsonProperty("running_commands")] public List<RunningCommand> RunningCommands { get; set; } = [];
|
||||
}
|
||||
|
||||
public class PatchCommand
|
||||
{
|
||||
[JsonProperty("id")] public int Id { get; set; }
|
||||
[JsonProperty("command")] public string Command { get; set; } = "";
|
||||
}
|
||||
|
||||
public class RunningCommand
|
||||
{
|
||||
[JsonProperty("id")] public int Id { get; set; }
|
||||
[JsonProperty("command")] public string Command { get; set; } = "";
|
||||
}
|
||||
|
||||
public class Announcement
|
||||
{
|
||||
[JsonProperty("id")] public int Id { get; set; }
|
||||
[JsonProperty("title")] public string Title { get; set; } = "";
|
||||
[JsonProperty("message")] public string Message { get; set; } = "";
|
||||
[JsonProperty("type")] public string Type { get; set; } = "info";
|
||||
}
|
||||
|
||||
public class CommandResult
|
||||
{
|
||||
[JsonProperty("command_id")] public int CommandId { get; set; }
|
||||
[JsonProperty("status")] public string Status { get; set; } = "done";
|
||||
[JsonProperty("result")] public string Result { get; set; } = "";
|
||||
}
|
||||
|
||||
public class StatusCache
|
||||
{
|
||||
[JsonProperty("hostname")] public string Hostname { get; set; } = "";
|
||||
[JsonProperty("last_checkin")] public DateTime LastCheckin { get; set; }
|
||||
[JsonProperty("agent_version")] public string AgentVersion { get; set; } = "";
|
||||
[JsonProperty("server_url")] public string ServerUrl { get; set; } = "";
|
||||
[JsonProperty("online")] public bool Online { get; set; }
|
||||
[JsonProperty("cpu_usage")] public double? CpuUsage { get; set; }
|
||||
[JsonProperty("ram_total")] public double? RamTotal { get; set; }
|
||||
[JsonProperty("ram_used")] public double? RamUsed { get; set; }
|
||||
[JsonProperty("disk_total")] public double? DiskTotal { get; set; }
|
||||
[JsonProperty("disk_free")] public double? DiskFree { get; set; }
|
||||
[JsonProperty("pending_updates")] public int PendingUpdates { get; set; }
|
||||
[JsonProperty("bitlocker_status")] public string BitlockerStatus { get; set; } = "";
|
||||
[JsonProperty("defender_enabled")] public bool DefenderEnabled { get; set; }
|
||||
[JsonProperty("defender_sig_age")] public int? DefenderSignaturesAge { get; set; }
|
||||
[JsonProperty("hardware_serial")] public string HardwareSerial { get; set; } = "";
|
||||
[JsonProperty("os")] public string Os { get; set; } = "";
|
||||
[JsonProperty("last_user")] public string LastUser { get; set; } = "";
|
||||
[JsonProperty("installed_software")] public List<string> InstalledSoftware { get; set; } = [];
|
||||
}
|
||||
Reference in New Issue
Block a user