Структурная реорганизация: - Удален legacy views.py (оставалась только get_available_reactions) - Переименован viewsets.py → views.py (теперь основной модуль) - ViewSets теперь в стандартном location (views.py) Обновлены импорты: - api/v1/urls.py: from .communications.views import ViewSets - Удален неиспользуемый endpoint: communications/reactions/available/ Удалено legacy FBV (было 18 функций): - get_user_chats() → ChatViewSet.list() - upload_message_with_attachments() → MessageViewSet.upload() - load_chat_messages() → ChatViewSet.messages() - load_chat_messages_around() → ChatViewSet.messages_around() - add_reaction() → MessageViewSet.react() - remove_reaction() → MessageViewSet.unreact() - pin_chat() → ChatViewSet.pin() - toggle_chat_notifications() → ChatViewSet.notifications() - forward_messages() → MessageViewSet.forward() - bulk_delete_messages() → MessageViewSet.bulk_delete() - edit_message() → MessageViewSet.update() - delete_message() → MessageViewSet.destroy() - create_chat() → ChatViewSet.create() - get_available_reactions() → удалена (не используется) Итоги: - Удалено 1,722 строк дублирующего кода (-56%) - 100% переход на ViewSets - Соответствие DRF best practices Ref: docs/completed/LEGACY_CODE_CLEANUP.md
70 lines
2.3 KiB
Python
70 lines
2.3 KiB
Python
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)),
|
|
]
|