from django.urls import include, path from rest_framework.routers import DefaultRouter from .views import ( ALTCHAViewSet, APIKeyViewSet, AuthViewSet, GrantViewSet, RevokeViewSet, RoleViewSet, TwoFactorViewSet, UserPermissionViewSet, ) router = DefaultRouter() router.register(r"api-keys", APIKeyViewSet, basename="api-keys") router.register(r"roles", RoleViewSet, basename="roles") router.register(r"grants", GrantViewSet, basename="grants") router.register(r"revokes", RevokeViewSet, basename="revokes") urlpatterns = [ path("login/", AuthViewSet.as_view({"post": "login"}), name="auth-login"), path("logout/", AuthViewSet.as_view({"post": "logout"}), name="auth-logout"), path("refresh/", AuthViewSet.as_view({"post": "refresh"}), name="auth-refresh"), path("check/", AuthViewSet.as_view({"get": "check"}), name="auth-check"), path( "select-workspace/", AuthViewSet.as_view({"post": "select_workspace"}), name="auth-select-workspace", ), path( "switch-workspace/", AuthViewSet.as_view({"post": "switch_workspace"}), name="auth-switch-workspace", ), path( "2fa/setup/", TwoFactorViewSet.as_view({"post": "setup"}), name="2fa-setup", ), path( "2fa/verify-setup/", TwoFactorViewSet.as_view({"post": "verify_setup"}), name="2fa-verify-setup", ), path( "2fa/verify/", TwoFactorViewSet.as_view({"post": "verify"}), name="2fa-verify", ), path( "2fa/disable/", TwoFactorViewSet.as_view({"post": "disable"}), name="2fa-disable", ), path( "2fa/recovery/", TwoFactorViewSet.as_view({"post": "recovery"}), name="2fa-recovery", ), path( "altcha/challenge/", ALTCHAViewSet.as_view({"post": "challenge"}), name="altcha-challenge", ), path( "altcha/verify/", ALTCHAViewSet.as_view({"post": "verify"}), name="altcha-verify", ), path( "users//permissions/", UserPermissionViewSet.as_view({"get": "permissions"}), name="user-permissions", ), path( "users//roles/", UserPermissionViewSet.as_view({"get": "roles", "put": "roles"}), name="user-roles", ), path("", include(router.urls)), ]