Skip to content

Commit 0190582

Browse files
committed
Workspaces roles
1 parent 3211511 commit 0190582

File tree

1 file changed

+41
-3
lines changed

1 file changed

+41
-3
lines changed

common/src/main/kotlin/com/cosmotech/api/config/CsmSecurityConfiguration.kt

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,31 @@ const val PATH_SCENARIORUNS_CUMULATEDLOGS = "/organizations/*/scenarioruns/*/cum
7575
const val PATH_SCENARIORUNS_WORKSPACES = "/organizations/*/workspaces/scenarioruns"
7676
const val PATH_SCENARIORUNS_SCENARIOS = "/organizations/*/workspaces/*/scenarios/*/scenarioruns"
7777
const val PATH_SCENARIORUNS_SCENARIOS_RUN = "/organizations/*/workspaces/*/scenarios/*/run"
78-
val PATHS_SCENARIORUNS = listOf(PATH_SCENARIORUNS, PATH_SCENARIORUNS_STATUS, PATH_SCENARIORUNS_LOGS, PATH_SCENARIORUNS_CUMULATEDLOGS, PATH_SCENARIORUNS_WORKSPACES, PATH_SCENARIORUNS_SCENARIOS)
78+
val PATHS_SCENARIORUNS =
79+
listOf(
80+
PATH_SCENARIORUNS,
81+
PATH_SCENARIORUNS_STATUS,
82+
PATH_SCENARIORUNS_LOGS,
83+
PATH_SCENARIORUNS_CUMULATEDLOGS,
84+
PATH_SCENARIORUNS_WORKSPACES,
85+
PATH_SCENARIORUNS_SCENARIOS)
7986
const val PATH_SOLUTIONS = "/organizations/*/solutions"
8087
const val PATH_SOLUTIONS_PARAMETERS = "/organizations/*/solutions/*/parameters"
8188
const val PATH_SOLUTIONS_PARAMETERGROUPS = "/organizations/*/solutions/*/parameterGroups"
8289
const val PATH_SOLUTIONS_RUNTEMPLATES = "/organizations/*/solutions/*/runTemplates"
83-
const val PATH_SOLUTIONS_RUNTEMPLATES_HANDLERS_UPLOAD = "/organizations/*/solutions/*/runTemplates/*/handlers/*/upload"
84-
val PATHS_SOLUTIONS = listOf(PATH_SOLUTIONS, PATH_SOLUTIONS_PARAMETERS, PATH_SOLUTIONS_PARAMETERGROUPS, PATH_SOLUTIONS_RUNTEMPLATES, PATH_SOLUTIONS_RUNTEMPLATES_HANDLERS_UPLOAD)
90+
const val PATH_SOLUTIONS_RUNTEMPLATES_HANDLERS_UPLOAD =
91+
"/organizations/*/solutions/*/runTemplates/*/handlers/*/upload"
92+
val PATHS_SOLUTIONS =
93+
listOf(
94+
PATH_SOLUTIONS,
95+
PATH_SOLUTIONS_PARAMETERS,
96+
PATH_SOLUTIONS_PARAMETERGROUPS,
97+
PATH_SOLUTIONS_RUNTEMPLATES,
98+
PATH_SOLUTIONS_RUNTEMPLATES_HANDLERS_UPLOAD)
99+
const val PATH_WORKSPACES = "/organizations/*/workspaces"
100+
const val PATH_WORKSPACES_FILES = "/organizations/*/workspaces/*/files"
101+
const val PATH_WORKSPACES_USERS = "/organizations/*/workspaces/*/users"
102+
val PATHS_WORKSPACES = listOf(PATH_WORKSPACES, PATH_WORKSPACES_FILES, PATH_WORKSPACES_USERS)
85103

86104
// Endpoints roles
87105
val endpointSecurityPublic =
@@ -168,6 +186,18 @@ private val endpointSecurityReaders =
168186
ROLE_ORGANIZATION_MODELER,
169187
ROLE_ORGANIZATION_USER,
170188
ROLE_ORGANIZATION_VIEWER)),
189+
CsmSecurityEndpointsRolesReader(
190+
paths = PATHS_WORKSPACES,
191+
roles =
192+
arrayOf(
193+
ROLE_WORKSPACE_READER,
194+
ROLE_WORKSPACE_WRITER,
195+
ROLE_CONNECTOR_DEVELOPER,
196+
ROLE_ORGANIZATION_ADMIN,
197+
ROLE_ORGANIZATION_COLLABORATOR,
198+
ROLE_ORGANIZATION_MODELER,
199+
ROLE_ORGANIZATION_USER,
200+
ROLE_ORGANIZATION_VIEWER)),
171201
)
172202

173203
private val endpointSecurityWriters =
@@ -222,6 +252,14 @@ private val endpointSecurityWriters =
222252
ROLE_ORGANIZATION_COLLABORATOR,
223253
ROLE_ORGANIZATION_MODELER,
224254
)),
255+
CsmSecurityEndpointsRolesWriter(
256+
paths = PATHS_WORKSPACES,
257+
roles =
258+
arrayOf(
259+
ROLE_WORKSPACE_WRITER,
260+
ROLE_ORGANIZATION_ADMIN,
261+
ROLE_ORGANIZATION_COLLABORATOR,
262+
)),
225263
)
226264

227265
@Configuration

0 commit comments

Comments
 (0)