package storagegroup import ( "github.com/nspcc-dev/neofs-api-go/v2/refs" refsGRPC "github.com/nspcc-dev/neofs-api-go/v2/refs/grpc" sg "github.com/nspcc-dev/neofs-api-go/v2/storagegroup/grpc" ) // StorageGroupToGRPCMessage converts unified proto structure into grpc structure. func StorageGroupToGRPCMessage(s *StorageGroup) *sg.StorageGroup { if s == nil { return nil } m := new(sg.StorageGroup) m.SetValidationDataSize(s.GetValidationDataSize()) m.SetValidationHash( refs.ChecksumToGRPCMessage(s.GetValidationHash()), ) m.SetExpirationEpoch(s.GetExpirationEpoch()) members := s.GetMembers() memberMsg := make([]*refsGRPC.ObjectID, 0, len(members)) for i := range members { memberMsg = append(memberMsg, refs.ObjectIDToGRPCMessage(members[i])) } m.SetMembers(memberMsg) return m } // StorageGroupFromGRPCMessage converts grpc structure into unified proto structure. func StorageGroupFromGRPCMessage(m *sg.StorageGroup) *StorageGroup { if m == nil { return nil } s := new(StorageGroup) s.SetValidationDataSize(m.GetValidationDataSize()) s.SetValidationHash( refs.ChecksumFromGRPCMessage(m.GetValidationHash()), ) s.SetExpirationEpoch(m.GetExpirationEpoch()) memberMsg := m.GetMembers() members := make([]*refs.ObjectID, 0, len(memberMsg)) for i := range memberMsg { members = append(members, refs.ObjectIDFromGRPCMessage(memberMsg[i])) } s.SetMembers(members) return s }