#!-*- coding: utf-8 -*-
"""
Package that is an extension of Django's AbstractBaseUser for user management, using email as user.
This packages adds features such as group permissions and reCaptcha enterprise token verification.

This package is published as free software under the terms of the Apache License, Version 2.0. Is developed by
Dirección de Gobierno Digital of the Secretaría de Innovación y Gobierno Abierto of Municipality of Monterrey.

Authors: ['César Benjamín García Martínez <mathereall@gmail.com>', 'Miguel Angel Hernández Cortés
<miguelhdezc12@gmail.com>', 'César Guillermo Vázquez Álvarez <cdgva@outlook.com>']
Email: gobiernodigital@monterrey.gob.mx
GitHub: https://github.com/gobiernodigitalmonterrey/gdmty-django-users
Package: gdmty_django_users
PyPi: https://pypi.org/project/gdmty-django-users/
License: AGPL-3.0
"""

from django.urls import path, include
from .viewsets import UserViewSet, GroupViewSet, PermissionViewSet
from django.conf import settings

# Define the URL patterns for the gdmty_django_users app
urlpatterns = []

try:
    # Check if DRF_ROUTER is defined in settings
    if hasattr(settings, 'DRF_ROUTER'):
        # Register viewsets with the router
        settings.DRF_ROUTER.register('/user', UserViewSet, basename='users-user')
        settings.DRF_ROUTER.register('/group', GroupViewSet, basename='users-group')
        settings.DRF_ROUTER.register('/permission', PermissionViewSet, basename='users-permission')

        # Include the URLs generated by the router
        urlpatterns += [
            path('', include(settings.DRF_ROUTER.urls)),
        ]

except AttributeError:
    # Handle cases where DRF_ROUTER is not defined in settings
    pass
