feat: support org-level role changes for service users
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 70/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- go
- Ambito
- api, authorization, backend
Direzione di ricerca
Inizia con SetOrganizationMemberRoleRequest nel proto raystack/proton e con l’handler SetOrganizationMemberRole in organization.go. Esamina gli unit test esistenti del service layer che verificano le modifiche di ruolo degli utenti di servizio, quindi aggiorna request e handler in modo che l’ID e il tipo del principal arrivino al service. Il lavoro è completo quando gli utenti di servizio possono modificare i propri ruoli tramite l’RPC senza introdurre regressioni nelle modifiche di ruolo degli utenti normali.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Service users now get an app_organization_viewer role when created (#1570), but there's no way to change that role through the API. An admin who wants to promote a service user to app_organization_manager or app_organization_owner cannot do so — the SetOrganizationMemberRole RPC only accepts user_id, hardcoded to schema.UserPrincipal.
The service layer already supports service user role changes (validated in unit tests). Only the proto + handler need updating.
What needs to change
Proto (raystack/proton): Update SetOrganizationMemberRoleRequest to accept principal_id + principal_type instead of (or in addition to) user_id.
Handler (organization.go): Pass the principal type from the request instead of hardcoding schema.UserPrincipal.
How service user membership works today
For reference, here's the current state after the membership migration:
| Operation | How it works |
|---|---|
| Create | CreateServiceUser → AddOrganizationMember(viewer) — gets policy + relation + identity link |
| Delete | DeleteServiceUser → RemoveOrganizationMember (cascade) → bulk relation delete → DB delete |
| Role change | Not possible via RPC — this issue |
| Remove from org | RemoveOrganizationMember rejects app/serviceuser at the handler — callers must use DeleteServiceUser (SUs are bound to one org) |
| Add to org | Only via CreateServiceUser — SUs are created within an org, not added to one after the fact |
References
- Lingua principale
- Go
- Stelle
- 344
- Fork
- 47
- Merge medio
- 2g 19h
- PR unite (30g)
- 32
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di raystack/frontier
-
enhancement go
Difficoltà 4/5 3-5 giorni Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
I maintainer di solito rispondono entro 1 giorno
-
authz bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
raystack/frontier#1896 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Add OpenTelemetry tracingAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di raystack/frontier
Issue simili
-
agentic-workflows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
priority/4/normal status/needs-triage type/bug/unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
authelia/authelia#13292 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
blinklabs-io/actions#138 ·
I maintainer di solito rispondono entro 1 giorno
-
[UI] AlbumDetails collapses multi-genre list to single primary genre on viewports < lg breakpointAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno