TenantAtlas/specs/024-terms-and-conditions/plan.md
ahmido 602195324b spec/024-additional-intune-types (#28)
specs for additional intune types

Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local>
Reviewed-on: #28
2026-01-04 02:27:44 +00:00

1.2 KiB

Plan: Terms & Conditions (Enrollment Experience) (024)

Branch: feat/024-terms-and-conditions
Date: 2026-01-04
Input: spec.md

Approach

  1. Confirm Graph contract details for Terms & Conditions:
    • resource path: deviceManagement/termsAndConditions
    • @odata.type values and patchable fields
    • assignments endpoints: /deviceManagement/termsAndConditions/{id}/assignments (CRUD)
  2. Add termsAndConditions to config/tenantpilot.php (category “Enrollment Experience”, risk, restore mode).
  3. Add contract entry to config/graph_contracts.php:
    • resource, type family, create/update methods
    • assignments list/create/update/delete paths (no /assign action here)
  4. Ensure policy sync, snapshot capture, and restore use the config/contract-driven paths (minimal special casing).
  5. Add a normalizer for readable UI output and ensure diff output is stable.
  6. Add targeted Pest coverage (sync + snapshot + preview + execution).

Decisions / Notes

  • Restore mode: default enabled (risk: medium-high) with strict preview/confirmation and audit logging.
  • Assignments: use assignment CRUD paths (POST to /assignments) rather than /assign.