Works almost

This commit is contained in:
2023-09-28 17:29:30 +02:00
parent 175e13da4f
commit 92546024d8
147 changed files with 31229 additions and 70 deletions

View File

@@ -1,4 +1,4 @@
# Generated by Django 4.2.5 on 2023-09-21 17:15
# Generated by Django 4.2.5 on 2023-09-28 12:45
from django.conf import settings
import django.contrib.auth.models
@@ -43,49 +43,61 @@ class Migration(migrations.Migration):
('objects', django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name='Attribute',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('value', models.IntegerField()),
],
),
migrations.CreateModel(
name='AttributeType',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('is_secret', models.BooleanField(default=False)),
('is_private', models.BooleanField(default=False)),
('datatype', models.CharField(max_length=15)),
('significant_digits', models.PositiveIntegerField(blank=True, null=True)),
('name', models.CharField(max_length=40)),
],
),
migrations.CreateModel(
name='Rule',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('rule_type', models.CharField(choices=[('and', 'AND'), ('or', 'OR')], max_length=3)),
('attributes', models.ManyToManyField(to='abac.attribute')),
],
),
migrations.CreateModel(
name='File',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('file', models.FileField(upload_to='uploads/')),
('created_at', models.DateTimeField(auto_now_add=True)),
('last_modified', models.DateTimeField(auto_now=True)),
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('rules', models.ManyToManyField(to='abac.rule')),
],
options={
'ordering': ['name', 'created_at'],
},
),
migrations.CreateModel(
name='Rule',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('file', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abac.file')),
],
),
migrations.AddField(
model_name='attribute',
name='attribute_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abac.attributetype'),
migrations.CreateModel(
name='Attribute',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('value', models.IntegerField()),
('last_modified', models.DateTimeField(auto_now=True)),
('attribute_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abac.attributetype')),
],
),
migrations.AddField(
model_name='attribute',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
migrations.CreateModel(
name='UserAttribute',
fields=[
('attribute_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='abac.attribute')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
bases=('abac.attribute',),
),
migrations.CreateModel(
name='RuleAttribute',
fields=[
('attribute_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='abac.attribute')),
('rule', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='abac.rule')),
],
bases=('abac.attribute',),
),
]

View File

@@ -0,0 +1,42 @@
# Generated by Django 4.2.5 on 2023-09-28 13:51
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('abac', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='attribute',
name='last_modified',
),
migrations.AddField(
model_name='rule',
name='delete',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='rule',
name='read',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='rule',
name='write',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='ruleattribute',
name='option',
field=models.CharField(choices=[('EQ', 'Equals'), ('NEQ', "Doesn't Equal"), ('GT', 'Greater Than'), ('LT', 'Less Than')], default='EQ', max_length=3),
),
migrations.AddField(
model_name='userattribute',
name='last_modified',
field=models.DateTimeField(auto_now=True),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 4.2.5 on 2023-09-28 14:49
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('abac', '0002_remove_attribute_last_modified_rule_delete_rule_read_and_more'),
]
operations = [
migrations.RenameField(
model_name='ruleattribute',
old_name='option',
new_name='operator',
),
]