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

@@ -0,0 +1,11 @@
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [('inventory', '0013_deviceregistration')]
operations = [migrations.CreateModel(name='DeviceIdentity', fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('hwid', models.CharField(max_length=100, unique=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('device', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='hardware_identities', to='inventory.device')),
])]

View File

@@ -0,0 +1,16 @@
from django.db import migrations, models
import django.db.models.deletion
from django.conf import settings
def add_status(apps, schema_editor):
apps.get_model('inventory','ChoiceValue').objects.get_or_create(kind='status',label='Inspektion',defaults={'active':True})
class Migration(migrations.Migration):
dependencies=[('inventory','0014_deviceidentity'),migrations.swappable_dependency(settings.AUTH_USER_MODEL)]
operations=[migrations.CreateModel(name='InspectionSubmission',fields=[
('id',models.BigAutoField(auto_created=True,primary_key=True,serialize=False,verbose_name='ID')),
('request_id',models.UUIDField(unique=True)),('payload_hash',models.CharField(max_length=64)),
('payload',models.JSONField()),('created_at',models.DateTimeField(auto_now_add=True)),
('device',models.ForeignKey(on_delete=django.db.models.deletion.PROTECT,related_name='usb_inspections',to='inventory.device')),
('recorded_by',models.ForeignKey(null=True,on_delete=django.db.models.deletion.SET_NULL,to=settings.AUTH_USER_MODEL)),
]),migrations.RunPython(add_status,migrations.RunPython.noop)]