feat: extend DeleteProvider to include Zitadel IdP (#12396)

# Which Problems Are Solved

This PR extends `DeleteProvider` to include Zitadel provider enabling
the deletion of Zitadel IdP.

# How the Problems Are Solved

- Extend org/instance IDP remove write models to include
`ZitadelIDPAddedEvent` in event appends and queries.
- Extend command-side IDP reduction/type handling for Zitadel IDP add
events.
- Add management/admin integration tests for deleting Zitadel providers
- Add error translation key in all language locales for org-level “IDP
config not existing”.

# Additional Changes

N/A

# Additional Context.
Closes https://github.com/zitadel/zitadel/issues/12397

---------

Co-authored-by: Copilot Autofix powered by AI <[email protected]>
Co-authored-by: Livio Spring <[email protected]>
This commit is contained in:
Gayathri Vijayan
2026-07-13 09:22:31 +02:00
committed by GitHub
co-authored by Copilot Autofix powered by AI Livio Spring
parent a97999e5ca
commit 5bdfd96be5
27 changed files with 326 additions and 12 deletions
+2
View File
@@ -283,6 +283,8 @@ Errors:
LabelPolicy:
NotFound: "سياسة العلامة الخاصة غير موجودة"
NotChanged: "سياسة العلامة الخاصة لم تتغير"
IDPConfig:
NotExisting: "تكوين مزود الهوية غير موجود"
Project:
ProjectIDMissing: "معرف المشروع مفقود"
AlreadyExists: "المشروع موجود بالفعل في المنظمة"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Правилата за лични етикети не са намерени"
NotChanged: "Политиката на частния етикет не е променена"
IDPConfig:
NotExisting: "Конфигурацията на доставчик на самоличност не съществува"
Project:
ProjectIDMissing: "Липсва ID на проекта"
AlreadyExists: "Проектът вече съществува в организацията"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Politika privátních štítků nenalezena"
NotChanged: "Politika privátních štítků nebyla změněna"
IDPConfig:
NotExisting: "Konfigurace poskytovatele identity neexistuje"
Project:
ProjectIDMissing: "Chybí ID projektu"
AlreadyExists: "Projekt již v organizaci existuje"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Private Label Policy konnte nicht gefunden"
NotChanged: "Private Label Policy wurde nicht verändert"
IDPConfig:
NotExisting: "Identitätsprovider Konfiguration existiert nicht"
Project:
ProjectIDMissing: "Project ID fehlt"
AlreadyExists: "Project existiert bereits auf der Organisation"
+2
View File
@@ -285,6 +285,8 @@ Errors:
LabelPolicy:
NotFound: "Private Label Policy not found"
NotChanged: "Private Label Policy has not been changed"
IDPConfig:
NotExisting: "Identity Provider Configuration doesn't exist"
Project:
ProjectIDMissing: "Project Id missing"
AlreadyExists: "Project already exists on organization"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Política de etiqueta privada no encontrada"
NotChanged: "La política de etiqueta privada no ha cambiado"
IDPConfig:
NotExisting: "La configuración de proveedor de identidad (IDP) no existe"
Project:
ProjectIDMissing: "Falta el Id del proyecto"
AlreadyExists: "El proyecto ya existe en la organización"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "La politique d'étiquetage privé n'a pas été trouvée"
NotChanged: "La politique en matière de marques privées n'a pas été modifiée"
IDPConfig:
NotExisting: "La configuration du fournisseur d'identité n'existe pas"
Project:
ProjectIDMissing: "Id de projet manquant"
AlreadyExists: "Le projet existe déjà dans l'organisation"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "A Private Label Policy nem található"
NotChanged: "A Private Label Policy nem lett megváltoztatva"
IDPConfig:
NotExisting: "Az identitásszolgáltató konfiguráció nem létezik"
Project:
ProjectIDMissing: "Hiányzó Project Id"
AlreadyExists: "A projekt már létezik a szervezetben"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Kebijakan Label Pribadi tidak ditemukan"
NotChanged: "Kebijakan Label Pribadi belum diubah"
IDPConfig:
NotExisting: "Konfigurasi Penyedia Identitas tidak ada"
Project:
ProjectIDMissing: "Id Proyek tidak ada"
AlreadyExists: "Proyek sudah ada di organisasi"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Etichettatura privata non trovata"
NotChanged: "Private Labelling non è stata cambiata"
IDPConfig:
NotExisting: "La configurazione del IDP non esiste"
Project:
ProjectIDMissing: "ID del progetto mancante"
AlreadyExists: "Il progetto è già stato creato nell'organizzazione"
+2
View File
@@ -283,6 +283,8 @@ Errors:
LabelPolicy:
NotFound: "プライベートラベルポリシーが見つかりません"
NotChanged: "プライベートラベルポリシーが変更されていません"
IDPConfig:
NotExisting: "IDプロバイダーの構成は存在しません"
Project:
ProjectIDMissing: "プロジェクトIDがありません"
AlreadyExists: "プロジェクトはすでに組織に存在しています"
+2
View File
@@ -283,6 +283,8 @@ Errors:
LabelPolicy:
NotFound: "개인 라벨 정책을 찾을 수 없습니다"
NotChanged: "개인 라벨 정책이 변경되지 않았습니다"
IDPConfig:
NotExisting: "IDP 설정이 존재하지 않습니다"
Project:
ProjectIDMissing: "프로젝트 ID가 누락되었습니다"
AlreadyExists: "조직에 프로젝트가 이미 존재합니다"
+2
View File
@@ -281,6 +281,8 @@ Errors:
LabelPolicy:
NotFound: "Приватната политика за ознаките не е пронајдена"
NotChanged: "Приватната политика за ознаките не е променета"
IDPConfig:
NotExisting: "Конфигурацијата на IDP не постои"
Project:
ProjectIDMissing: "Недостасува ID на проектот"
AlreadyExists: "Проектот веќе постои во организацијата"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Privé Label Beleid niet gevonden"
NotChanged: "Privé Label Beleid is niet veranderd"
IDPConfig:
NotExisting: "Identiteitsprovider-configuratie bestaat niet"
Project:
ProjectIDMissing: "Project ID ontbreekt"
AlreadyExists: "Project bestaat al op organisatie"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Nie znaleziono polityki marki własnej"
NotChanged: "Polityka dotycząca marek własnych nie została zmieniona"
IDPConfig:
NotExisting: "Konfiguracja dostawcy tożsamości nie istnieje"
Project:
ProjectIDMissing: "Identyfikator projektu brak"
AlreadyExists: "Projekt już istnieje w organizacji"
+2
View File
@@ -281,6 +281,8 @@ Errors:
LabelPolicy:
NotFound: "Política de Rótulo Privado não encontrada"
NotChanged: "Política de Rótulo Privado não foi alterada"
IDPConfig:
NotExisting: "A Configuração do Provedor de Identidade não existe"
Project:
ProjectIDMissing: "ID do Projeto ausente"
AlreadyExists: "Projeto já existe na organização"
+2
View File
@@ -283,6 +283,8 @@ Errors:
LabelPolicy:
NotFound: "Politica de etichete private nu a fost găsită"
NotChanged: "Politica de etichete private nu a fost schimbată"
IDPConfig:
NotExisting: "Configurația furnizorului de identitate nu există"
Project:
ProjectIDMissing: "ID-ul proiectului lipsește"
AlreadyExists: "Proiectul există deja în organizație"
+2
View File
@@ -276,6 +276,8 @@ Errors:
LabelPolicy:
NotFound: "Политика частных торговых марок не найдена"
NotChanged: "Политика использования частных торговых марок не изменилась."
IDPConfig:
NotExisting: "Конфигурация поставщика идентификационных данных не существует"
Project:
ProjectIDMissing: "ID Проекта отсутствует"
AlreadyExists: "Проект уже существует в организации"
+2
View File
@@ -282,6 +282,8 @@ Errors:
LabelPolicy:
NotFound: "Privat etikettpolicy hittades inte"
NotChanged: "Privat etikettpolicy har inte ändrats"
IDPConfig:
NotExisting: "Identitetsleverantörskonfigurationen existerar inte"
Project:
ProjectIDMissing: "Projekt-ID saknas"
AlreadyExists: "Projekt finns redan på organisationen"
+2
View File
@@ -283,6 +283,8 @@ Errors:
LabelPolicy:
NotFound: "Özel Etiket Politikası bulunamadı"
NotChanged: "Özel Etiket Politikası değişmedi"
IDPConfig:
NotExisting: "Kimlik Sağlayıcısı Yapılandırması mevcut değil"
Project:
ProjectIDMissing: "Proje Id eksik"
AlreadyExists: "Proje organizasyonda zaten mevcut"
+2
View File
@@ -277,6 +277,8 @@ Errors:
LabelPolicy:
NotFound: "Політика приватного бренду не знайдена"
NotChanged: "Політика приватного бренду не була змінена"
IDPConfig:
NotExisting: "Конфігурація провайдера ідентичності не існує"
Project:
ProjectIDMissing: "Відсутній ідентифікатор проекту"
AlreadyExists: "Проект вже існує в організації"
+2
View File
@@ -283,6 +283,8 @@ Errors:
LabelPolicy:
NotFound: "不存在私人政策"
NotChanged: "私人政策不改变"
IDPConfig:
NotExisting: "身份提供者配置不存在"
Project:
ProjectIDMissing: "P缺少项目 ID"
AlreadyExists: "项目以存在于组织中"