Add hardware-linked USB intake and inspection workflow

This commit is contained in:
Codex
2026-10-14 19:36:36 +02:00
parent e2870c2fda
commit c560c0450d
10 changed files with 378 additions and 0 deletions

View File

@@ -570,3 +570,18 @@ class ImportJob(TimeStampedModel):
headers = models.JSONField(default=list)
preview_rows = models.JSONField(default=list)
result = models.JSONField(default=dict)
class DeviceIdentity(models.Model):
"""Stable intake identity, independent of mutable specifications and USBs."""
hwid = models.CharField(max_length=100, unique=True)
device = models.ForeignKey(Device, on_delete=models.PROTECT, related_name='hardware_identities')
created_at = models.DateTimeField(auto_now_add=True)
class InspectionSubmission(models.Model):
request_id = models.UUIDField(unique=True)
device = models.ForeignKey(Device, on_delete=models.PROTECT, related_name='usb_inspections')
payload_hash = models.CharField(max_length=64)
payload = models.JSONField()
recorded_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True)
created_at = models.DateTimeField(auto_now_add=True)