# Generated by Django 3.2.18 on 2023-06-13 15:04

from django.db import migrations, models


class Migration(migrations.Migration):
    dependencies = [
        ('authenticators', '0007_migrate_registration_open'),
    ]

    operations = [
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='emails_address_ratelimit',
            field=models.CharField(
                default='3/d',
                help_text='Maximum rate of emails sent to the same email address.',
                max_length=32,
                verbose_name='Emails address ratelimit',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='emails_ip_ratelimit',
            field=models.CharField(
                default='10/h',
                help_text='Maximum rate of email sendings triggered by the same IP address.',
                max_length=32,
                verbose_name='Emails IP ratelimit',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='login_exponential_retry_timeout_duration',
            field=models.FloatField(
                default=1,
                help_text='Exponential backoff base factor duration as seconds until next try after a login failure.',
                verbose_name='Retry timeout duration',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='login_exponential_retry_timeout_factor',
            field=models.FloatField(
                default=1.8,
                help_text='Exponential backoff factor duration as seconds until next try after a login failure.',
                verbose_name='Retry timeout factor',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='login_exponential_retry_timeout_max_duration',
            field=models.PositiveIntegerField(
                default=3600,
                help_text='Maximum exponential backoff maximum duration as seconds until next try after a login failure.',
                verbose_name='Retry timeout max duration',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='login_exponential_retry_timeout_min_duration',
            field=models.PositiveIntegerField(
                default=10,
                help_text='Minimum exponential backoff maximum duration as seconds until next try after a login failure.',
                verbose_name='Retry timeout min duration',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='password_min_length',
            field=models.PositiveIntegerField(default=8, null=True, verbose_name='Password minimum length'),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='password_regex',
            field=models.CharField(
                blank=True,
                default='',
                max_length=512,
                verbose_name='Regular expression for validating passwords',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='password_regex_error_msg',
            field=models.CharField(
                blank=True,
                default='',
                max_length=1024,
                verbose_name='Error message to show when the password do not validate the regular expression',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='sms_ip_ratelimit',
            field=models.CharField(
                default='10/h',
                help_text='Maximum rate of SMSs triggered by the same IP address.',
                max_length=32,
                verbose_name='SMS IP ratelimit',
            ),
        ),
        migrations.AddField(
            model_name='loginpasswordauthenticator',
            name='sms_number_ratelimit',
            field=models.CharField(
                default='10/h',
                help_text='Maximum rate of SMSs sent to the same phone number.',
                max_length=32,
                verbose_name='SMS number ratelimit',
            ),
        ),
    ]
