# Generated migration for violations app

from django.db import migrations, models
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='FeatureFlag',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True)),
                ('name', models.CharField(max_length=100, unique=True)),
                ('enabled', models.BooleanField(default=False)),
                ('description', models.TextField(blank=True)),
                ('config_data', models.JSONField(default=dict)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
            ],
            options={
                'db_table': 'feature_flags',
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='BurnoutAnalysis',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True)),
                ('user_id', models.UUIDField(db_index=True)),
                ('date', models.DateField()),
                ('risk_score', models.FloatField()),
                ('severity', models.CharField(choices=[('low', 'Low'), ('medium', 'Medium'), ('high', 'High'), ('critical', 'Critical')], max_length=20)),
                ('risk_factors', models.JSONField(default=dict)),
                ('recommendations', models.JSONField(default=list)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
            ],
            options={
                'db_table': 'burnout_analysis',
                'ordering': ['-date', '-created_at'],
            },
        ),
        migrations.CreateModel(
            name='BurnoutNotification',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True)),
                ('user_id', models.UUIDField(db_index=True)),
                ('notification_type', models.CharField(choices=[('burnout_alert', 'Burnout Alert'), ('balance_suggestion', 'Balance Suggestion'), ('recovery_reminder', 'Recovery Reminder')], max_length=50)),
                ('title', models.CharField(max_length=200)),
                ('message', models.TextField()),
                ('risk_score', models.FloatField()),
                ('recommendation', models.JSONField(default=dict)),
                ('is_read', models.BooleanField(default=False)),
                ('sent_at', models.DateTimeField(auto_now_add=True)),
                ('read_at', models.DateTimeField(blank=True, null=True)),
            ],
            options={
                'db_table': 'burnout_notifications',
                'ordering': ['-sent_at'],
            },
        ),
        migrations.CreateModel(
            name='CompanyFeatureOverride',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True)),
                ('company_id', models.UUIDField()),
                ('enabled', models.BooleanField(default=False)),
                ('override_config', models.JSONField(default=dict)),
                ('created_at', models.DateTimeField(auto_now_add=True)),
                ('updated_at', models.DateTimeField(auto_now=True)),
                ('feature_flag', models.ForeignKey(on_delete=models.deletion.CASCADE, to='violations.featureflag')),
            ],
            options={
                'db_table': 'company_feature_overrides',
                'unique_together': {('company_id', 'feature_flag')},
            },
        ),
        migrations.AddIndex(
            model_name='burnoutanalysis',
            index=models.Index(fields=['user_id', 'date'], name='burnout_ana_user_id_date_idx'),
        ),
        migrations.AddIndex(
            model_name='burnoutnotification',
            index=models.Index(fields=['user_id', 'is_read'], name='burnout_not_user_id_is_read_idx'),
        ),
    ]

