feat: user profile requests in resource APIs (#10151)

# Which Problems Are Solved

The commands for the resource based v2beta AuthorizationService API are
added.
Authorizations, previously knows as user grants, give a user in a
specific organization and project context roles.
The project can be owned or granted.
The given roles can be used to restrict access within the projects
applications.

The commands for the resource based v2beta InteralPermissionService API
are added.
Administrators, previously knows as memberships, give a user in a
specific organization and project context roles.
The project can be owned or granted.
The give roles give the user permissions to manage different resources
in Zitadel.

API definitions from https://github.com/zitadel/zitadel/issues/9165 are
implemented.

Contains endpoints for user metadata.

# How the Problems Are Solved

### New Methods

- CreateAuthorization
- UpdateAuthorization
- DeleteAuthorization
- ActivateAuthorization
- DeactivateAuthorization
- ListAuthorizations
- CreateAdministrator
- UpdateAdministrator
- DeleteAdministrator
- ListAdministrators
- SetUserMetadata to set metadata on a user
- DeleteUserMetadata to delete metadata on a user
- ListUserMetadata to query for metadata of a user

## Deprecated Methods

### v1.ManagementService
- GetUserGrantByID
- ListUserGrants
- AddUserGrant
- UpdateUserGrant
- DeactivateUserGrant
- ReactivateUserGrant
- RemoveUserGrant
- BulkRemoveUserGrant

### v1.AuthService
- ListMyUserGrants
- ListMyProjectPermissions

# Additional Changes

- Permission checks for metadata functionality on query and command side
- correct existence checks for resources, for example you can only be an
administrator on an existing project
- combined all member tables to singular query for the administrators
- add permission checks for command an query side functionality
- combined functions on command side where necessary for easier
maintainability

# Additional Context

Closes #9165

---------

Co-authored-by: Elio Bischof <elio@zitadel.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Livio Spring <livio.a@gmail.com>
This commit is contained in:
Stefan Benz
2025-07-04 18:12:59 +02:00
committed by GitHub
parent 9ebf2316c6
commit 5403be7c4b
142 changed files with 13223 additions and 2497 deletions

View File

@@ -448,8 +448,6 @@ Errors:
Invalid: Потребителското разрешение е невалидно
NotChanged: Потребителското разрешение не е променено
IDMissing: ID липсва
NotActive: Потребителското разрешение не е активно
NotInactive: Предоставянето на потребител не е деактивирано
NoPermissionForProject: Потребителят няма разрешения за този проект
RoleKeyNotFound: Ролята не е намерена
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: Uživatelský grant je neplatný
NotChanged: Uživatelský grant nebyl změněn
IDMissing: Chybí Id
NotActive: Uživatelský grant není aktivní
NotInactive: Uživatelský grant není deaktivován
NoPermissionForProject: Uživatel nemá na tomto projektu žádná oprávnění
RoleKeyNotFound: Role nenalezena
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: Benutzer Berechtigung ist ungültig
NotChanged: Benutzer Berechtigung wurde nicht verändert
IDMissing: ID fehlt
NotActive: Benutzer Berechtigung ist nicht aktiv
NotInactive: Benutzer Berechtigung ist nicht deaktiviert
NoPermissionForProject: Benutzer hat keine Rechte auf diesem Projekt
RoleKeyNotFound: Rolle konnte nicht gefunden werden
Member:

View File

@@ -437,8 +437,6 @@ Errors:
Invalid: User grant is invalid
NotChanged: User grant has not been changed
IDMissing: Id missing
NotActive: User grant is not active
NotInactive: User grant is not deactivated
NoPermissionForProject: User has no permissions on this project
RoleKeyNotFound: Role not found
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: La concesión de usuario no es válida
NotChanged: La concesión de usuario no ha cambiado
IDMissing: Falta Id
NotActive: La concesión de usuario no está activa
NotInactive: La concesión de usuario no está inactiva
NoPermissionForProject: El usuario no tiene permisos en este proyecto
RoleKeyNotFound: Rol no encontrado
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: La subvention d'utilisateur n'est pas valide
NotChanged: L'autorisation de l'utilisateur n'a pas été modifiée.
IDMissing: Id manquant
NotActive: La subvention de l'utilisateur n'est pas active
NotInactive: La subvention à l'utilisateur n'est pas désactivée
NoPermissionForProject: L'utilisateur n'a aucune autorisation pour ce projet
RoleKeyNotFound: Rôle non trouvé
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: A felhasználói jogosultság érvénytelen
NotChanged: A felhasználói jogosultság nem lett módosítva
IDMissing: Hiányzó azonosító
NotActive: A felhasználói jogosultság nem aktív
NotInactive: A felhasználói jogosultság nincs kikapcsolva
NoPermissionForProject: A felhasználónak nincs jogosultsága ebben a projektben
RoleKeyNotFound: Szerepkör nem található
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: Hibah pengguna tidak valid
NotChanged: Hibah pengguna belum diubah
IDMissing: Aku hilang
NotActive: Hibah pengguna tidak aktif
NotInactive: Hibah pengguna tidak dinonaktifkan
NoPermissionForProject: Pengguna tidak memiliki izin pada proyek ini
RoleKeyNotFound: Peran tidak ditemukan
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: User Grant non è valido
NotChanged: User Grant non è stata cambiato
IDMissing: ID mancante
NotActive: User Grant non è attivo
NotInactive: User Grant non è disattivato
NoPermissionForProject: L'utente non ha permessi su questo progetto
RoleKeyNotFound: Ruolo non trovato
Member:

View File

@@ -437,8 +437,6 @@ Errors:
Invalid: 無効なユーザーグラントです
NotChanged: ユーザーグラントは変更されていません
IDMissing: IDがありません
NotActive: ユーザーグラントはアクティブではありません
NotInactive: ユーザーグラントは非アクティブではありません
NoPermissionForProject: ユーザーにはこのプロジェクトに許可がありません
RoleKeyNotFound: ロールが見つかりません
Member:

View File

@@ -437,8 +437,6 @@ Errors:
Invalid: 사용자 권한이 유효하지 않습니다
NotChanged: 사용자 권한이 변경되지 않았습니다
IDMissing: ID가 누락되었습니다
NotActive: 사용자 권한이 활성 상태가 아닙니다
NotInactive: 사용자 권한이 비활성 상태가 아닙니다
NoPermissionForProject: 사용자가 이 프로젝트에 대한 권한이 없습니다
RoleKeyNotFound: 역할을 찾을 수 없습니다
Member:

View File

@@ -435,8 +435,6 @@ Errors:
Invalid: Овластувањето на корисникот е невалидно
NotChanged: Овластувањето на корисникот не е променето
IDMissing: ID недостасува
NotActive: Овластувањето на корисникот не е активно
NotInactive: Овластувањето на корисникот не е неактивно
NoPermissionForProject: Корисникот нема овластувања за овој проект
RoleKeyNotFound: Улогата не е пронајдена
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: Gebruikerstoekenning is ongeldig
NotChanged: Gebruikerstoekenning is niet veranderd
IDMissing: ID ontbreekt
NotActive: Gebruikerstoekenning is niet actief
NotInactive: Gebruikerstoekenning is niet gedeactiveerd
NoPermissionForProject: Gebruiker heeft geen rechten op dit project
RoleKeyNotFound: Rol niet gevonden
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: Uprawnienie użytkownika jest nieprawidłowe
NotChanged: Uprawnienie użytkownika nie zostało zmienione
IDMissing: Brak ID
NotActive: Uprawnienie użytkownika nie jest aktywne
NotInactive: Uprawnienie użytkownika nie jest dezaktywowane
NoPermissionForProject: Użytkownik nie ma uprawnień do tego projektu
RoleKeyNotFound: Rola nie znaleziona
Member:

View File

@@ -435,8 +435,6 @@ Errors:
Invalid: A concessão de usuário é inválida
NotChanged: A concessão de usuário não foi alterada
IDMissing: ID faltando
NotActive: A concessão de usuário não está ativa
NotInactive: A concessão de usuário não está desativada
NoPermissionForProject: O usuário não possui permissões neste projeto
RoleKeyNotFound: Função não encontrada
Member:

View File

@@ -437,8 +437,6 @@ Errors:
Invalid: Acordarea utilizatorului este invalidă
NotChanged: Acordarea utilizatorului nu a fost schimbată
IDMissing: Id lipsă
NotActive: Acordarea utilizatorului nu este activă
NotInactive: Acordarea utilizatorului nu este dezactivată
NoPermissionForProject: Utilizatorul nu are permisiuni pentru acest proiect
RoleKeyNotFound: Rolul nu a fost găsit
Member:

View File

@@ -430,8 +430,6 @@ Errors:
Invalid: Допуск пользователя недействителен
NotChanged: Допуск пользователя не был изменён
IDMissing: ID отсутствует
NotActive: Допуск пользователя неактивен
NotInactive: Допуск пользователя не деактивирован
NoPermissionForProject: Пользователь не имеет прав доступа к данному проекту
RoleKeyNotFound: Роль не найдена
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: Användarbeviljandet är ogiltigt
NotChanged: Användarbeviljandet har inte ändrats
IDMissing: Id saknas
NotActive: Användarbeviljandet är inte aktivt
NotInactive: Användarbeviljandet är inte inaktivt
NoPermissionForProject: Användaren har inga behörigheter i detta projekt
RoleKeyNotFound: Rollen hittades inte
Member:

View File

@@ -436,8 +436,6 @@ Errors:
Invalid: 用户授权无效
NotChanged: 用户授权未更改
IDMissing: 没有 ID
NotActive: 用户授权不是启用状态
NotInactive: 用户授权不是停用状态
NoPermissionForProject: 用户对此项目没有权限
RoleKeyNotFound: 角色不存在
Member: