- Created api/v1/notifications/ module with views.py and urls.py - Moved API endpoints from notifications/api_views.py to api/v1/notifications/views.py - Moved URL routing from notifications/api_urls.py to api/v1/notifications/urls.py - Updated api/urls.py to remove old routing - Updated api/v1/urls.py to include new notifications API - Marked old files as DEPRECATED (will be removed in 2 months) - Added migration documentation Benefits: - Unified API structure (employees, documents, notifications all in api/v1/) - Proper versioning for notifications API - Easier to maintain and extend - All API modules follow same pattern Breaking changes: None (URL paths unchanged, backward compatible) Migration guide: docs/completed/NOTIFICATIONS_API_MIGRATION.md
36 lines
1.5 KiB
Python
36 lines
1.5 KiB
Python
"""
|
|
URL routing для API v1 уведомлений.
|
|
"""
|
|
from django.urls import path
|
|
from . import views
|
|
|
|
app_name = 'notifications_api_v1'
|
|
|
|
urlpatterns = [
|
|
# CRUD уведомлений
|
|
path('', views.get_notifications, name='list'),
|
|
path('count/', views.get_unread_count, name='count'),
|
|
path('<int:notification_id>/read/', views.mark_as_read, name='mark_read'),
|
|
path('read-all/', views.mark_all_as_read, name='mark_all_read'),
|
|
path('<int:notification_id>/', views.delete_notification, name='delete'),
|
|
|
|
# Категории
|
|
path('categories/', views.get_categories, name='categories'),
|
|
|
|
# Настройки
|
|
path('settings/', views.get_user_settings, name='settings_get'),
|
|
path('settings/update/', views.update_user_settings, name='settings_update'),
|
|
path('settings/category/update/', views.update_category_settings, name='category_settings_update'),
|
|
|
|
# Telegram интеграция
|
|
path('telegram/status/', views.get_telegram_link_status, name='telegram_status'),
|
|
path('telegram/generate-code/', views.generate_telegram_link_code, name='telegram_generate_code'),
|
|
path('telegram/unlink/', views.unlink_telegram, name='telegram_unlink'),
|
|
|
|
# Web Push интеграция
|
|
path('push/vapid-key/', views.get_vapid_public_key, name='push_vapid_key'),
|
|
path('push/subscribe/', views.subscribe_push, name='push_subscribe'),
|
|
path('push/unsubscribe/', views.unsubscribe_push, name='push_unsubscribe'),
|
|
path('push/subscriptions/', views.get_push_subscriptions, name='push_subscriptions'),
|
|
]
|