from django.db import migrations, models import django.db.models.deletion import uuid class Migration(migrations.Migration): initial = True dependencies = [ ('orgs', '0001_initial'), ('mlstore', '0001_initial'), ('users', '0001_initial'), ] operations = [ migrations.CreateModel( name='OnboardingFlow', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)), ('title', models.CharField(max_length=255)), ('description', models.TextField(blank=True, default='')), ('status', models.CharField(choices=[('draft', 'Draft'), ('published', 'Published'), ('archived', 'Archived')], default='draft', max_length=20)), ('agent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='onboarding_flows', to='mlstore.agent')), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onboarding_flows', to='orgs.role')), ], options={ 'verbose_name': 'Onboarding Flow', 'verbose_name_plural': 'Onboarding Flows', 'ordering': ['-created_at'], }, ), migrations.CreateModel( name='OnboardingPage', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)), ('order', models.IntegerField(default=0)), ('title', models.CharField(max_length=255)), ('body', models.TextField(blank=True, default='')), ('meta', models.JSONField(blank=True, default=dict)), ('flow', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='pages', to='onboarding.onboardingflow')), ], options={ 'verbose_name': 'Onboarding Page', 'verbose_name_plural': 'Onboarding Pages', 'ordering': ['order', 'created_at'], }, ), migrations.CreateModel( name='OnboardingField', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)), ('order', models.IntegerField(default=0)), ('key', models.CharField(max_length=120)), ('label', models.CharField(max_length=255)), ('field_type', models.CharField(choices=[('text', 'Text'), ('textarea', 'Textarea'), ('select', 'Select'), ('multiselect', 'Multi Select'), ('number', 'Number'), ('boolean', 'Boolean'), ('date', 'Date')], default='text', max_length=30)), ('required', models.BooleanField(default=False)), ('help_text', models.TextField(blank=True, default='')), ('placeholder', models.CharField(blank=True, default='', max_length=255)), ('options', models.JSONField(blank=True, default=list)), ('default_value', models.JSONField(blank=True, null=True, default=None)), ('validation', models.JSONField(blank=True, default=dict)), ('page', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='fields', to='onboarding.onboardingpage')), ], options={ 'verbose_name': 'Onboarding Field', 'verbose_name_plural': 'Onboarding Fields', 'ordering': ['order', 'created_at'], 'unique_together': {('page', 'key')}, }, ), migrations.CreateModel( name='OnboardingSession', fields=[ ('id', models.BigAutoField(primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, unique=True)), ('status', models.CharField(choices=[('in_progress', 'In Progress'), ('completed', 'Completed'), ('abandoned', 'Abandoned')], default='in_progress', max_length=20)), ('current_page_order', models.IntegerField(default=0)), ('responses', models.JSONField(blank=True, default=dict)), ('completed_at', models.DateTimeField(blank=True, null=True)), ('agent_run', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='onboarding_sessions', to='mlstore.agentrun')), ('flow', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sessions', to='onboarding.onboardingflow')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onboarding_sessions', to='users.user')), ], options={ 'verbose_name': 'Onboarding Session', 'verbose_name_plural': 'Onboarding Sessions', 'ordering': ['-created_at'], }, ), ]