Skip to content

Commit 83d2ff0

Browse files
committed
feat(authorization): unregister RBAC API endpoints in OS — moved to Pro
Strip the 8 RBAC v2_api.register() calls from dojo/urls.py (dojo_groups, dojo_group_members, global_roles, product_groups, product_members, product_type_groups, product_type_members, roles) and the 4 alias registrations (asset_groups, asset_members, organization_groups, organization_members) from dojo/asset/api/urls.py and dojo/organization/api/urls.py. The viewsets and serializers in dojo/api_v2/{views,serializers}.py stay so Pro can keep subclassing them. Pro already registers replacements for dojo_groups, dojo_group_members, global_roles, product_groups, product_members, product_type_groups, product_type_members via its add_*_urls hooks; companion Pro commit adds add_roles_urls so /api/v2/roles/ stays available under Pro. Delete the 12 RBAC test classes from unittests/test_rest_framework.py (DojoGroupsTest, DojoGroupsUsersTest, RolesTest, GlobalRolesTest, ProductTypeMemberTest, OrganizationMemberTest, ProductMemberTest, AssetMemberTest, ProductTypeGroupTest, OrganiazationGroupTest, ProductGroupTest, AssetGroupTest) — equivalent coverage exists in dojo-pro at unit_tests/api/{dojo_groups,dojo_group_members, global_roles,product_groups,product_members,product_type_groups, product_type_members}/{test_crud,test_permissions}.py, and the companion Pro commit adds unit_tests/api/roles/test_crud.py for the roles endpoint.
1 parent 4b1306c commit 83d2ff0

4 files changed

Lines changed: 13 additions & 362 deletions

File tree

dojo/asset/api/urls.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
from dojo.asset.api.views import (
22
AssetAPIScanConfigurationViewSet,
3-
AssetGroupViewSet,
4-
AssetMemberViewSet,
53
AssetViewSet,
64
)
75

@@ -10,6 +8,6 @@ def add_asset_urls(router):
108
router.register(r"assets", AssetViewSet, basename="asset")
119
router.register(r"asset_api_scan_configurations", AssetAPIScanConfigurationViewSet,
1210
basename="asset_api_scan_configuration")
13-
router.register(r"asset_groups", AssetGroupViewSet, basename="asset_group")
14-
router.register(r"asset_members", AssetMemberViewSet, basename="asset_member")
11+
# RBAC alias endpoints moved to Pro under legacy authorization:
12+
# asset_groups, asset_members → pro/product_groups, pro/product_members
1513
return router

dojo/organization/api/urls.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
from dojo.organization.api.views import (
2-
OrganizationGroupViewSet,
3-
OrganizationMemberViewSet,
42
OrganizationViewSet,
53
)
64

75

86
def add_organization_urls(router):
97
router.register(r"organizations", OrganizationViewSet, basename="organization")
10-
router.register(r"organization_members", OrganizationMemberViewSet, basename="organization_member")
11-
router.register(r"organization_groups", OrganizationGroupViewSet, basename="organization_group")
8+
# RBAC alias endpoints moved to Pro under legacy authorization:
9+
# organization_members, organization_groups →
10+
# pro/product_type_members, pro/product_type_groups
1211
return router

