feat(core): Filter ticket_model routes to those defined in Meta.sub_model_type

ref: #732 #723
This commit is contained in:
2025-04-26 06:55:54 +09:30
parent 50882a4732
commit dcd60a5152

View File

@ -138,6 +138,7 @@ router = DefaultRouter(trailing_slash=False)
router.register('', v2.Index, basename='_api_v2_home')
entity_type_names = ''
ticket_type_names = ''
for model in apps.get_models():
@ -195,7 +196,10 @@ router.register('config_management/group/(?P<config_group_id>[0-9]+)/software',
router.register('(?P<app_label>[a-z_]+)/(?P<model_name>.+)/(?P<model_id>[0-9]+)/history', history_v2.ViewSet, basename='_api_v2_model_history')
router.register('core/ticket/(?P<ticket_model>[a-z_]+)?', ticket.ViewSet, feature_flag = '2025-00002', basename='_api_v2_ticket_sub')
ticket_type_names = str(ticket_type_names)[:-1]
router.register(f'core/ticket/(?P<ticket_model>[{ticket_type_names}]+)', ticket.ViewSet, feature_flag = '2025-00002', basename='_api_v2_ticket_sub')
router.register('core/ticket', ticket.NoDocsViewSet, basename='_api_v2_ticket')
router.register('core/ticket/(?P<ticket_id>[0-9]+)/comments', ticket_comment_depreciated.ViewSet, basename='_api_v2_ticket_comment')