import uuid import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ('organization', '0003_organizacion_apply_auto_download'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='RolePermission', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)), ('codename', models.CharField(max_length=100, unique=True)), ('descripcion', models.CharField(max_length=255)), ('modulo', models.CharField(max_length=50)), ], options={ 'verbose_name': 'Permiso', 'verbose_name_plural': 'Permisos', 'db_table': 'rbac_role_permission', 'ordering': ['modulo', 'codename'], }, ), migrations.CreateModel( name='OrganizationRole', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('nombre', models.CharField(max_length=100)), ('descripcion', models.CharField(blank=True, max_length=255)), ('is_admin_role', models.BooleanField(default=False)), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('organizacion', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='roles', to='organization.organizacion', )), ('permissions', models.ManyToManyField( blank=True, related_name='roles', to='rbac.rolepermission', )), ], options={ 'verbose_name': 'Rol de Organización', 'verbose_name_plural': 'Roles de Organización', 'db_table': 'rbac_organization_role', 'ordering': ['nombre'], }, ), migrations.AddConstraint( model_name='organizationrole', constraint=models.UniqueConstraint(fields=['organizacion', 'nombre'], name='unique_role_per_org'), ), 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)), ('user', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='user_roles', to=settings.AUTH_USER_MODEL, )), ('role', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='user_roles', to='rbac.organizationrole', )), ], options={ 'verbose_name': 'Rol de Usuario', 'verbose_name_plural': 'Roles de Usuario', 'db_table': 'rbac_user_role', }, ), migrations.AddConstraint( model_name='userrole', constraint=models.UniqueConstraint(fields=['user', 'role'], name='unique_user_role'), ), migrations.CreateModel( name='UserPermission', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('granted', models.BooleanField(default=True)), ('created_at', models.DateTimeField(auto_now_add=True)), ('user', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='rbac_permissions', to=settings.AUTH_USER_MODEL, )), ('permission', models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='user_overrides', to='rbac.rolepermission', )), ], options={ 'verbose_name': 'Permiso Singular', 'verbose_name_plural': 'Permisos Singulares', 'db_table': 'rbac_user_permission', }, ), migrations.AddConstraint( model_name='userpermission', constraint=models.UniqueConstraint(fields=['user', 'permission'], name='unique_user_permission'), ), ]