initial commit

This commit is contained in:
cubecraft-agents[bot]
2026-04-25 18:51:05 +00:00
commit 230c3b295d
78 changed files with 8093 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
namespace Extrudex.Domain.Enums;
/// <summary>
/// Describes how the backend communicates with a printer.
/// </summary>
public enum ConnectionType
{
/// <summary>Bambu Lab printers communicating via MQTT over TLS.</summary>
Mqtt = 0,
/// <summary>Klipper-based printers (Elegoo) communicating via Moonraker REST/WebSocket.</summary>
Moonraker = 1
}

View File

@@ -0,0 +1,16 @@
namespace Extrudex.Domain.Enums;
/// <summary>
/// Indicates where the print job data originated from.
/// </summary>
public enum DataSource
{
/// <summary>Data reported by a Bambu Lab printer via MQTT.</summary>
Mqtt = 0,
/// <summary>Data reported by an Elegoo/Klipper printer via Moonraker.</summary>
Moonraker = 1,
/// <summary>Manually entered by a user.</summary>
Manual = 2
}

View File

@@ -0,0 +1,22 @@
namespace Extrudex.Domain.Enums;
/// <summary>
/// Represents the current lifecycle status of a print job.
/// </summary>
public enum JobStatus
{
/// <summary>Job has been created but not yet sent to the printer.</summary>
Queued = 0,
/// <summary>Printer is actively printing this job.</summary>
Printing = 1,
/// <summary>Job completed successfully.</summary>
Completed = 2,
/// <summary>Job was cancelled by the user.</summary>
Cancelled = 3,
/// <summary>Job failed due to an error.</summary>
Failed = 4
}

View File

@@ -0,0 +1,32 @@
namespace Extrudex.Domain.Enums;
/// <summary>
/// Represents the current operational status of a printer.
/// </summary>
public enum PrinterStatus
{
/// <summary>
/// Printer is online and idle, ready to accept jobs.
/// </summary>
Idle = 0,
/// <summary>
/// Printer is currently printing.
/// </summary>
Printing = 1,
/// <summary>
/// Printer is offline or unreachable.
/// </summary>
Offline = 2,
/// <summary>
/// Printer is in an error state.
/// </summary>
Error = 3,
/// <summary>
/// Printer is paused.
/// </summary>
Paused = 4
}

View File

@@ -0,0 +1,13 @@
namespace Extrudex.Domain.Enums;
/// <summary>
/// Identifies the type of 3D printer hardware.
/// </summary>
public enum PrinterType
{
/// <summary>FDM/FFF filament-based printer.</summary>
Fdm = 0,
/// <summary>Resin-based SLA/DLP/LCD printer.</summary>
Resin = 1
}

View File

@@ -0,0 +1,24 @@
namespace Extrudex.Domain.Enums;
/// <summary>
/// Defines the resource types that support QR code generation.
/// Each type maps to a distinct API route for QR code retrieval.
/// </summary>
public enum QrResourceType
{
/// <summary>
/// QR code for a filament spool — links to spool detail/scan view.
/// </summary>
Spool,
/// <summary>
/// QR code for a printer — links to printer detail/monitor view.
/// </summary>
Printer,
/// <summary>
/// QR code for a storage location — links to location inventory view.
/// Reserved for future use when Location entities are introduced.
/// </summary>
Location
}