## Summary <!-- Kurz: Was ändert sich und warum? --> ## Spec-Driven Development (SDD) - [ ] Es gibt eine Spec unter `specs/<NNN>-<feature>/` - [ ] Enthaltene Dateien: `plan.md`, `tasks.md`, `spec.md` - [ ] Spec beschreibt Verhalten/Acceptance Criteria (nicht nur Implementation) - [ ] Wenn sich Anforderungen während der Umsetzung geändert haben: Spec/Plan/Tasks wurden aktualisiert ## Implementation - [ ] Implementierung entspricht der Spec - [ ] Edge cases / Fehlerfälle berücksichtigt - [ ] Keine unbeabsichtigten Änderungen außerhalb des Scopes ## Tests - [ ] Tests ergänzt/aktualisiert (Pest/PHPUnit) - [ ] Relevante Tests lokal ausgeführt (`./vendor/bin/sail artisan test` oder `php artisan test`) ## Migration / Config / Ops (falls relevant) - [ ] Migration(en) enthalten und getestet - [ ] Rollback bedacht (rückwärts kompatibel, sichere Migration) - [ ] Neue Env Vars dokumentiert (`.env.example` / Doku) - [ ] Queue/cron/storage Auswirkungen geprüft ## UI (Filament/Livewire) (falls relevant) - [ ] UI-Flows geprüft - [ ] Screenshots/Notizen hinzugefügt ## Notes <!-- Links, Screenshots, Follow-ups, offene Punkte --> Co-authored-by: Ahmed Darrazi <ahmeddarrazi@adsmac.local> Reviewed-on: #3
189 lines
7.9 KiB
PHP
189 lines
7.9 KiB
PHP
<?php
|
|
|
|
return [
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Graph Contract Registry
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Central place to describe Graph endpoints, allowed selects/expands, and
|
|
| type families for supported policy types. Used for capability fallbacks
|
|
| and drift checks.
|
|
|
|
|
*/
|
|
'types' => [
|
|
'deviceConfiguration' => [
|
|
'resource' => 'deviceManagement/deviceConfigurations',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'version', 'lastModifiedDateTime'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.deviceConfiguration',
|
|
'#microsoft.graph.windows10CustomConfiguration',
|
|
'#microsoft.graph.iosGeneralDeviceConfiguration',
|
|
'#microsoft.graph.androidGeneralDeviceConfiguration',
|
|
'#microsoft.graph.macOSGeneralDeviceConfiguration',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'settingsCatalogPolicy' => [
|
|
'resource' => 'deviceManagement/configurationPolicies',
|
|
'allowed_select' => ['id', 'name', 'displayName', 'description', '@odata.type', 'version', 'platforms', 'technologies', 'roleScopeTagIds', 'lastModifiedDateTime'],
|
|
'allowed_expand' => ['settings'],
|
|
'type_family' => [
|
|
'#microsoft.graph.deviceManagementConfigurationPolicy',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
'update_whitelist' => [
|
|
'name',
|
|
'description',
|
|
],
|
|
'update_map' => [
|
|
'displayName' => 'name',
|
|
],
|
|
'update_strip_keys' => [
|
|
'platforms',
|
|
'technologies',
|
|
'templateReference',
|
|
'assignments',
|
|
],
|
|
'member_hydration_strategy' => 'subresource_settings',
|
|
'subresources' => [
|
|
'settings' => [
|
|
'path' => 'deviceManagement/configurationPolicies/{id}/settings',
|
|
'collection' => true,
|
|
'paging' => true,
|
|
'allowed_select' => [],
|
|
'allowed_expand' => [],
|
|
],
|
|
],
|
|
'settings_write' => [
|
|
'path_template' => 'deviceManagement/configurationPolicies/{id}/settings',
|
|
'method' => 'POST',
|
|
'bulk' => true,
|
|
'body_shape' => 'collection',
|
|
'fallback_body_shape' => 'wrapped',
|
|
],
|
|
'update_strategy' => 'settings_catalog_policy_with_settings',
|
|
],
|
|
'deviceCompliancePolicy' => [
|
|
'resource' => 'deviceManagement/deviceCompliancePolicies',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'version', 'lastModifiedDateTime'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.deviceCompliancePolicy',
|
|
'#microsoft.graph.windows10CompliancePolicy',
|
|
'#microsoft.graph.iosCompliancePolicy',
|
|
'#microsoft.graph.androidCompliancePolicy',
|
|
'#microsoft.graph.macOSCompliancePolicy',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'appProtectionPolicy' => [
|
|
'resource' => 'deviceAppManagement/managedAppPolicies',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'version'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.targetedManagedAppProtection',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'conditionalAccessPolicy' => [
|
|
'resource' => 'identity/conditionalAccess/policies',
|
|
'allowed_select' => ['id', 'displayName', 'state', 'createdDateTime', 'modifiedDateTime', '@odata.type'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.conditionalAccessPolicy',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'deviceManagementScript' => [
|
|
'resource' => 'deviceManagement/deviceManagementScripts',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'lastModifiedDateTime'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.deviceManagementScript',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'enrollmentRestriction' => [
|
|
'resource' => 'deviceManagement/deviceEnrollmentConfigurations',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'version'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.deviceEnrollmentConfiguration',
|
|
'#microsoft.graph.windows10EnrollmentCompletionPageConfiguration',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'windowsAutopilotDeploymentProfile' => [
|
|
'resource' => 'deviceManagement/windowsAutopilotDeploymentProfiles',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'lastModifiedDateTime'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.windowsAutopilotDeploymentProfile',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'windowsEnrollmentStatusPage' => [
|
|
'resource' => 'deviceManagement/deviceEnrollmentConfigurations',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'version'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.windows10EnrollmentCompletionPageConfiguration',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'endpointSecurityIntent' => [
|
|
'resource' => 'deviceManagement/intents',
|
|
'allowed_select' => ['id', 'displayName', 'description', '@odata.type', 'lastModifiedDateTime'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.deviceManagementIntent',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
'mobileApp' => [
|
|
'resource' => 'deviceAppManagement/mobileApps',
|
|
'allowed_select' => ['id', 'displayName', 'publisher', 'description', '@odata.type', 'createdDateTime', 'lastModifiedDateTime'],
|
|
'allowed_expand' => [],
|
|
'type_family' => [
|
|
'#microsoft.graph.mobileApp',
|
|
],
|
|
'create_method' => 'POST',
|
|
'update_method' => 'PATCH',
|
|
'id_field' => 'id',
|
|
'hydration' => 'properties',
|
|
],
|
|
],
|
|
];
|