mirror of
https://github.com/micromdm/micromdm/
synced 2026-08-11 20:45:32 +08:00
Serialize PurchaseMethod when value is 0. (#592)
The zero value is a legacy option that is still useful for iOS, but the `omitempty` was ignoring zero values.
This commit is contained in:
committed by
Victor Vrantchan
parent
577e4c9538
commit
727b76eb99
@@ -143,13 +143,13 @@ type InstallApplication struct {
|
||||
ManagementFlags *int `plist:",omitempty" json:"management_flags,omitempty"`
|
||||
ChangeManagementState *string `plist:",omitempty" json:"change_management_state,omitempty"`
|
||||
ManifestURL *string `plist:",omitempty" json:"manifest_url,omitempty"`
|
||||
Options *InstallApplicationOptions `plist:",omitempty" json:"options,omitempty"`
|
||||
Options *InstallApplicationOptions `plist:"Options,omitempty" json:"options,omitempty"`
|
||||
Configuration *InstallApplicationConfiguration `plist:",omitempty" json:"configuration,omitempty"`
|
||||
Attributes *InstallApplicationAttributes `plist:",omitempty" json:"attributes,omitempty"`
|
||||
}
|
||||
|
||||
type InstallApplicationOptions struct {
|
||||
PurchaseMethod int64 `plist:",omitempty" json:"purchase_method,omitempty"`
|
||||
PurchaseMethod *int64 `plist:"PurchaseMethod,omitempty" json:"purchase_method,omitempty"`
|
||||
}
|
||||
|
||||
type InstallApplicationConfiguration struct{}
|
||||
|
||||
@@ -165,7 +165,7 @@ func commandToProto(cmd *Command) (*mdmproto.Command, error) {
|
||||
)
|
||||
if cmd.InstallApplication.Options != nil {
|
||||
options = &mdmproto.InstallApplicationOptions{
|
||||
PurchaseMethod: cmd.InstallApplication.Options.PurchaseMethod,
|
||||
PurchaseMethod: zeroInt64IfNil(cmd.InstallApplication.Options.PurchaseMethod),
|
||||
}
|
||||
}
|
||||
if cmd.InstallApplication.Configuration != nil {
|
||||
|
||||
@@ -131,8 +131,9 @@ func protoToCommand(pb *mdmproto.Command) *Command {
|
||||
pboptions := pbc.GetOptions()
|
||||
if pboptions != nil {
|
||||
options = &InstallApplicationOptions{
|
||||
PurchaseMethod: pboptions.GetPurchaseMethod(),
|
||||
PurchaseMethod: new(int64),
|
||||
}
|
||||
*options.PurchaseMethod = pboptions.GetPurchaseMethod();
|
||||
}
|
||||
|
||||
pbconfig := pbc.GetConfiguration()
|
||||
|
||||
Reference in New Issue
Block a user