Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions apps/server-nestjs/src/modules/argocd/argocd-plugin.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,17 @@ import {
EXTRA_REPOSITORIES_PLUGIN_KEY,
PLATFORM_ADMIN_GROUP_PATH,
PLATFORM_ADMIN_GROUP_PATH_PLUGIN_KEY,
PLATFORM_READONLY_GROUP_PATH,
PLATFORM_READONLY_GROUP_PATH_PLUGIN_KEY,
PLATFORM_READER_GROUP_PATH,
PLATFORM_READER_GROUP_PATH_PLUGIN_KEY,
PLATFORM_SECURITY_GROUP_PATH,
PROJECT_ADMIN_GROUP_PATH_SUFFIX,
PROJECT_ADMIN_GROUP_PATH_SUFFIX_PLUGIN_KEY,
PROJECT_DEVELOPER_GROUP_PATH_SUFFIX,
PROJECT_DEVELOPER_GROUP_PATH_SUFFIX_PLUGIN_KEY,
PROJECT_DEVOPS_GROUP_PATH_SUFFIX,
PROJECT_DEVOPS_GROUP_PATH_SUFFIX_PLUGIN_KEY,
PROJECT_READONLY_GROUP_PATH_SUFFIX,
PROJECT_READONLY_GROUP_PATH_SUFFIX_PLUGIN_KEY,
PROJECT_READER_GROUP_PATH_SUFFIX,
PROJECT_READER_GROUP_PATH_SUFFIX_PLUGIN_KEY,
PROJECT_SECURITY_GROUP_PATH_SUFFIX,
} from './argocd.constants'

