Works almost
This commit is contained in:
@@ -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',),
|
||||
),
|
||||
]
|
||||
|
||||
@@ -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),
|
||||
),
|
||||
]
|
||||
18
abac/migrations/0003_rename_option_ruleattribute_operator.py
Normal file
18
abac/migrations/0003_rename_option_ruleattribute_operator.py
Normal 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',
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user