fleet/server/fleet/device.go
Victor Lyuboslavsky 4a159dd0cc
Hide "Self-service" in Fleet Desktop and My device page (#20047)
#19651 
Hide "Self-service" in Fleet Desktop and My device page if there is no
self-service software available

# Checklist for submitter

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
  - For Orbit and Fleet Desktop changes:
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2024-07-02 11:32:49 -05:00

53 lines
1.8 KiB
Go

package fleet
import "time"
// DesktopSummary is a summary of the status of a host that's used by Fleet
// Desktop to operate (show/hide menu items, etc)
type DesktopSummary struct {
FailingPolicies *uint `json:"failing_policies_count,omitempty"`
SelfService *bool `json:"self_service"`
Notifications DesktopNotifications `json:"notifications,omitempty"`
Config DesktopConfig `json:"config"`
}
// DesktopNotifications are notifications that the fleet server sends to
// Fleet Desktop so that it can run commands or more generally react to this
// information.
type DesktopNotifications struct {
NeedsMDMMigration bool `json:"needs_mdm_migration,omitempty"`
RenewEnrollmentProfile bool `json:"renew_enrollment_profile,omitempty"`
}
// DesktopConfig is a subset of AppConfig with information relevant to Fleet
// Desktop to operate.
type DesktopConfig struct {
OrgInfo DesktopOrgInfo `json:"org_info,omitempty"`
MDM DesktopMDMConfig `json:"mdm"`
}
// DesktopMDMConfig is a subset of fleet.MDM with configuration that's relevant
// to Fleet Desktop to operate.
type DesktopMDMConfig struct {
MacOSMigration struct {
Mode MacOSMigrationMode `json:"mode"`
} `json:"macos_migration"`
}
// DesktopMDMConfig is a subset of fleet.OrgInfo with configuration that's relevant
// to Fleet Desktop to operate.
type DesktopOrgInfo struct {
OrgName string `json:"org_name"`
OrgLogoURL string `json:"org_logo_url"`
OrgLogoURLLightBackground string `json:"org_logo_url_light_background"`
ContactURL string `json:"contact_url"`
}
type MigrateMDMDeviceWebhookPayload struct {
Timestamp time.Time `json:"timestamp"`
Host struct {
ID uint `json:"id"`
UUID string `json:"uuid"`
HardwareSerial string `json:"hardware_serial"`
} `json:"host"`
}