infrasynth-backend-kit/infrasynth/security/urls.py
2026-08-28 14:38:47 -05:00

61 lines
1.7 KiB
Python

from django.urls import include, path
from rest_framework.routers import DefaultRouter
from .views import (
ALTCHAViewSet,
APIKeyViewSet,
AuthViewSet,
GrantViewSet,
RevokeViewSet,
RoleViewSet,
TwoFactorViewSet,
)
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(
"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("", include(router.urls)),
]