import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='SupportRoom', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('status', models.CharField(choices=[('open', 'Open'), ('pending', 'Pending Support Reply'), ('answered', 'Answered'), ('closed', 'Closed')], db_index=True, default='open', max_length=20, verbose_name='Status')), ('unread_by_admin', models.PositiveIntegerField(default=0, verbose_name='Unread by Admin')), ('unread_by_user', models.PositiveIntegerField(default=0, verbose_name='Unread by User')), ('last_message_at', models.DateTimeField(blank=True, db_index=True, null=True, verbose_name='Last Message At')), ('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')), ('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')), ('assigned_to', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='assigned_support_rooms', to=settings.AUTH_USER_MODEL, verbose_name='Assigned Specialist')), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='support_room', to=settings.AUTH_USER_MODEL, verbose_name='User')), ], options={ 'verbose_name': 'Support Room', 'verbose_name_plural': 'Support Rooms', 'ordering': ('-last_message_at', '-created_at'), }, ), migrations.CreateModel( name='SupportMessage', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('sender_type', models.CharField(choices=[('user', 'User'), ('support', 'Support Specialist')], db_index=True, default='user', max_length=16, verbose_name='Sender Type')), ('content', models.TextField(verbose_name='Message Content')), ('is_read', models.BooleanField(db_index=True, default=False, verbose_name='Is Read')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Created At')), ('room', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to='support.supportroom', verbose_name='Support Room')), ('sender', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='sent_support_messages', to=settings.AUTH_USER_MODEL, verbose_name='Sender User')), ], options={ 'verbose_name': 'Support Message', 'verbose_name_plural': 'Support Messages', 'ordering': ('id',), }, ), ]