from django.apps import AppConfig
from django.db.models.signals import post_migrate

def create_default_positions(sender, **kwargs):
    """Unda vyeo vya default baada ya migration"""
    from .models import Position
    
    default_positions = [
        {'name': 'Mwenyekiti', 'level': 1, 'can_add_leaders': True, 'can_reset_passwords': True, 'can_delete_members': True},
        {'name': 'Muhasibu', 'level': 2, 'can_add_leaders': False, 'can_reset_passwords': False, 'can_delete_members': False},
        {'name': 'Muhasibu Msaidizi', 'level': 2, 'can_add_leaders': False, 'can_reset_passwords': False, 'can_delete_members': False},
        {'name': 'Katibu', 'level': 2, 'can_add_leaders': False, 'can_reset_passwords': False, 'can_delete_members': False},
        {'name': 'Mwangalizi', 'level': 2, 'can_add_leaders': False, 'can_reset_passwords': False, 'can_delete_members': False},
        {'name': 'Msimamizi', 'level': 2, 'can_add_leaders': False, 'can_reset_passwords': False, 'can_delete_members': False},
    ]
    
    for pos in default_positions:
        Position.objects.get_or_create(name=pos['name'], defaults=pos)


class AppConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'app'
    verbose_name = 'HudumaLink'
    
    def ready(self):
        # SIGNAL: Baada ya migration, unda vyeo vya default
        post_migrate.connect(create_default_positions, sender=self)