# Generated by Django 5.2.17 on 2026-09-15 09:29 import django.db.models.deletion import uuid from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='NotificationTemplate', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('event', models.CharField(db_index=True, max_length=120)), ('channel', models.CharField(choices=[('sms', 'SMS'), ('email', 'Email'), ('push', 'Push'), ('inapp', 'In-app')], default='sms', max_length=12)), ('subject', models.CharField(blank=True, max_length=255)), ('body', models.TextField(help_text='Supports {{variable}} placeholders.')), ('enabled', models.BooleanField(default=True)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='NotificationRule', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('event', models.CharField(db_index=True, max_length=120)), ('recipients', models.JSONField(blank=True, default=list)), ('enabled', models.BooleanField(default=True)), ('template', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rules', to='notifications.notificationtemplate')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='NotificationLog', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('recipient', models.CharField(blank=True, max_length=200)), ('channel', models.CharField(max_length=12)), ('status', models.CharField(default='pending', max_length=20)), ('error', models.TextField(blank=True)), ('sent_at', models.DateTimeField(blank=True, null=True)), ('template', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='notifications.notificationtemplate')), ], options={ 'abstract': False, }, ), ]