refactor(core): move url routes from core.urls to own module urls_api.py
ref: #776 #777
This commit is contained in:
101
app/core/urls_api.py
Normal file
101
app/core/urls_api.py
Normal file
@ -0,0 +1,101 @@
|
||||
from django.apps import apps
|
||||
|
||||
from centurion_feature_flag.urls.routers import DefaultRouter
|
||||
|
||||
from core.viewsets import (
|
||||
audit_history,
|
||||
ticket,
|
||||
ticket_comment,
|
||||
ticket_comment_depreciated,
|
||||
ticket_linked_item,
|
||||
related_ticket,
|
||||
|
||||
)
|
||||
|
||||
|
||||
ticket_type_names = ''
|
||||
ticket_comment_names = ''
|
||||
|
||||
for model in apps.get_models():
|
||||
|
||||
|
||||
if issubclass(model, ticket.TicketBase):
|
||||
|
||||
ticket_type_names += model._meta.sub_model_type + '|'
|
||||
|
||||
|
||||
if issubclass(model, ticket_comment.TicketCommentBase):
|
||||
|
||||
ticket_comment_names += model._meta.sub_model_type + '|'
|
||||
|
||||
|
||||
ticket_comment_names = str(ticket_comment_names)[:-1]
|
||||
ticket_type_names = str(ticket_type_names)[:-1]
|
||||
|
||||
|
||||
# app_name = "core"
|
||||
|
||||
|
||||
router: DefaultRouter = DefaultRouter(trailing_slash=False)
|
||||
|
||||
|
||||
|
||||
router.register(
|
||||
'history', audit_history.NoDocsViewSet,
|
||||
basename = '_api_centurionaudit'
|
||||
)
|
||||
|
||||
|
||||
|
||||
router.register(
|
||||
prefix=f'ticket/(?P<ticket_model>[{ticket_type_names}]+)', viewset = ticket.ViewSet,
|
||||
feature_flag = '2025-00006', basename = '_api_v2_ticket_sub'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket', viewset = ticket.NoDocsViewSet,
|
||||
basename = '_api_v2_ticket'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket/(?P<ticket_id>[0-9]+)/comment', viewset = ticket_comment.NoDocsViewSet,
|
||||
feature_flag = '2025-00006', basename = '_api_v2_ticket_comment_base'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket/(?P<ticket_id>[0-9]+)/comment/(?P<parent_id>[0-9]+)/threads',
|
||||
viewset = ticket_comment.ViewSet,
|
||||
feature_flag = '2025-00006', basename = '_api_v2_ticket_comment_base_thread'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket/(?P<ticket_id>[0-9]+)/comments', viewset = ticket_comment_depreciated.ViewSet,
|
||||
basename = '_api_v2_ticket_comment'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket/(?P<ticket_id>[0-9]+)/comments/(?P<parent_id>[0-9]+)/threads',
|
||||
viewset = ticket_comment_depreciated.ViewSet,
|
||||
basename = '_api_v2_ticket_comment_threads'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket/(?P<ticket_id>[0-9]+)/linked_item', viewset = ticket_linked_item.ViewSet,
|
||||
basename = '_api_v2_ticket_linked_item'
|
||||
)
|
||||
router.register(
|
||||
prefix = 'ticket/(?P<ticket_id>[0-9]+)/related_ticket', viewset = related_ticket.ViewSet,
|
||||
basename = '_api_v2_ticket_related'
|
||||
)
|
||||
router.register(
|
||||
prefix=f'ticket/(?P<ticket_id>[0-9]+)/(?P<ticket_comment_model>[{ticket_comment_names}]+)',
|
||||
viewset = ticket_comment.ViewSet,
|
||||
feature_flag = '2025-00006', basename = '_api_v2_ticket_comment_base_sub'
|
||||
)
|
||||
router.register(
|
||||
prefix=f'ticket/(?P<ticket_id>[0-9]+)/(?P<ticket_comment_model>[{ticket_comment_names}]+)/(?P<parent_id>[0-9]+)/threads',
|
||||
viewset = ticket_comment.ViewSet,
|
||||
feature_flag = '2025-00006', basename = '_api_v2_ticket_comment_base_sub_thread'
|
||||
)
|
||||
router.register(
|
||||
prefix = '(?P<item_class>[a-z_]+)/(?P<item_id>[0-9]+)/item_ticket',
|
||||
viewset = ticket_linked_item.ViewSet,
|
||||
basename = '_api_v2_item_tickets'
|
||||
)
|
||||
|
||||
|
||||
urlpatterns = router.urls
|
Reference in New Issue
Block a user