mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-09 21:14:22 +00:00
* feat(Invitation): PRWLR-4722 add model and enum * feat(Invitation): PRWLR-4722 add serializers * feat(Invitation): PRWLR-4722 add filters * feat(Invitation): PRWLR-4722 update token field constraints * feat(Invitation): PRWLR-4722 add serializers * feat(Invitation): PRWLR-4722 add views, url and custom logic * feat(Invitation): PRWLR-4722 update unique constraint in model * feat(Invitation): PRWLR-4722 update serializer validation error messages * fix(Invitation): PRWLR-4722 fix view logic * feat(User): PRWLR-4722 add invitation_code query param and logic to create user view * fix(Invitation): PRWLR-4722 fix invitation creation tenant filter * chore: PRWLR-4722 add comments * feat(Invitation): PRWLR-4722 add email filter to view * fix(Utils): PRWLR-4722 fix datetime functions * fix(User): PRWLR-4722 fix bug when creating users * fix(Tests): PRWLR-4722 adapt unit and integration tests * test(db-utils): PRWLR-4722 add new unit tests * test(Invitation): PRWLR-4722 add unit tests * test(Invitation): PRWLR-4722 add unit tests * fix(Invitation): PRWLR-4722 fix views and serializers * feat(Invitation): PRWLR-4722 refactor invitation validation and tests * chore: PRWLR-4722 update API spec * test(Invitation): PRWLR-4722 add more unit tests * feat(Invitation): PRWLR-4722 refactor invitation urls * chore: PRWLR-4722 update API spec
79 lines
2.6 KiB
Python
79 lines
2.6 KiB
Python
from django.urls import path, include
|
|
from drf_spectacular.views import SpectacularRedocView
|
|
from rest_framework_nested import routers
|
|
|
|
from api.v1.views import (
|
|
CustomTokenObtainView,
|
|
CustomTokenRefreshView,
|
|
SchemaView,
|
|
UserViewSet,
|
|
TenantViewSet,
|
|
TenantMembersViewSet,
|
|
MembershipViewSet,
|
|
ProviderViewSet,
|
|
ScanViewSet,
|
|
TaskViewSet,
|
|
ResourceViewSet,
|
|
FindingViewSet,
|
|
ProviderSecretViewSet,
|
|
InvitationViewSet,
|
|
InvitationAcceptViewSet,
|
|
)
|
|
|
|
router = routers.DefaultRouter(trailing_slash=False)
|
|
|
|
router.register(r"users", UserViewSet, basename="user")
|
|
router.register(r"tenants", TenantViewSet, basename="tenant")
|
|
router.register(r"providers", ProviderViewSet, basename="provider")
|
|
router.register(r"scans", ScanViewSet, basename="scan")
|
|
router.register(r"tasks", TaskViewSet, basename="task")
|
|
router.register(r"resources", ResourceViewSet, basename="resource")
|
|
router.register(r"findings", FindingViewSet, basename="finding")
|
|
|
|
tenants_router = routers.NestedSimpleRouter(router, r"tenants", lookup="tenant")
|
|
tenants_router.register(
|
|
r"memberships", TenantMembersViewSet, basename="tenant-membership"
|
|
)
|
|
|
|
users_router = routers.NestedSimpleRouter(router, r"users", lookup="user")
|
|
users_router.register(r"memberships", MembershipViewSet, basename="user-membership")
|
|
|
|
urlpatterns = [
|
|
path("tokens", CustomTokenObtainView.as_view(), name="token-obtain"),
|
|
path("tokens/refresh", CustomTokenRefreshView.as_view(), name="token-refresh"),
|
|
path(
|
|
"providers/secrets",
|
|
ProviderSecretViewSet.as_view({"get": "list", "post": "create"}),
|
|
name="providersecret-list",
|
|
),
|
|
path(
|
|
"providers/secrets/<uuid:pk>",
|
|
ProviderSecretViewSet.as_view(
|
|
{"get": "retrieve", "patch": "partial_update", "delete": "destroy"}
|
|
),
|
|
name="providersecret-detail",
|
|
),
|
|
path(
|
|
"tenants/invitations",
|
|
InvitationViewSet.as_view({"get": "list", "post": "create"}),
|
|
name="invitation-list",
|
|
),
|
|
path(
|
|
"tenants/invitations/<uuid:pk>",
|
|
InvitationViewSet.as_view(
|
|
{"get": "retrieve", "patch": "partial_update", "delete": "destroy"}
|
|
),
|
|
name="invitation-detail",
|
|
),
|
|
path(
|
|
"invitations/accept",
|
|
InvitationAcceptViewSet.as_view({"post": "accept"}),
|
|
name="invitation-accept",
|
|
),
|
|
path("", include(router.urls)),
|
|
path("", include(tenants_router.urls)),
|
|
path("", include(users_router.urls)),
|
|
path("schema", SchemaView.as_view(), name="schema"),
|
|
path("docs", SpectacularRedocView.as_view(url_name="schema"), name="docs"),
|
|
]
|