production-taskbar / backend / config / api.py
api.py
Raw
from django.urls import path, re_path
from helpdesk.views import (DepartmentViewSet, HistoryViewSet,
                            issues_per_hostname_view, IssueViewSet)
from informing.consumers import InformingConsumer
from informing.views import NotificationViewSet
from links.views import sourve_view
from rest_framework.routers import DefaultRouter
from taskbar.views import (ExclusiveProgramViewSet, WorkplaceTypeViewSet,
                           WorkplaceViewSet)

# Http api
api = DefaultRouter()
api.register(r'workplace_types', WorkplaceTypeViewSet)
api.register(r'workplaces', WorkplaceViewSet)
api.register(r'exclusive_programs', ExclusiveProgramViewSet)
api.register(r'helpdesk_departments', DepartmentViewSet)
api.register(r'helpdesk_issues', IssueViewSet)
api.register(r'notifications', NotificationViewSet)

urlpatterns = [
    path(
        "sources/<slug:hostname>/",
        sourve_view,
        name="source",
    ),
    path(
        "helpdesk_history/<slug:hostname>/",
        HistoryViewSet.as_view({'get': 'list'}),
        name="helpdesk_history",
    ),
    path(
        "helpdesk_issues_per_workplaces/",
        issues_per_hostname_view,
        name="helpdesk_issues_per_workplaces",
    ),
]

urlpatterns += api.urls

# Websockets api
websocket_urlpatterns = [
    re_path(r"^.*ws/informing/(?P<organizational_unit>\d+)/$",
            InformingConsumer.as_asgi()),
]