expose enrollment config subtypes as their own policy types (limit/platform restrictions/notifications) with preview-only restore risk and proper Graph contracts classify enrollment configs by their @odata.type + deviceEnrollmentConfigurationType so sync only keeps ESP in windowsEnrollmentStatusPage and the rest stay in their own types, including new restore-normalizer UI blocks + warnings hydrate enrollment notifications: snapshot fetch now downloads each notification template + localized messages, normalized view surfaces template names/subjects/messages, and restore previews keep preview-only behavior tenant UI tweaks: Tenant list and detail actions moved into an action group; “Open in Entra” re-added in index, and detail now has “Deactivate” + tests covering the new menu layout and actions tests added/updated for sync, snapshots, restores, normalized settings, tenant UI, plus Pint/test suite run Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #31
1.1 KiB
1.1 KiB
Tasks: Enrollment Configuration Subtypes (027)
Branch: feat/027-enrollment-config-subtypes
Date: 2026-01-04
Input: spec.md, plan.md
Phase 1: Setup
- T001 Create spec/plan/tasks and checklist.
Phase 2: Research & Design
- T002 Confirm
@odata.typefor each subtype and whether Graph supports assignments. - T003 Decide restore modes and risk levels.
Phase 3: Tests (TDD)
- T004 Add sync tests ensuring each subtype is classified correctly.
- T005 Add snapshot capture test for at least one subtype.
- T006 Add restore preview test ensuring preview-only behavior.
Phase 4: Implementation
- T007 Add new types to
config/tenantpilot.php. - T008 Add contracts in
config/graph_contracts.php(resource + type families). - T009 Update
PolicySyncServiceenrollment classification logic. - T010 Add normalizer for readable UI output (key fields per subtype).
- T013 Hydrate notification templates for enrollment notifications.
Phase 5: Verification
- T011 Run targeted tests.
- T012 Run Pint (
./vendor/bin/pint --dirty).