94 lines
3.0 KiB
Python
94 lines
3.0 KiB
Python
# /home/ram/aparsoft/backend/apps/accounts/api/urls.py
|
|
|
|
"""
|
|
URL configuration for accounts API.
|
|
Provides router-based URL patterns for all viewsets in the accounts app.
|
|
"""
|
|
from django.urls import path, include
|
|
from rest_framework_simplejwt.views import TokenVerifyView
|
|
from rest_framework.routers import DefaultRouter
|
|
|
|
from .views import (
|
|
# Auth viewsets
|
|
CustomTokenObtainPairView,
|
|
LogoutView,
|
|
RegisterView,
|
|
# SocialAuthView, UserInfoView, PasswordChangeView,
|
|
CSRFTokenView,
|
|
EmailVerificationView,
|
|
PasswordResetView,
|
|
OrganizationRegisterView,
|
|
# CustomUser viewsets
|
|
CustomUserViewSet,
|
|
UserContactViewSet,
|
|
# Developer viewsets
|
|
DeveloperProfileViewSet,
|
|
# Client viewsets
|
|
ClientProfileViewSet,
|
|
# ProjectManager viewsets
|
|
ProjectManagerProfileViewSet,
|
|
# AccountManager viewsets
|
|
AccountManagerProfileViewSet,
|
|
# Team viewsets
|
|
TeamViewSet,
|
|
# Profile avatar views
|
|
ProfileAvatarView,
|
|
)
|
|
|
|
app_name = "accounts"
|
|
|
|
# Initialize the default router
|
|
router = DefaultRouter()
|
|
|
|
# Register CustomUser viewsets
|
|
router.register(r"users", CustomUserViewSet, basename="user")
|
|
router.register(r"user-contacts", UserContactViewSet, basename="user-contact")
|
|
|
|
# Register Developer viewsets
|
|
router.register(r"developers", DeveloperProfileViewSet, basename="developer")
|
|
|
|
# Register Client viewsets
|
|
router.register(r"clients", ClientProfileViewSet, basename="client")
|
|
|
|
# Register ProjectManager viewsets
|
|
router.register(
|
|
r"project-managers", ProjectManagerProfileViewSet, basename="project-manager"
|
|
)
|
|
|
|
# Register AccountManager viewsets
|
|
router.register(
|
|
r"account-managers", AccountManagerProfileViewSet, basename="account-manager"
|
|
)
|
|
|
|
# Register Team viewsets
|
|
router.register(r"teams", TeamViewSet, basename="team")
|
|
|
|
# URL patterns
|
|
urlpatterns = [
|
|
# Router generated URLs
|
|
path("", include(router.urls)),
|
|
# Authentication endpoints
|
|
path("auth/login/", CustomTokenObtainPairView.as_view(), name="token_obtain_pair"),
|
|
path("auth/verify/", TokenVerifyView.as_view(), name="token_verify"),
|
|
path("auth/logout/", LogoutView.as_view(), name="auth_logout"),
|
|
path("auth/register/", RegisterView.as_view(), name="auth_register"),
|
|
path(
|
|
"auth/organization-register/",
|
|
OrganizationRegisterView.as_view(),
|
|
name="auth_organization_register",
|
|
),
|
|
# path('auth/social/', SocialAuthView.as_view(), name='auth_social'),
|
|
# path('auth/me/', UserInfoView.as_view(), name='auth_user_info'),
|
|
# path('auth/password/change/', PasswordChangeView.as_view(),
|
|
# name='auth_password_change'),
|
|
path(
|
|
"auth/password/reset/", PasswordResetView.as_view(), name="auth_password_reset"
|
|
),
|
|
path(
|
|
"auth/email/verify/", EmailVerificationView.as_view(), name="auth_email_verify"
|
|
),
|
|
path("auth/csrf/", CSRFTokenView.as_view(), name="csrf_token"),
|
|
# Profile management endpoints
|
|
path("users/profile_image/", ProfileAvatarView.as_view(), name="profile_image"),
|
|
]
|