dojo/urls.py

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
CredentialsMappingViewSet,
2121
CredentialsViewSet,
2222
DevelopmentEnvironmentViewSet,
23-
DojoGroupMemberViewSet,
24-
DojoGroupViewSet,
2523
DojoMetaViewSet,
2624
EndpointMetaImporterView,
2725
EndpointStatusViewSet,
@@ -30,7 +28,6 @@
3028
EngagementViewSet,
3129
FindingTemplatesViewSet,
3230
FindingViewSet,
33-
GlobalRoleViewSet,
3431
ImportLanguagesView,
3532
ImportScanView,
3633
JiraInstanceViewSet,
@@ -44,10 +41,6 @@
4441
NotificationsViewSet,
4542
NotificationWebhooksViewSet,
4643
ProductAPIScanConfigurationViewSet,
47-
ProductGroupViewSet,
48-
ProductMemberViewSet,
49-
ProductTypeGroupViewSet,
50-
ProductTypeMemberViewSet,
5144
ProductTypeViewSet,
5245
ProductViewSet,
5346
QuestionnaireAnsweredSurveyViewSet,
@@ -58,7 +51,6 @@
5851
RegulationsViewSet,
5952
ReImportScanView,
6053
RiskAcceptanceViewSet,
61-
RoleViewSet,
6254
SLAConfigurationViewset,
6355
SonarqubeIssueTransitionViewSet,
6456
SonarqubeIssueViewSet,
@@ -131,14 +123,14 @@
131123
v2_api.register(r"credential_mappings", CredentialsMappingViewSet, basename="cred_mapping")
132124
v2_api.register(r"credentials", CredentialsViewSet, basename="cred_user")
133125
v2_api.register(r"development_environments", DevelopmentEnvironmentViewSet, basename="development_environment")
134-
v2_api.register(r"dojo_groups", DojoGroupViewSet, basename="dojo_group")
135-
v2_api.register(r"dojo_group_members", DojoGroupMemberViewSet, basename="dojo_group_member")
126+
# RBAC endpoints moved to Pro under legacy authorization:
127+
# dojo_groups, dojo_group_members → pro/groups, pro/group_members
136128
v2_api.register(r"endpoint_meta_import", EndpointMetaImporterView, basename="endpointmetaimport")
137129
v2_api.register(r"engagements", EngagementViewSet, basename="engagement")
138130
v2_api.register(r"engagement_presets", EngagementPresetsViewset, basename="engagement_presets")
139131
v2_api.register(r"finding_templates", FindingTemplatesViewSet, basename="finding_template")
140132
v2_api.register(r"findings", FindingViewSet, basename="finding")
141-
v2_api.register(r"global_roles", GlobalRoleViewSet, basename="global_role")
133+
# RBAC endpoint moved to Pro under legacy authorization: global_roles → pro/global_roles
142134
v2_api.register(r"import-languages", ImportLanguagesView, basename="importlanguages")
143135
v2_api.register(r"import-scan", ImportScanView, basename="importscan")
144136
v2_api.register(r"jira_instances", JiraInstanceViewSet, basename="jira_instance")
@@ -156,16 +148,16 @@
156148
v2_api.register(r"notification_webhooks", NotificationWebhooksViewSet)
157149
v2_api.register(r"products", ProductViewSet, basename="product")
158150
v2_api.register(r"product_api_scan_configurations", ProductAPIScanConfigurationViewSet, basename="product_api_scan_configuration")
159-
v2_api.register(r"product_groups", ProductGroupViewSet, basename="product_group")
160-
v2_api.register(r"product_members", ProductMemberViewSet, basename="product_member")
151+
# RBAC endpoints moved to Pro under legacy authorization:
152+
# product_groups, product_members → pro/product_groups, pro/product_members
161153
v2_api.register(r"product_types", ProductTypeViewSet, basename="product_type")
162-
v2_api.register(r"product_type_members", ProductTypeMemberViewSet, basename="product_type_member")
163-
v2_api.register(r"product_type_groups", ProductTypeGroupViewSet, basename="product_type_group")
154+
# RBAC endpoints moved to Pro under legacy authorization:
155+
# product_type_members, product_type_groups → pro/product_type_members, pro/product_type_groups
164156
v2_api.register(r"regulations", RegulationsViewSet, basename="regulations")
165157
v2_api.register(r"reimport-scan", ReImportScanView, basename="reimportscan")
166158
v2_api.register(r"request_response_pairs", BurpRawRequestResponseViewSet, basename="request_response_pairs")
167159
v2_api.register(r"risk_acceptance", RiskAcceptanceViewSet, basename="risk_acceptance")
168-
v2_api.register(r"roles", RoleViewSet, basename="role")
160+
# RBAC endpoint moved to Pro under legacy authorization: roles → pro/roles
169161
v2_api.register(r"sla_configurations", SLAConfigurationViewset, basename="sla_configurations")
170162
v2_api.register(r"sonarqube_issues", SonarqubeIssueViewSet, basename="sonarqube_issue")
171163
v2_api.register(r"sonarqube_transitions", SonarqubeIssueTransitionViewSet, basename="sonarqube_issue_transition")

0 commit comments

Comments
 (0)