#!/usr/bin/env python
"""
Script to create basic files for all apps
"""
import os
from pathlib import Path

# Define apps and their display names
APPS = {
    'accounts': 'Accounts',
    'organizations': 'Organizations',
    'journeys': 'Journeys',
    'surveys': 'Surveys',
    'complaints': 'Complaints',
    'feedback': 'Feedback',
    'callcenter': 'Call Center',
    'social': 'Social',
    'px_action_center': 'PX Action Center',
    'analytics': 'Analytics',
    'physicians': 'Physicians',
    'projects': 'Projects',
    'integrations': 'Integrations',
    'notifications': 'Notifications',
    'ai_engine': 'AI Engine',
}

BASE_DIR = Path(__file__).resolve().parent
APPS_DIR = BASE_DIR / 'apps'

for app_name, display_name in APPS.items():
    app_dir = APPS_DIR / app_name
    
    # Skip core as it's already created
    if app_name == 'core':
        continue
    
    # Create apps.py
    config_class = ''.join(word.capitalize() for word in app_name.split('_')) + 'Config'
    apps_content = f'''"""
{app_name} app configuration
"""
from django.apps import AppConfig


class {config_class}(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.{app_name}'
    verbose_name = '{display_name}'
'''
    
    with open(app_dir / 'apps.py', 'w') as f:
        f.write(apps_content)
    
    # Create models.py
    models_content = f'''"""
{display_name} models
"""
from django.db import models

# TODO: Add models for {app_name}
'''
    
    with open(app_dir / 'models.py', 'w') as f:
        f.write(models_content)
    
    # Create admin.py
    admin_content = f'''"""
{display_name} admin
"""
from django.contrib import admin

# TODO: Register models for {app_name}
'''
    
    with open(app_dir / 'admin.py', 'w') as f:
        f.write(admin_content)
    
    # Create views.py
    views_content = f'''"""
{display_name} views
"""
from django.shortcuts import render

# TODO: Add views for {app_name}
'''
    
    with open(app_dir / 'views.py', 'w') as f:
        f.write(views_content)
    
    print(f"Created files for {app_name}")

print("Done!")
