Skip to content

chore(server-nestjs): rename role readonly to reader - #2654

Open
shikanime wants to merge 2 commits into
mainfrom
chore/rename-role-readonly-to-reader
Open

chore(server-nestjs): rename role readonly to reader#2654
shikanime wants to merge 2 commits into
mainfrom
chore/rename-role-readonly-to-reader

Conversation

@shikanime

@shikanime shikanime commented Sep 2, 2026

Copy link
Copy Markdown
Member

Issues liées

Aucune

Quel est le comportement actuel ?

Les rôles de type readonly utilisent les chemins OIDC suivants :

  • /console/readonly pour les rôles de projet
  • /readonly pour les rôles admin de plateforme

Les constantes sont nommées READONLY_* et les libellés français utilisent
"lecture seule".

Quel est le nouveau comportement ?

Les rôles sont renommés de readonly à reader :

  • Les chemins OIDC passent de /console/readonly à /console/reader et de
    /readonly à /reader
  • Les constantes READONLY_* deviennent READER_*
  • Les libellés français passent de "lecture seule" à "lecteur"
  • Le nom du rôle AdminRole Lecture Seule Plateforme devient Lecteur Plateforme
  • Le nom du rôle ProjectRole Lecture seule devient Lecture (cohérent avec le
    serveur legacy)
  • Une migration Prisma renomme les rôles existantes en base de données

Fichiers modifiés (22) :

  • apps/server-nestjs/ : constantes, services, specs, utils pour tous les
    modules (argocd, gitlab, nexus, registry, sonarqube, vault, project)
  • apps/server-nestjs/src/prisma/migrations/20260615100000_rename_role_readonly_to_reader/migration.sql : migration DB
  • apps/server/src/resources/project/queries.ts : cohérence serveur legacy
  • packages/shared/src/utils/permissions.ts : libellés partagés
  • plugins/argocd/src/infos.ts : plugin externe

Cette PR introduit-elle un breaking change ?

Oui — Les chemins OIDC /console/readonly et /readonly sont renommés en
/console/reader et /reader. Les groupes Keycloak correspondants, les
politiques Vault, et les configurations de plugins externes (ArgoCD, Nexus,
SonarQube, Registry, GitLab) doivent être réconciliés. La migration Prisma
gère la mise à jour des rôles existants en base, mais les groupes externes
(Keycloak, Vault) seront synchronisés automatiquement par les jobs de
réconciliation des plugins.

Procédure de migration :

  1. Appliquer la migration Prisma (20260615100000_rename_role_readonly_to_reader)
  2. Relancer la réconciliation des plugins (cron) pour synchroniser les groupes
    OIDC externes avec les nouveaux chemins
  3. Mettre à jour toute configuration personnalisée référençant readonly vers
    reader

Autres informations

  • 615 tests unitaires passent (vitest)
  • ESLint clean
  • La migration est idempotente (utilise WHERE sur les anciennes valeurs)

- Rename READONLY_* constants to READER_* across all server-nestjs modules
  (argocd, gitlab, nexus, registry, sonarqube, vault)
- Rename oidcGroup paths from /console/readonly to /console/reader
- Update AdminRole name from 'Lecture Seule Plateforme' to 'Lecteur Plateforme'
- Update ProjectRole name from 'Lecture seule' to 'Lecteur'
- Update French descriptions from 'lecture seule' to 'lecteur'
- Add Prisma migration 20260615100000_rename_role_readonly_to_reader to
  rename existing roles in database
- Update old server queries.ts for consistency
- Update shared permissions labels from 'Lecture seule globale' to
  'Lecture globale'
- Update external plugins/argocd/src/infos.ts constants and oidcGroups

Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Co-authored-by: Automata <automata@shikanime.studio>
@shikanime
shikanime requested a review from a team as a code owner September 2, 2026 16:54
The infos.ts rename from readonly to reader was not reflected in
functions.ts and functions.spec.ts, causing TypeScript compilation
errors on the argocd plugin build.

- Rename imports/aliases from READONLY to READER
- Rename config keys platformReadonlyGroupPath -> platformReaderGroupPath
- Rename config keys projectReadonlyGroupPathSuffix -> projectReaderGroupPathSuffix
- Rename values keys platformReadonlyGroup -> platformReaderGroup
- Rename values keys projectReadonlyGroup -> projectReaderGroup

Signed-off-by: Shikanime Deva <william.phetsinorath@shikanime.studio>
Co-authored-by: Automata <automata@shikanime.studio>
@github-actions github-actions Bot added the built label Sep 2, 2026
@cloud-pi-native-sonarqube

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant