MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / ListFrequencyPlans

Method ListFrequencyPlans

pkg/frequencyplans/rpc.go:32–57  ·  view source on GitHub ↗

ListFrequencyPlans lists frequency plans for the requested base frequency.

(ctx context.Context, req *ttnpb.ListFrequencyPlansRequest)

Source from the content-addressed store, hash-verified

30
31// ListFrequencyPlans lists frequency plans for the requested base frequency.
32func (s *RPCServer) ListFrequencyPlans(ctx context.Context, req *ttnpb.ListFrequencyPlansRequest) (*ttnpb.ListFrequencyPlansResponse, error) {
33 descriptions, err := s.store.descriptions()
34 if err != nil {
35 return nil, err
36 }
37 res := &ttnpb.ListFrequencyPlansResponse{}
38 for _, desc := range descriptions {
39 if req.BaseFrequency != 0 && uint16(req.BaseFrequency) != desc.BaseFrequency {
40 continue
41 }
42 if req.BandId != "" && req.BandId != desc.BandID {
43 continue
44 }
45 if req.GatewaysOnly && (desc.Gateways == nil || !*desc.Gateways) {
46 continue
47 }
48 res.FrequencyPlans = append(res.FrequencyPlans, &ttnpb.FrequencyPlanDescription{
49 Id: desc.ID,
50 BandId: desc.BandID,
51 BaseId: desc.BaseID,
52 Name: desc.Name,
53 BaseFrequency: uint32(desc.BaseFrequency),
54 })
55 }
56 return res, nil
57}

Callers 1

TestRPCServerFunction · 0.95

Calls 1

descriptionsMethod · 0.80

Tested by 1

TestRPCServerFunction · 0.76