Commit Graph

11 Commits

Author SHA1 Message Date
b434858faf feat: increase max_length for fields in AppointmentRequest model 2025-12-04 11:07:54 +00:00
31a1f56fc9 feat: increase max_length for encrypted fields in AppointmentRequest model 2025-12-04 10:49:27 +00:00
875a284893 feat: refactor AppointmentRequest methods and update serializers to include selected_slots field 2025-12-03 20:10:15 +00:00
53aac43289 feat: add selected_slots field to AppointmentRequest model and update serializers 2025-12-03 15:44:56 +00:00
99f9dac965 Refactor code structure for improved readability and maintainability 2025-12-02 19:32:51 +00:00
23c185c93d refactor(meetings): standardize null handling for Jitsi fields and enhance emails
- Set explicit default=None for jitsi_room_id field to ensure consistent null handling
- Update rejection logic to use None instead of empty strings for Jitsi fields, maintaining database consistency with nullable field definitions
- Add login instructions to appointment confirmation email directing users to join 15 minutes early
- Remove outdated "self-guided resources" option from rejection email
- Add styling for new login-info section in scheduled appointment template

This ensures proper null value handling in the database and improves user communication for appointment workflows.
2025-11-28 12:50:33 +00:00
7d5d3217a0 fix: allow null values for Jitsi fields in AppointmentRequest
Add `null=True` to `jitsi_meet_url` and `jitsi_room_id` fields in the AppointmentRequest model. This allows these optional fields to be NULL at the database level in addition to accepting blank values, which is the proper Django pattern for optional string-based fields.

This change requires a database migration to be generated and applied.
2025-11-27 14:56:37 +00:00
b58338db2f refactor(meetings): increase encrypted field lengths and add ID to admin
- Increase max_length from 100 to 255 for first_name and last_name encrypted fields
- Increase phone field max_length from 20 to 255 to accommodate encryption overhead
- Add 'id' field to AppointmentRequest admin list_display for easier reference
- Remove redundant docstring from _convert_to_datetime method

The increased field lengths ensure adequate storage for encrypted data, which typically requires more space than plaintext values.
2025-11-27 14:43:50 +00:00
a7d451702f docs(api): refactor appointments endpoint documentation structure
Enhanced the API root documentation for the appointments system with improved formatting and updated description to include "flexible availability" feature. Restructured the endpoint documentation for better readability and maintainability while preserving all endpoint information including Jitsi meeting integration details.
2025-11-26 19:30:26 +00:00
4fdc7c35ee feat: add user management endpoints and update appointment model
Add comprehensive API documentation for user management endpoints including profile updates, user listing, and admin user management features. Update appointment model to include additional status options (completed, cancelled) and add max_length constraint to email field. Change appointment creation endpoint to require user authentication instead of being public.

Changes:
- Add API docs for update_profile, get_profile, all-users endpoints
- Add API docs for activate-deactivate-user and delete-user admin endpoints
- Update appointment creation to require authentication
- Add 'completed' and 'cancelled' status options to Appointment model
- Add max_length constraint to EncryptedEmailField
- Regenerate initial migration with updated model definitions
2025-11-23 13:55:04 +00:00
1fc91d5949 feat: enable meetings app and simplify development configuration
- 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.
2025-11-23 00:19:26 +00:00