from django.urls import include, path from rest_framework.routers import DefaultRouter from .calendar.views import CalendarEventsViewSet from .employees.views import (DepartmentRoleViewSet, DepartmentViewSet, EmployeeActionViewSet, EmployeeViewSet, GroupViewSet, PositionViewSet, RegisterAPIView, ResendEmailAPIView, SkillViewSet, VerifyEmailAPIView) from .feed.views import CommentViewSet, PostViewSet from .documents.views import DocumentViewSet from .requests_app.views import RequestViewSet # Communications ViewSets from .communications.views import ChatViewSet, MessageViewSet, PollViewSet app_name = "v1" router = DefaultRouter() router.register(r"calendar/events", CalendarEventsViewSet, basename="events") router.register(r"documents", DocumentViewSet, basename="documents") router.register(r"requests", RequestViewSet, basename="request") router.register(r"departments", DepartmentViewSet, basename="departments") router.register(r"employees", EmployeeViewSet, basename="employees") router.register( r"employee-actions", EmployeeActionViewSet, basename="employee-actions", ) router.register(r"positions", PositionViewSet, basename="positions") router.register( r"department-roles", DepartmentRoleViewSet, basename="department-roles", ) router.register(r"skills", SkillViewSet, basename="skills") router.register(r"posts", PostViewSet, basename="posts") router.register(r"comments", CommentViewSet, basename="comments") router.register(r"groups", GroupViewSet, basename="groups") # NEW: Communications ViewSets router.register(r"communications/chats", ChatViewSet, basename="chats") router.register(r"communications/messages", MessageViewSet, basename="messages") router.register(r"communications/polls", PollViewSet, basename="polls") urlpatterns = [ path("auth/register/", RegisterAPIView.as_view(), name="register"), path( "auth/resend-email/", ResendEmailAPIView.as_view(), name="resend-email", ), path( "auth/verify-email/", VerifyEmailAPIView.as_view(), name="verify-email", ), # Notifications API path("notifications/", include("api.v1.notifications.urls")), # Router URLs (включая все ViewSets) path("", include(router.urls)), ]