appstore_macos

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BundleIDWord          = "com.microsoft.Word"
	BundleIDExcel         = "com.microsoft.Excel"
	BundleIDPowerPoint    = "com.microsoft.Powerpoint"
	BundleIDOutlook       = "com.microsoft.Outlook"
	BundleIDOneNote       = "com.microsoft.onenote.mac"
	BundleIDOneDrive      = "com.microsoft.OneDrive"
	BundleIDTeams         = "com.microsoft.teams2"
	BundleIDDefender      = "com.microsoft.wdav"
	BundleIDEdge          = "com.microsoft.edgemac"
	BundleIDCopilot       = "com.microsoft.m365copilot"
	BundleIDCompanyPortal = "com.microsoft.CompanyPortalMac"
	BundleIDRemoteDesktop = "com.microsoft.rdc.macos"
	BundleIDAutoUpdate    = "com.microsoft.autoupdate2"
	BundleIDIntuneAgent   = "com.microsoft.intuneMDMAgent"
)

macOS App Store bundle ID constants for Microsoft applications.

Variables

View Source
var AppSearchTerms = []string{
	"Microsoft Word",
	"Microsoft Excel",
	"Microsoft PowerPoint",
	"Microsoft Outlook",
	"Microsoft OneNote",
	"Microsoft OneDrive",
	"Microsoft Teams",
	"Microsoft Defender",
	"Microsoft Edge",
	"Microsoft Copilot",
	"Azure VPN Client",
	"Microsoft Intune Company Portal",
	"Microsoft Remote Desktop",
}

macOS App Store search terms for Microsoft applications. These are the search strings passed to the iTunes Search API.

Functions

This section is empty.

Types

type AppEntry

type AppEntry struct {
	// TrackID is the numeric App Store identifier.
	TrackID int `json:"trackId"`

	// TrackName is the application's display name in the App Store.
	TrackName string `json:"trackName"`

	// BundleID is the macOS bundle identifier (e.g. "com.microsoft.Word").
	BundleID string `json:"bundleId"`

	// Version is the current App Store version string (e.g. "16.108.0").
	Version string `json:"version"`

	// CurrentVersionReleaseDate is the ISO 8601 release date of the current version.
	CurrentVersionReleaseDate string `json:"currentVersionReleaseDate"`

	// MinimumOsVersion is the minimum macOS version required.
	MinimumOsVersion string `json:"minimumOsVersion"`

	// ReleaseNotes contains the release notes for the current version.
	ReleaseNotes string `json:"releaseNotes"`

	// ArtworkUrl512 is the URL of the 512×512 app icon.
	ArtworkUrl512 string `json:"artworkUrl512"`

	// TrackViewURL is the App Store URL for this application.
	TrackViewURL string `json:"trackViewUrl"`

	// Price is the App Store price (0.0 for free apps).
	Price float64 `json:"price"`

	// SellerName is the developer name as shown in the App Store.
	SellerName string `json:"sellerName"`
}

AppEntry represents a single macOS application in the App Store.

type AppStoreMacOSService

type AppStoreMacOSService struct {
	// contains filtered or unexported fields
}

AppStoreMacOSService fetches Microsoft application metadata from the macOS App Store via the Apple iTunes Search API.

Each application is queried individually using its search term. Results include version, release date, minimum OS, release notes, and App Store URL.

func NewService

func NewService(c client.Client) *AppStoreMacOSService

NewService creates a new AppStoreMacOSService.

func (*AppStoreMacOSService) GetAllAppsV1

func (s *AppStoreMacOSService) GetAllAppsV1(ctx context.Context) (*AppStoreResponse, error)

GetAllAppsV1 queries the iTunes Search API for all known Microsoft macOS App Store applications and returns the combined results.

GET https://itunes.apple.com/search?term={app}&country=us&entity=macSoftware

func (*AppStoreMacOSService) GetAppByBundleIDV1

func (s *AppStoreMacOSService) GetAppByBundleIDV1(ctx context.Context, bundleID string) (*AppEntry, error)

GetAppByBundleIDV1 fetches macOS App Store metadata for the application with the given bundle identifier (e.g. "com.microsoft.Word").

GET https://itunes.apple.com/search?term={bundleId}&country=us&entity=macSoftware

func (*AppStoreMacOSService) GetAppByNameV1

func (s *AppStoreMacOSService) GetAppByNameV1(ctx context.Context, name string) (*AppEntry, error)

GetAppByNameV1 queries the iTunes Search API for a single Microsoft macOS app by its display name (e.g. "Microsoft Word").

GET https://itunes.apple.com/search?term={name}&country=us&entity=macSoftware

type AppStoreResponse

type AppStoreResponse struct {
	// ResultCount is the number of results returned by the iTunes API.
	ResultCount int `json:"resultCount"`

	// Results contains the individual app entries.
	Results []AppEntry `json:"results"`
}

AppStoreResponse holds the search results from the iTunes Search API for macOS Microsoft applications.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL