TenantAtlas/app/Services/Intune
ahmido 61b0b1bc23 feat(010): Administrative Templates – restore from PolicyVersion + version visibility (#13)
Problem: Restore nutzt bisher den Snapshot aus dem BackupSet (BackupItem). Wenn der Snapshot “unvollständig”/nicht der gewünschte Stand ist, landen nach Restore nur wenige Admin-Template-Settings in Intune.
Lösung:
Neue Action “Restore to Intune” direkt an einer konkreten PolicyVersion (inkl. Dry-Run Toggle) → reproduzierbarer Rollback auf exakt diese Version.
Restore-UI zeigt jetzt PolicyVersion-Nummer (version: X) in der Item-Auswahl + BackupSet Items Tabelle hat eine Version-Spalte.
Implementierung:
RestoreService::executeFromPolicyVersion() erzeugt dafür einen kleinen, temporären BackupSet+BackupItem aus der Version und startet einen normalen RestoreRun.
Pest-Test: PolicyVersionRestoreToIntuneTest.php
Specs/TODO:
Offene Follow-ups sind dokumentiert in tasks.md unter “Open TODOs (Follow-up)”.
QA (GUI):
Inventory → Policies → <Policy> → Versions → Restore to Intune (erst Dry-Run, dann Execute)
Backups & Restore → Restore Runs → Create (bei Items steht version: X)
Backups & Restore → Backup Sets → <Set> (Version-Spalte)
Tests: PolicyVersionRestoreToIntuneTest.php

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #13
2025-12-30 01:50:05 +00:00
..
AppProtectionPolicyNormalizer.php feat/009-app-protection-policy (#11) 2025-12-29 16:11:50 +00:00
AuditLogger.php feat: TenantPilot v1 - Complete implementation (Phases 1-12) 2025-12-12 02:27:54 +01:00
BackupService.php fix: improve assignment capture/restore and filter name handling (#8) 2025-12-28 13:59:12 +00:00
CompliancePolicyNormalizer.php feat(007): device config & compliance snapshot/restore improvements (#9) 2025-12-29 12:46:20 +00:00
DefaultPolicyNormalizer.php feat(007): device config & compliance snapshot/restore improvements (#9) 2025-12-29 12:46:20 +00:00
DeviceConfigurationPolicyNormalizer.php feat(007): device config & compliance snapshot/restore improvements (#9) 2025-12-29 12:46:20 +00:00
FoundationMappingService.php feat(006): foundations + assignment mapping and preview-only restore guard (#7) 2025-12-26 23:44:31 +00:00
FoundationSnapshotService.php feat(006): foundations + assignment mapping and preview-only restore guard (#7) 2025-12-26 23:44:31 +00:00
GroupPolicyConfigurationNormalizer.php feat(010): Administrative Templates – restore from PolicyVersion + version visibility (#13) 2025-12-30 01:50:05 +00:00
PolicyCaptureOrchestrator.php feat/009-app-protection-policy (#11) 2025-12-29 16:11:50 +00:00
PolicyNormalizer.php fix: improve assignment capture/restore and filter name handling (#8) 2025-12-28 13:59:12 +00:00
PolicySnapshotService.php feat(010): Administrative Templates – restore from PolicyVersion + version visibility (#13) 2025-12-30 01:50:05 +00:00
PolicySyncService.php feat/009-app-protection-policy (#11) 2025-12-29 16:11:50 +00:00
PolicyTypeNormalizer.php fix: improve assignment capture/restore and filter name handling (#8) 2025-12-28 13:59:12 +00:00
RbacHealthService.php Intune RBAC: graceful unsupported-account handling, health-check fixes, tests and docs updates 2025-12-13 01:25:06 +01:00
RbacOnboardingService.php Intune RBAC: graceful unsupported-account handling, health-check fixes, tests and docs updates 2025-12-13 01:25:06 +01:00
RestoreService.php feat(010): Administrative Templates – restore from PolicyVersion + version visibility (#13) 2025-12-30 01:50:05 +00:00
SettingsCatalogCategoryResolver.php dev-merges/c709b36 (#3) 2025-12-21 23:15:12 +00:00
SettingsCatalogDefinitionResolver.php dev-merges/c709b36 (#3) 2025-12-21 23:15:12 +00:00
SettingsCatalogPolicyNormalizer.php feat(010): Administrative Templates – restore from PolicyVersion + version visibility (#13) 2025-12-30 01:50:05 +00:00
SnapshotValidator.php Intune RBAC: graceful unsupported-account handling, health-check fixes, tests and docs updates 2025-12-13 01:25:06 +01:00
TenantConfigService.php feat: TenantPilot v1 - Complete implementation (Phases 1-12) 2025-12-12 02:27:54 +01:00
TenantPermissionService.php feat(006): foundations + assignment mapping and preview-only restore guard (#7) 2025-12-26 23:44:31 +00:00
VersionDiff.php feat: TenantPilot v1 - Complete implementation (Phases 1-12) 2025-12-12 02:27:54 +01:00
VersionService.php feat/009-app-protection-policy (#11) 2025-12-29 16:11:50 +00:00