You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

51 lines
3.1 KiB

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',),
},
),
]