73 lines
4.0 KiB
Python
73 lines
4.0 KiB
Python
# Generated by Django 5.2 on 2025-05-13 06:43
|
|
|
|
import django.db.models.deletion
|
|
import django.utils.timezone
|
|
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='GmailConversation',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('user_email', models.EmailField(help_text='用户Gmail邮箱', max_length=254)),
|
|
('influencer_email', models.EmailField(help_text='达人Gmail邮箱', max_length=254)),
|
|
('conversation_id', models.CharField(help_text='关联到chat_history的会话ID', max_length=100, unique=True)),
|
|
('title', models.CharField(default='Gmail对话', help_text='对话标题', max_length=100)),
|
|
('last_sync_time', models.DateTimeField(default=django.utils.timezone.now, help_text='最后同步时间')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('is_active', models.BooleanField(default=True)),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='gmail_conversations', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'ordering': ['-updated_at'],
|
|
'unique_together': {('user', 'user_email', 'influencer_email')},
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='GmailAttachment',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('email_message_id', models.CharField(help_text='Gmail邮件ID', max_length=100)),
|
|
('attachment_id', models.CharField(help_text='Gmail附件ID', max_length=100)),
|
|
('filename', models.CharField(help_text='原始文件名', max_length=255)),
|
|
('file_path', models.CharField(help_text='保存在服务器上的路径', max_length=255)),
|
|
('content_type', models.CharField(help_text='MIME类型', max_length=100)),
|
|
('size', models.IntegerField(default=0, help_text='文件大小(字节)')),
|
|
('sender_email', models.EmailField(help_text='发送者邮箱', max_length=254)),
|
|
('chat_message_id', models.CharField(blank=True, help_text='关联到ChatHistory的消息ID', max_length=100, null=True)),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('conversation', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='gmail.gmailconversation')),
|
|
],
|
|
options={
|
|
'ordering': ['-created_at'],
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='GmailCredential',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('email', models.EmailField(help_text='Gmail email address', max_length=254, unique=True)),
|
|
('credentials', models.TextField(help_text='Serialized OAuth2 credentials (JSON)')),
|
|
('is_default', models.BooleanField(default=False, help_text='Default Gmail account for user')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
('is_valid', models.BooleanField(default=True, help_text='Whether the credential is valid')),
|
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='gmail_credentials', to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'unique_together': {('user', 'email')},
|
|
},
|
|
),
|
|
]
|