Expand Down Expand Up @@ -59,15 +59,15 @@ export class ArgoCDPluginService {
value: PLATFORM_ADMIN_GROUP_PATH,
description: 'Chemin du groupe administrateur de plateforme',
}, {
key: PLATFORM_READONLY_GROUP_PATH_PLUGIN_KEY,
key: PLATFORM_READER_GROUP_PATH_PLUGIN_KEY,
kind: 'text',
permissions: {
admin: { read: true, write: true },
user: { read: false, write: false },
},
title: 'Platform Readonly Group Path',
value: PLATFORM_READONLY_GROUP_PATH,
description: 'Chemin du groupe lecture seule de plateforme',
title: 'Platform Reader Group Path',
value: PLATFORM_READER_GROUP_PATH,
description: 'Chemin du groupe lecteur de plateforme',
}, {
key: 'platformSecurityGroupPath',
kind: 'text',
Expand Down Expand Up @@ -109,15 +109,15 @@ export class ArgoCDPluginService {
value: PROJECT_DEVELOPER_GROUP_PATH_SUFFIX,
description: 'Suffixe du chemin du groupe développeur de projet',
}, {
key: PROJECT_READONLY_GROUP_PATH_SUFFIX_PLUGIN_KEY,
key: PROJECT_READER_GROUP_PATH_SUFFIX_PLUGIN_KEY,
kind: 'text',
permissions: {
admin: { read: true, write: true },
user: { read: false, write: false },
},
title: 'Project Readonly Group Path Suffix',
value: PROJECT_READONLY_GROUP_PATH_SUFFIX,
description: 'Suffixe du chemin du groupe lecture seule de projet',
title: 'Project Reader Group Path Suffix',
value: PROJECT_READER_GROUP_PATH_SUFFIX,
description: 'Suffixe du chemin du groupe lecteur de projet',
}, {
key: 'projectSecurityGroupPathSuffix',
kind: 'text',
Expand Down
8 changes: 4 additions & 4 deletions apps/server-nestjs/src/modules/argocd/argocd.constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ export const PLUGIN_NAME = 'argocd'
// Platform-level group paths
export const CONSOLE_ADMIN_GROUP_PATH = '/console/admin'
export const PLATFORM_ADMIN_GROUP_PATH = '/console/admin'
export const PLATFORM_READONLY_GROUP_PATH = '/console/readonly'
export const PLATFORM_READER_GROUP_PATH = '/console/reader'
export const PLATFORM_SECURITY_GROUP_PATH = '/console/security'

// Suffix for project group path
export const PROJECT_ADMIN_GROUP_PATH_SUFFIX = '/console/admin'
export const PROJECT_DEVOPS_GROUP_PATH_SUFFIX = '/console/devops'
export const PROJECT_DEVELOPER_GROUP_PATH_SUFFIX = '/console/developer'
export const PROJECT_READONLY_GROUP_PATH_SUFFIX = '/console/readonly'
export const PROJECT_READER_GROUP_PATH_SUFFIX = '/console/reader'
export const PROJECT_SECURITY_GROUP_PATH_SUFFIX = '/console/security'

// Default chart versions
Expand All @@ -21,10 +21,10 @@ export const DEFAULT_DSO_NS_CHART_VERSION = 'dso-ns-1.1.5'
// Plugin configuration keys
export const EXTRA_REPOSITORIES_PLUGIN_KEY = 'extraRepositories'
export const PLATFORM_ADMIN_GROUP_PATH_PLUGIN_KEY = 'platformAdminGroupPath'
export const PLATFORM_READONLY_GROUP_PATH_PLUGIN_KEY = 'platformReadonlyGroupPath'
export const PLATFORM_READER_GROUP_PATH_PLUGIN_KEY = 'platformReaderGroupPath'
export const PROJECT_ADMIN_GROUP_PATH_SUFFIX_PLUGIN_KEY = 'projectAdminGroupPathSuffix'
export const PROJECT_DEVOPS_GROUP_PATH_SUFFIX_PLUGIN_KEY = 'projectDevopsGroupPathSuffix'
export const PROJECT_DEVELOPER_GROUP_PATH_SUFFIX_PLUGIN_KEY = 'projectDevelopperGroupPathSuffix'
export const PROJECT_READONLY_GROUP_PATH_SUFFIX_PLUGIN_KEY = 'projectReadonlyGroupPathSuffix'
export const PROJECT_READER_GROUP_PATH_SUFFIX_PLUGIN_KEY = 'projectReaderGroupPathSuffix'
export const DSO_ENV_CHART_VERSION_PLUGIN_KEY = 'dsoEnvChartVersion'
export const DSO_NS_CHART_VERSION_PLUGIN_KEY = 'dsoNsChartVersion'
12 changes: 6 additions & 6 deletions apps/server-nestjs/src/modules/argocd/argocd.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -286,13 +286,13 @@ describe('argoCDService', () => {
rwGroup: '/project-1/console/dev/RW',
consoleAdminGroup: '/console/admin',
platformAdminGroup: '/console/admin',
platformReadonlyGroup: '/console/readonly',
platformReaderGroup: '/console/reader',
platformSecurityGroup: '/console/security',
projectAdminGroup: '/project-1/console/admin',
projectDevopsGroup: '/project-1/console/devops',
projectDevelopperGroup: '/project-1/console/developer',
projectSecurityGroup: '/project-1/console/security',
projectReadonlyGroup: '/project-1/console/readonly',
projectReaderGroup: '/project-1/console/reader',
},
application: {
quota: {
Expand Down Expand Up @@ -361,13 +361,13 @@ describe('argoCDService', () => {
rwGroup: '/project-1/console/prod/RW',
consoleAdminGroup: '/console/admin',
platformAdminGroup: '/console/admin',
platformReadonlyGroup: '/console/readonly',
platformReaderGroup: '/console/reader',
platformSecurityGroup: '/console/security',
projectAdminGroup: '/project-1/console/admin',
projectDevopsGroup: '/project-1/console/devops',
projectDevelopperGroup: '/project-1/console/developer',
projectSecurityGroup: '/project-1/console/security',
projectReadonlyGroup: '/project-1/console/readonly',
projectReaderGroup: '/project-1/console/reader',
},
application: {
quota: {
Expand Down Expand Up @@ -621,13 +621,13 @@ describe('argoCDService', () => {
rwGroup: '/project-1/console/dev/RW',
consoleAdminGroup: '/console/admin',
platformAdminGroup: '/console/admin',
platformReadonlyGroup: '/console/readonly',
platformReaderGroup: '/console/reader',
platformSecurityGroup: '/console/security',
projectAdminGroup: '/project-1/console/admin',
projectDevopsGroup: '/project-1/console/devops',
projectDevelopperGroup: '/project-1/console/developer',
projectSecurityGroup: '/project-1/console/security',
projectReadonlyGroup: '/project-1/console/readonly',
projectReaderGroup: '/project-1/console/reader',
},
application: {
quota: {
Expand Down
12 changes: 6 additions & 6 deletions apps/server-nestjs/src/modules/argocd/argocd.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ import { ArgoCDDatastoreService } from './argocd-datastore.service'
import {
CONSOLE_ADMIN_GROUP_PATH,
PLATFORM_ADMIN_GROUP_PATH,
PLATFORM_READONLY_GROUP_PATH,
PLATFORM_READER_GROUP_PATH,
PLATFORM_SECURITY_GROUP_PATH,
PROJECT_ADMIN_GROUP_PATH_SUFFIX,
PROJECT_DEVELOPER_GROUP_PATH_SUFFIX,
PROJECT_DEVOPS_GROUP_PATH_SUFFIX,
PROJECT_READONLY_GROUP_PATH_SUFFIX,
PROJECT_READER_GROUP_PATH_SUFFIX,
PROJECT_SECURITY_GROUP_PATH_SUFFIX,
} from './argocd.constants'

Expand Down Expand Up @@ -443,13 +443,13 @@ interface ValuesSchema {
rwGroup: string
consoleAdminGroup: string
platformAdminGroup: string
platformReadonlyGroup: string
platformReaderGroup: string
platformSecurityGroup: string
projectAdminGroup: string
projectDevopsGroup: string
projectDevelopperGroup: string
projectSecurityGroup: string
projectReadonlyGroup: string
projectReaderGroup: string
}
application: {
quota: {
Expand Down Expand Up @@ -600,13 +600,13 @@ function formatEnvironmentValues(
rwGroup,
consoleAdminGroup: CONSOLE_ADMIN_GROUP_PATH,
platformAdminGroup: PLATFORM_ADMIN_GROUP_PATH,
platformReadonlyGroup: PLATFORM_READONLY_GROUP_PATH,
platformReaderGroup: PLATFORM_READER_GROUP_PATH,
platformSecurityGroup: PLATFORM_SECURITY_GROUP_PATH,
projectAdminGroup: generateProjectConsoleGroupPath(project.slug, PROJECT_ADMIN_GROUP_PATH_SUFFIX),
projectDevopsGroup: generateProjectConsoleGroupPath(project.slug, PROJECT_DEVOPS_GROUP_PATH_SUFFIX),
projectDevelopperGroup: generateProjectConsoleGroupPath(project.slug, PROJECT_DEVELOPER_GROUP_PATH_SUFFIX),
projectSecurityGroup: generateProjectConsoleGroupPath(project.slug, PROJECT_SECURITY_GROUP_PATH_SUFFIX),
projectReadonlyGroup: generateProjectConsoleGroupPath(project.slug, PROJECT_READONLY_GROUP_PATH_SUFFIX),
projectReaderGroup: generateProjectConsoleGroupPath(project.slug, PROJECT_READER_GROUP_PATH_SUFFIX),
} satisfies ValuesSchema['environment']
}

Expand Down
4 changes: 2 additions & 2 deletions apps/server-nestjs/src/modules/gitlab/gitlab.constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ export const TOKEN_DESCRIPTION = 'mirroring-from-external-repo'

// Default group paths for console roles
export const DEFAULT_ADMIN_GROUP_PATH = '/console/admin'
export const DEFAULT_AUDITOR_GROUP_PATH = '/console/readonly,/console/security'
export const DEFAULT_AUDITOR_GROUP_PATH = '/console/reader,/console/security'
export const DEFAULT_PROJECT_MAINTAINER_GROUP_PATH_SUFFIX = '/console/admin,/console/devops'
export const DEFAULT_PROJECT_DEVELOPER_GROUP_PATH_SUFFIX = '/console/developer'
export const DEFAULT_PROJECT_REPORTER_GROUP_PATH_SUFFIX = '/console/readonly,/console/security'
export const DEFAULT_PROJECT_REPORTER_GROUP_PATH_SUFFIX = '/console/reader,/console/security'

// Plugin configuration keys
export const ADMIN_GROUP_PATH_PLUGIN_KEY = 'adminGroupPath'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ describe('gitlabService', () => {
const project = makeProjectWithDetails({
slug: 'project-1',
roles: [
{ id: 'r-reporter', oidcGroup: '/project-1/console/readonly' },
{ id: 'r-reporter', oidcGroup: '/project-1/console/reader' },
{ id: 'r-developer', oidcGroup: '/project-1/console/developer' },
{ id: 'r-devops', oidcGroup: '/project-1/console/devops' },
{ id: 'r-maintainer', oidcGroup: '/project-1/console/admin' },
Expand Down Expand Up @@ -439,12 +439,12 @@ describe('gitlabService', () => {

datastore.getAdminPluginConfig.mockImplementation(async (_pluginName: string, key: string) => {
if (key === 'adminGroupPath') return '/console/admin'
if (key === 'auditorGroupPath') return '/console/readonly'
if (key === 'auditorGroupPath') return '/console/reader'
return null
})
datastore.getAdminRolesByOidcGroups.mockResolvedValue([
{ id: 'admin-role-id', oidcGroup: '/console/admin' },
{ id: 'auditor-role-id', oidcGroup: '/console/readonly' },
{ id: 'auditor-role-id', oidcGroup: '/console/reader' },
])

gitlab.getOrCreateProjectSubGroup.mockResolvedValue(group)
Expand Down
8 changes: 4 additions & 4 deletions apps/server-nestjs/src/modules/nexus/nexus.constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ export const DEFAULT_NPM_WRITE_POLICY = 'allow'

// Default group paths granting write and read access at the platform level
export const DEFAULT_PLATFORM_WRITE_GROUP_PATHS = '/console/admin'
export const DEFAULT_PLATFORM_READ_GROUP_PATHS = '/console/readonly,/console/security'
export const DEFAULT_PLATFORM_READER_GROUP_PATHS = '/console/readonly,/console/security'

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[🟠 Important] Les constantes sont renommées vers READER mais leurs valeurs conservent /console/readonly — en décalage avec argocd, sonarqube, vault et registry qui passent tous à /console/reader. Par ailleurs, les clés de configuration changent (platformReadGroupPathsplatformReaderGroupPaths) sans migration des valeurs stockées : toute configuration admin existante sous l'ancienne clé est orphelinée et silencieusement remplacée par les défauts. Suggestion : aligner les valeurs sur /console/reader, et soit conserver les anciennes clés, soit migrer les lignes PluginDatastore concernées.


// Default group path suffixes granting write and read access at the project level
export const DEFAULT_PROJECT_WRITE_GROUP_PATH_SUFFIXES = '/console/admin,/console/devops'
export const DEFAULT_PROJECT_READ_GROUP_PATH_SUFFIXES = '/console/readonly,/console/security,/console/developer'
export const DEFAULT_PROJECT_READER_GROUP_PATH_SUFFIXES = '/console/readonly,/console/security,/console/developer'

// Plugin configuration keys for platform-level group paths
export const PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY = 'platformWriteGroupPaths'
export const PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY = 'platformReadGroupPaths'
export const PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY = 'platformReadGroupPaths'

// Plugin configuration keys for project-level group path suffixes
export const PROJECT_WRITE_GROUP_PATH_SUFFIXES_PLUGIN_KEY = 'projectWriteGroupPathSuffixes'
export const PROJECT_READ_GROUP_PATH_SUFFIXES_PLUGIN_KEY = 'projectReadGroupPathSuffixes'
export const PROJECT_READER_GROUP_PATH_SUFFIXES_PLUGIN_KEY = 'projectReadGroupPathSuffixes'
12 changes: 6 additions & 6 deletions apps/server-nestjs/src/modules/nexus/nexus.service.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import { makeProjectWithDetails } from './nexus-testing.utils'
import {
NEXUS_CONFIG_KEY_ACTIVATE_MAVEN_REPO,
NEXUS_CONFIG_KEY_ACTIVATE_NPM_REPO,
PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY,
PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY,
PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY,
PLUGIN_NAME,
PROJECT_READ_GROUP_PATH_SUFFIXES_PLUGIN_KEY,
PROJECT_READER_GROUP_PATH_SUFFIXES_PLUGIN_KEY,
PROJECT_WRITE_GROUP_PATH_SUFFIXES_PLUGIN_KEY,
} from './nexus.constants'
import { NexusService } from './nexus.service'
Expand Down Expand Up @@ -123,7 +123,7 @@ describe('nexusService', () => {
})

datastore.getAdminPluginConfig.mockImplementation(async (_plugin, key) => {
if (key === PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY) return ' '
if (key === PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY) return ' '
if (key === PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY) return ' '
return null
})
Expand All @@ -148,7 +148,7 @@ describe('nexusService', () => {
})

datastore.getAdminPluginConfig.mockImplementation(async (_plugin, key) => {
if (key === PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY) return ' '
if (key === PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY) return ' '
if (key === PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY) return ' '
return null
})
Expand Down Expand Up @@ -211,12 +211,12 @@ describe('nexusService', () => {
plugins: [
{ pluginName: PLUGIN_NAME, key: NEXUS_CONFIG_KEY_ACTIVATE_MAVEN_REPO, value: ENABLED },
{ pluginName: PLUGIN_NAME, key: PROJECT_WRITE_GROUP_PATH_SUFFIXES_PLUGIN_KEY, value: '/console/devops' },
{ pluginName: PLUGIN_NAME, key: PROJECT_READ_GROUP_PATH_SUFFIXES_PLUGIN_KEY, value: '/console/devops' },
{ pluginName: PLUGIN_NAME, key: PROJECT_READER_GROUP_PATH_SUFFIXES_PLUGIN_KEY, value: '/console/devops' },
],
})

datastore.getAdminPluginConfig.mockImplementation(async (_plugin, key) => {
if (key === PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY) return ' '
if (key === PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY) return ' '
if (key === PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY) return ' '
return null
})
Expand Down
26 changes: 13 additions & 13 deletions apps/server-nestjs/src/modules/nexus/nexus.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ import {
DEFAULT_MAVEN_RELEASE_WRITE_POLICY,
DEFAULT_MAVEN_SNAPSHOT_WRITE_POLICY,
DEFAULT_NPM_WRITE_POLICY,
DEFAULT_PLATFORM_READ_GROUP_PATHS,
DEFAULT_PLATFORM_READER_GROUP_PATHS,
DEFAULT_PLATFORM_WRITE_GROUP_PATHS,
DEFAULT_PROJECT_READ_GROUP_PATH_SUFFIXES,
DEFAULT_PROJECT_READER_GROUP_PATH_SUFFIXES,
DEFAULT_PROJECT_WRITE_GROUP_PATH_SUFFIXES,
NEXUS_CONFIG_KEY_ACTIVATE_MAVEN_REPO,
NEXUS_CONFIG_KEY_ACTIVATE_NPM_REPO,
NEXUS_CONFIG_KEY_MAVEN_RELEASE_WRITE_POLICY,
NEXUS_CONFIG_KEY_MAVEN_SNAPSHOT_WRITE_POLICY,
NEXUS_CONFIG_KEY_NPM_WRITE_POLICY,
PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY,
PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY,
PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY,
PLUGIN_NAME,
PROJECT_READ_GROUP_PATH_SUFFIXES_PLUGIN_KEY,
PROJECT_READER_GROUP_PATH_SUFFIXES_PLUGIN_KEY,
PROJECT_WRITE_GROUP_PATH_SUFFIXES_PLUGIN_KEY,
} from './nexus.constants'
import {
Expand Down Expand Up @@ -497,11 +497,11 @@ export class NexusService {
const rawWriteSuffixes = await this.getOptionalConfigValue(project, PROJECT_WRITE_GROUP_PATH_SUFFIXES_PLUGIN_KEY)
?? DEFAULT_PROJECT_WRITE_GROUP_PATH_SUFFIXES

const rawReadSuffixes = await this.getOptionalConfigValue(project, PROJECT_READ_GROUP_PATH_SUFFIXES_PLUGIN_KEY)
?? DEFAULT_PROJECT_READ_GROUP_PATH_SUFFIXES
const rawReadSuffixes = await this.getOptionalConfigValue(project, PROJECT_READER_GROUP_PATH_SUFFIXES_PLUGIN_KEY)
?? DEFAULT_PROJECT_READER_GROUP_PATH_SUFFIXES

const writeGroupPaths = generateProjectRoleGroupPath(project, rawWriteSuffixes || DEFAULT_PROJECT_WRITE_GROUP_PATH_SUFFIXES)
const readGroupPaths = generateProjectRoleGroupPath(project, rawReadSuffixes || DEFAULT_PROJECT_READ_GROUP_PATH_SUFFIXES)
const readGroupPaths = generateProjectRoleGroupPath(project, rawReadSuffixes || DEFAULT_PROJECT_READER_GROUP_PATH_SUFFIXES)

const byId = generateRolePrivilegesMapping({
readGroupPaths,
Expand All @@ -517,8 +517,8 @@ export class NexusService {
const rawWriteGroupPaths = await this.datastore.getAdminPluginConfig(PLUGIN_NAME, PLATFORM_WRITE_GROUP_PATHS_PLUGIN_KEY)
?? DEFAULT_PLATFORM_WRITE_GROUP_PATHS

const rawReadGroupPaths = await this.datastore.getAdminPluginConfig(PLUGIN_NAME, PLATFORM_READ_GROUP_PATHS_PLUGIN_KEY)
?? DEFAULT_PLATFORM_READ_GROUP_PATHS
const rawReadGroupPaths = await this.datastore.getAdminPluginConfig(PLUGIN_NAME, PLATFORM_READER_GROUP_PATHS_PLUGIN_KEY)
?? DEFAULT_PLATFORM_READER_GROUP_PATHS

const readonlyPrivileges = new Set<string>()
const writePrivileges = new Set<string>()
Expand All @@ -529,7 +529,7 @@ export class NexusService {
}

const byId = generateRolePrivilegesMapping({
readGroupPaths: parseOidcGroupPaths(rawReadGroupPaths || DEFAULT_PLATFORM_READ_GROUP_PATHS),
readGroupPaths: parseOidcGroupPaths(rawReadGroupPaths || DEFAULT_PLATFORM_READER_GROUP_PATHS),
writeGroupPaths: parseOidcGroupPaths(rawWriteGroupPaths || DEFAULT_PLATFORM_WRITE_GROUP_PATHS),
readOnlyPrivileges: [...readonlyPrivileges],
writePrivileges: [...writePrivileges],
Expand All @@ -550,12 +550,12 @@ export class NexusService {
const rawWriteSuffixes = await this.getOptionalConfigValue(project, PROJECT_WRITE_GROUP_PATH_SUFFIXES_PLUGIN_KEY)
?? DEFAULT_PROJECT_WRITE_GROUP_PATH_SUFFIXES

const rawReadSuffixes = await this.getOptionalConfigValue(project, PROJECT_READ_GROUP_PATH_SUFFIXES_PLUGIN_KEY)
?? DEFAULT_PROJECT_READ_GROUP_PATH_SUFFIXES
const rawReadSuffixes = await this.getOptionalConfigValue(project, PROJECT_READER_GROUP_PATH_SUFFIXES_PLUGIN_KEY)
?? DEFAULT_PROJECT_READER_GROUP_PATH_SUFFIXES

const groupPaths = [
...generateProjectRoleGroupPath(project, rawWriteSuffixes || DEFAULT_PROJECT_WRITE_GROUP_PATH_SUFFIXES),
...generateProjectRoleGroupPath(project, rawReadSuffixes || DEFAULT_PROJECT_READ_GROUP_PATH_SUFFIXES),
...generateProjectRoleGroupPath(project, rawReadSuffixes || DEFAULT_PROJECT_READER_GROUP_PATH_SUFFIXES),
]

const ids = [...new Set(groupPaths.map(generateRoleId))]
Expand Down
4 changes: 2 additions & 2 deletions apps/server-nestjs/src/modules/project/project.utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,10 @@ export function generateProjectCreateInput(
type: 'system:managed',
},
{
name: 'Lecture seule',
name: 'Lecture',
permissions: PROJECT_PERMS.LIST_ENVIRONMENTS | PROJECT_PERMS.LIST_REPOSITORIES,
position: 3,
oidcGroup: `/${slug}/console/readonly`,
oidcGroup: `/${slug}/console/reader`,
type: 'system:managed',
},
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ export const REGISTRY_CONFIG_KEY_PUBLISH_PROJECT_ROBOT = 'publishProjectRobot'

// Default platform-level group paths
export const DEFAULT_PLATFORM_ADMIN_GROUP_PATHS = '/console/admin'
export const DEFAULT_PLATFORM_GUEST_GROUP_PATHS = '/console/security,/console/readonly'
export const DEFAULT_PLATFORM_GUEST_GROUP_PATHS = '/console/security,/console/reader'

// Default project-level group path suffixes
export const DEFAULT_PROJECT_ADMIN_GROUP_PATH_SUFFIXES = '/console/admin'
export const DEFAULT_PROJECT_MAINTAINER_GROUP_PATH_SUFFIXES = '/console/devops'
export const DEFAULT_PROJECT_DEVELOPER_GROUP_PATH_SUFFIXES = '/console/developer'
export const DEFAULT_PROJECT_GUEST_GROUP_PATH_SUFFIXES = '/console/security,/console/readonly'
export const DEFAULT_PROJECT_GUEST_GROUP_PATH_SUFFIXES = '/console/security,/console/reader'

// Platform group path plugin configuration keys
export const PLATFORM_ADMIN_GROUP_PATH_PLUGIN_KEY = 'platformAdminGroupPath'
Expand Down
Loading