- Enable meetings app in INSTALLED_APPS and add URL routing - Switch from PostgreSQL to SQLite for default database configuration - Remove meetings directory from .gitignore - Move API root endpoint from users app to main URL configuration - Remove HIPAA-specific email and compliance settings (EMAIL_ENCRYPTION_KEY, HIPAA_EMAIL_CONFIG, BAA_VERIFICATION) - Add SITE_NAME and ENCRYPTION_KEY environment variables - Regenerate initial user migrations These changes simplify the development setup by using SQLite as the default database and removing complex compliance configurations while enabling the core meetings functionality.
53 lines
2.4 KiB
Python
53 lines
2.4 KiB
Python
# Generated by Django 5.2.8 on 2025-11-22 22:06
|
|
|
|
import meetings.models
|
|
import uuid
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='AdminWeeklyAvailability',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('available_days', models.JSONField(default=list, help_text='List of weekdays (0-6) when appointments are accepted')),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Admin Weekly Availability',
|
|
'verbose_name_plural': 'Admin Weekly Availability',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='AppointmentRequest',
|
|
fields=[
|
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
|
|
('first_name', meetings.models.EncryptedCharField(max_length=100)),
|
|
('last_name', meetings.models.EncryptedCharField(max_length=100)),
|
|
('email', meetings.models.EncryptedEmailField()),
|
|
('phone', meetings.models.EncryptedCharField(blank=True, max_length=20)),
|
|
('reason', meetings.models.EncryptedTextField(blank=True)),
|
|
('preferred_dates', models.JSONField(help_text='List of preferred dates (YYYY-MM-DD format)')),
|
|
('preferred_time_slots', models.JSONField(help_text='List of preferred time slots (morning/afternoon/evening)')),
|
|
('status', models.CharField(choices=[('pending_review', 'Pending Review'), ('scheduled', 'Scheduled'), ('rejected', 'Rejected')], default='pending_review', max_length=20)),
|
|
('scheduled_datetime', models.DateTimeField(blank=True, null=True)),
|
|
('rejection_reason', meetings.models.EncryptedTextField(blank=True)),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('updated_at', models.DateTimeField(auto_now=True)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Appointment Request',
|
|
'verbose_name_plural': 'Appointment Requests',
|
|
'ordering': ['-created_at'],
|
|
},
|
|
),
|
|
]
|