# Generated by Django 4.1.13 on 2025-10-07 16:16 import common.db.fields from django.conf import settings import django.core.validators from django.db import migrations, models import uuid class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('acls', '0002_auto_20210926_1047'), ] operations = [ migrations.CreateModel( name='DataMaskingRule', fields=[ ('created_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Created by')), ('updated_by', models.CharField(blank=True, max_length=128, null=True, verbose_name='Updated by')), ('date_created', models.DateTimeField(auto_now_add=True, null=True, verbose_name='Date created')), ('date_updated', models.DateTimeField(auto_now=True, verbose_name='Date updated')), ('comment', models.TextField(blank=True, default='', verbose_name='Comment')), ('id', models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)), ('org_id', models.CharField(blank=True, db_index=True, default='', max_length=36, verbose_name='Organization')), ('priority', models.IntegerField(default=50, help_text='1-100, the lower the value will be match first', validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(100)], verbose_name='Priority')), ('action', models.CharField(default='reject', max_length=64, verbose_name='Action')), ('is_active', models.BooleanField(default=True, verbose_name='Active')), ('users', common.db.fields.JSONManyToManyField(default=dict, to='users.User', verbose_name='Users')), ('assets', common.db.fields.JSONManyToManyField(default=dict, to='assets.Asset', verbose_name='Assets')), ('accounts', models.JSONField(default=list, verbose_name='Accounts')), ('name', models.CharField(max_length=128, verbose_name='Name')), ('fields_pattern', models.CharField(default='password', max_length=128, verbose_name='Fields pattern')), ('masking_method', models.CharField(choices=[('fixed_char', 'Fixed Character Replacement'), ('hide_middle', 'Hide Middle Characters'), ('keep_prefix', 'Keep Prefix Only'), ('keep_suffix', 'Keep Suffix Only')], default='fixed_char', max_length=32, verbose_name='Masking Method')), ('mask_pattern', models.CharField(blank=True, default='######', max_length=128, null=True, verbose_name='Mask Pattern')), ('reviewers', models.ManyToManyField(blank=True, to=settings.AUTH_USER_MODEL, verbose_name='Reviewers')), ], options={ 'verbose_name': 'Data Masking Rule', 'unique_together': {('org_id', 'name')}, }, ), ]