Coverage for product_risk_suite / risk_assessment / migrations / 0001_initial.py: 100%
8 statements
« prev ^ index » next coverage.py v7.14.0, created at 2026-05-13 23:42 +0000
« prev ^ index » next coverage.py v7.14.0, created at 2026-05-13 23:42 +0000
1# Generated by Django 5.2.12 on 2026-04-10 10:05
3import django.core.validators
4import django.db.models.deletion
5from django.conf import settings
6from django.db import migrations, models
9class Migration(migrations.Migration):
11 initial = True
13 dependencies = [
14 migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15 ]
17 operations = [
18 migrations.CreateModel(
19 name='Asset',
20 fields=[
21 ('id', models.AutoField(primary_key=True, serialize=False)),
22 ('name', models.CharField(max_length=200, unique=True)),
23 ],
24 ),
25 migrations.CreateModel(
26 name='LiveCycle',
27 fields=[
28 ('id', models.AutoField(primary_key=True, serialize=False)),
29 ('name', models.CharField(max_length=200, unique=True)),
30 ],
31 ),
32 migrations.CreateModel(
33 name='Origin',
34 fields=[
35 ('id', models.AutoField(primary_key=True, serialize=False)),
36 ('name', models.CharField(max_length=200, unique=True)),
37 ],
38 ),
39 migrations.CreateModel(
40 name='RiskRating',
41 fields=[
42 ('id', models.AutoField(primary_key=True, serialize=False)),
43 ('likelihood_of_occurrence', models.IntegerField(default=1, validators=[django.core.validators.MaxValueValidator(5), django.core.validators.MinValueValidator(1)])),
44 ('severity_of_impact', models.IntegerField(default=1, validators=[django.core.validators.MaxValueValidator(5), django.core.validators.MinValueValidator(1)])),
45 ],
46 ),
47 migrations.CreateModel(
48 name='Status',
49 fields=[
50 ('id', models.AutoField(primary_key=True, serialize=False)),
51 ('status', models.CharField(choices=[('Open', True), ('On going', True), ('Finished', False), ('Rejected', False)], max_length=255, unique=True)),
52 ],
53 ),
54 migrations.CreateModel(
55 name='Stride',
56 fields=[
57 ('id', models.AutoField(primary_key=True, serialize=False)),
58 ('name', models.CharField(choices=[('S', 'Spoofing'), ('T', 'Tampering'), ('R', 'Repudiation'), ('I', 'Information Disclosure'), ('D', 'Denial of Service'), ('E', 'Elevation of Privileges')], max_length=255, unique=True)),
59 ],
60 ),
61 migrations.CreateModel(
62 name='SecurityRequirement',
63 fields=[
64 ('id', models.AutoField(primary_key=True, serialize=False)),
65 ('norm_short', models.CharField(max_length=255)),
66 ('norm_long', models.CharField(max_length=255)),
67 ('description_short', models.CharField(max_length=255)),
68 ('description_long', models.TextField()),
69 ('slug', models.SlugField()),
70 ],
71 options={
72 'unique_together': {('norm_short', 'description_short')},
73 },
74 ),
75 migrations.CreateModel(
76 name='RiskMitigation',
77 fields=[
78 ('id', models.AutoField(primary_key=True, serialize=False)),
79 ('mitigation', models.TextField(blank=True, null=True)),
80 ('rational', models.TextField(blank=True, null=True)),
81 ('security_requirements', models.ManyToManyField(to='risk_assessment.securityrequirement')),
82 ],
83 ),
84 migrations.CreateModel(
85 name='Evidence',
86 fields=[
87 ('id', models.AutoField(primary_key=True, serialize=False)),
88 ('due_date', models.DateField()),
89 ('evidence', models.TextField(blank=True, null=True)),
90 ('responsible', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
91 ('status', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='risk_assessment.status')),
92 ],
93 ),
94 migrations.CreateModel(
95 name='Risk',
96 fields=[
97 ('id', models.AutoField(primary_key=True, serialize=False)),
98 ('custom_id', models.CharField(default='RISK-', max_length=255, unique=True)),
99 ('title', models.CharField(max_length=255)),
100 ('description', models.TextField()),
101 ('asset', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='risk_assessment.asset')),
102 ('live_cycle', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='risk_assessment.livecycle')),
103 ('origin', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='risk_assessment.origin')),
104 ('stride', models.ManyToManyField(to='risk_assessment.stride')),
105 ],
106 ),
107 ]