mirror of
https://github.com/micromdm/micromdm/
synced 2026-08-14 09:25:52 +08:00
38 lines
782 B
Go
38 lines
782 B
Go
package push
|
|
|
|
import (
|
|
"github.com/pkg/errors"
|
|
|
|
"github.com/gogo/protobuf/proto"
|
|
"github.com/micromdm/micromdm/push/internal/pushproto"
|
|
)
|
|
|
|
type PushInfo struct {
|
|
UDID string
|
|
PushMagic string
|
|
Token string
|
|
MDMTopic string
|
|
}
|
|
|
|
func MarshalPushInfo(p *PushInfo) ([]byte, error) {
|
|
protopush := pushproto.PushInfo{
|
|
Udid: p.UDID,
|
|
PushMagic: p.PushMagic,
|
|
Token: p.Token,
|
|
MdmTopic: p.MDMTopic,
|
|
}
|
|
return proto.Marshal(&protopush)
|
|
}
|
|
|
|
func UnmarshalPushInfo(data []byte, p *PushInfo) error {
|
|
var pb pushproto.PushInfo
|
|
if err := proto.Unmarshal(data, &pb); err != nil {
|
|
return errors.Wrap(err, "unmarshal proto to PushInfo")
|
|
}
|
|
p.UDID = pb.GetUdid()
|
|
p.Token = pb.GetToken()
|
|
p.PushMagic = pb.GetPushMagic()
|
|
p.MDMTopic = pb.GetMdmTopic()
|
|
return nil
|
|
}
|