# Generated by Django 5.2.17 on 2026-09-15 09:29 import django.db.models.deletion import uuid from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Permission', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('code', models.CharField(max_length=120, unique=True)), ('description', models.CharField(blank=True, max_length=255)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Role', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('name', models.CharField(max_length=120)), ('slug', models.SlugField(max_length=120, unique=True)), ('description', models.CharField(blank=True, max_length=255)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='RolePermission', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('permission', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rbac.permission')), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='rbac.role')), ], ), migrations.AddField( model_name='role', name='permissions', field=models.ManyToManyField(blank=True, related_name='roles', through='rbac.RolePermission', to='rbac.permission'), ), migrations.CreateModel( name='UserRole', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('scope', models.JSONField(blank=True, default=dict)), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_roles', to='rbac.role')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user_roles', to=settings.AUTH_USER_MODEL)), ], ), migrations.AddConstraint( model_name='rolepermission', constraint=models.UniqueConstraint(fields=('role', 'permission'), name='uniq_role_permission'), ), migrations.AddConstraint( model_name='userrole', constraint=models.UniqueConstraint(fields=('user', 'role'), name='uniq_user_role'), ), ]