refactor(itam): move url routes from core.urls to own module urls_api.py

ref: #776 #777
This commit is contained in:
2025-05-29 10:16:04 +09:30
parent 1cc378c69a
commit 0b7fcbbc26
2 changed files with 122 additions and 42 deletions

View File

@ -37,31 +37,13 @@ from core.viewsets import (
) )
from devops.viewsets import (
software_enable_feature_flag,
)
from itam.viewsets import ( from itam.viewsets import (
index as itam_index_v2,
device as device_v2,
device_model as device_model_v2, device_model as device_model_v2,
device_model_notes, device_model_notes,
device_notes,
device_type as device_type_v2, device_type as device_type_v2,
device_type_notes, device_type_notes,
device_software as device_software_v2,
device_operating_system,
inventory,
operating_system as operating_system_v2,
operating_system_notes,
operating_system_version as operating_system_version_v2,
operating_system_version_notes,
software as software_v2,
software_category as software_category_v2, software_category as software_category_v2,
software_category_notes, software_category_notes,
software_notes,
software_version as software_version_v2,
software_version_notes,
) )
from itim.viewsets import ( from itim.viewsets import (
@ -77,7 +59,6 @@ from itim.viewsets import (
problem, problem,
service as service_v2, service as service_v2,
service_cluster, service_cluster,
service_device as service_device_v2,
service_notes, service_notes,
) )
@ -158,29 +139,6 @@ router.register(
router.register('itam', itam_index_v2.Index, basename='_api_v2_itam_home')
from accounting.viewsets import asset
router.register('itam/(?P<asset_model>[it_asset]+)', asset.ViewSet, feature_flag = '2025-00007', basename='_api_v2_itam_asset')
router.register('itam/device', device_v2.ViewSet, basename='_api_v2_device')
router.register('itam/device/(?P<device_id>[0-9]+)/operating_system', device_operating_system.ViewSet, basename='_api_v2_device_operating_system')
router.register('itam/device/(?P<device_id>[0-9]+)/software', device_software_v2.ViewSet, basename='_api_v2_device_software')
router.register('itam/device/(?P<device_id>[0-9]+)/service', service_device_v2.ViewSet, basename='_api_v2_service_device')
router.register('itam/device/(?P<model_id>[0-9]+)/notes', device_notes.ViewSet, basename='_api_v2_device_note')
router.register('itam/inventory', inventory.ViewSet, basename='_api_v2_inventory')
router.register('itam/operating_system', operating_system_v2.ViewSet, basename='_api_v2_operating_system')
router.register('itam/operating_system/(?P<operating_system_id>[0-9]+)/installs', device_operating_system.ViewSet, basename='_api_v2_operating_system_installs')
router.register('itam/operating_system/(?P<model_id>[0-9]+)/notes', operating_system_notes.ViewSet, basename='_api_v2_operating_system_note')
router.register('itam/operating_system/(?P<operating_system_id>[0-9]+)/version', operating_system_version_v2.ViewSet, basename='_api_v2_operating_system_version')
router.register('itam/operating_system/(?P<operating_system_id>[0-9]+)/version/(?P<model_id>[0-9]+)/notes', operating_system_version_notes.ViewSet, basename='_api_v2_operating_system_version_note')
router.register('itam/software', software_v2.ViewSet, basename='_api_v2_software')
router.register('itam/software/(?P<software_id>[0-9]+)/installs', device_software_v2.ViewSet, basename='_api_v2_software_installs')
router.register('itam/software/(?P<model_id>[0-9]+)/notes', software_notes.ViewSet, basename='_api_v2_software_note')
router.register('itam/software/(?P<software_id>[0-9]+)/version', software_version_v2.ViewSet, basename='_api_v2_software_version')
router.register('itam/software/(?P<software_id>[0-9]+)/version/(?P<model_id>[0-9]+)/notes', software_version_notes.ViewSet, basename='_api_v2_software_version_note')
router.register('itam/software/(?P<software_id>[0-9]+)/feature_flag', software_enable_feature_flag.ViewSet, basename='_api_v2_feature_flag_software')
router.register('itim', itim_v2.Index, basename='_api_v2_itim_home') router.register('itim', itim_v2.Index, basename='_api_v2_itim_home')
router.register('itim/ticket/change', change.ViewSet, basename='_api_v2_ticket_change') router.register('itim/ticket/change', change.ViewSet, basename='_api_v2_ticket_change')
@ -248,6 +206,7 @@ urlpatterns += [
path(route = "config_management/", view = include("config_management.urls_api")), path(route = "config_management/", view = include("config_management.urls_api")),
path(route = "core/", view = include("core.urls_api")), path(route = "core/", view = include("core.urls_api")),
path(route = "devops/", view = include("devops.urls")), path(route = "devops/", view = include("devops.urls")),
path(route = "itam/", view = include("itam.urls_api")),
path(route = "hr/", view = include('human_resources.urls')), path(route = "hr/", view = include('human_resources.urls')),
path(route = 'public/', view = include('api.urls_public')), path(route = 'public/', view = include('api.urls_public')),
] ]

121
app/itam/urls_api.py Normal file
View File

@ -0,0 +1,121 @@
from centurion_feature_flag.urls.routers import DefaultRouter
from accounting.viewsets import asset
from devops.viewsets import (
software_enable_feature_flag,
)
from itam.viewsets import (
index as itam_index_v2,
device as device_v2,
device_notes,
device_software as device_software_v2,
device_operating_system,
inventory,
operating_system as operating_system_v2,
operating_system_notes,
operating_system_version as operating_system_version_v2,
operating_system_version_notes,
software as software_v2,
software_notes,
software_version as software_version_v2,
software_version_notes,
)
from itim.viewsets import (
service_device as service_device_v2,
)
# app_name = "itam"
router: DefaultRouter = DefaultRouter(trailing_slash=False)
router.register(
prefix = '', viewset = itam_index_v2.Index,
basename = '_api_v2_itam_home'
)
router.register(
prefix = '(?P<asset_model>[it_asset]+)', viewset = asset.ViewSet,
feature_flag = '2025-00007', basename = '_api_v2_itam_asset'
)
router.register(
prefix = 'device', viewset = device_v2.ViewSet,
basename = '_api_v2_device'
)
router.register(
prefix = 'device/(?P<device_id>[0-9]+)/operating_system',
viewset = device_operating_system.ViewSet,
basename = '_api_v2_device_operating_system')
router.register(
prefix = 'device/(?P<device_id>[0-9]+)/software', viewset = device_software_v2.ViewSet,
basename = '_api_v2_device_software'
)
router.register(
prefix = 'device/(?P<device_id>[0-9]+)/service', viewset = service_device_v2.ViewSet,
basename = '_api_v2_service_device'
)
router.register(
prefix = 'device/(?P<model_id>[0-9]+)/notes', viewset = device_notes.ViewSet,
basename = '_api_v2_device_note'
)
router.register(
prefix = 'inventory', viewset = inventory.ViewSet,
basename = '_api_v2_inventory'
)
router.register(
prefix = 'operating_system', viewset = operating_system_v2.ViewSet,
basename = '_api_v2_operating_system'
)
router.register(
prefix = 'operating_system/(?P<operating_system_id>[0-9]+)/installs',
viewset = device_operating_system.ViewSet,
basename = '_api_v2_operating_system_installs'
)
router.register(
prefix = 'operating_system/(?P<model_id>[0-9]+)/notes',
viewset = operating_system_notes.ViewSet,
basename = '_api_v2_operating_system_note'
)
router.register(
prefix = 'operating_system/(?P<operating_system_id>[0-9]+)/version',
viewset = operating_system_version_v2.ViewSet,
basename = '_api_v2_operating_system_version'
)
router.register(
prefix = 'operating_system/(?P<operating_system_id>[0-9]+)/version/(?P<model_id>[0-9]+)/notes',
viewset = operating_system_version_notes.ViewSet,
basename = '_api_v2_operating_system_version_note'
)
router.register(
prefix = 'software', viewset = software_v2.ViewSet,
basename = '_api_v2_software'
)
router.register(
prefix = 'software/(?P<software_id>[0-9]+)/installs', viewset = device_software_v2.ViewSet,
basename = '_api_v2_software_installs'
)
router.register(
prefix = 'software/(?P<model_id>[0-9]+)/notes', viewset = software_notes.ViewSet,
basename = '_api_v2_software_note'
)
router.register(
prefix = 'software/(?P<software_id>[0-9]+)/version', viewset = software_version_v2.ViewSet,
basename = '_api_v2_software_version'
)
router.register(
prefix = 'software/(?P<software_id>[0-9]+)/version/(?P<model_id>[0-9]+)/notes',
viewset = software_version_notes.ViewSet,
basename = '_api_v2_software_version_note'
)
router.register(
prefix = 'software/(?P<software_id>[0-9]+)/feature_flag',
viewset = software_enable_feature_flag.ViewSet,
basename = '_api_v2_feature_flag_software'
)
urlpatterns = router.urls