code: func (s *Server) ListConfigs(ctx context.Context, request *api.ListConfigsRequest) (*api.ListConfigsResponse, error) {
  	var (
  		configs     []*api.Config
  		respConfigs []*api.Config
  		err         error
  		byFilters   []store.By
  		by          store.By
  		labels      map[string]string
  	)
  
  	// return all configs that match either any of the names or any of the name prefixes (why would you give both?)
  	if request.Filters != nil {
  		for _, name := range request.Filters.Names {
  			byFilters = append(byFilters, store.ByName(name))
  		}
  		for _, prefix := range request.Filters.NamePrefixes {
  			byFilters = append(byFilters, store.ByNamePrefix(prefix))
  		}
  		for _, prefix := range request.Filters.IDPrefixes {
  			byFilters = append(byFilters, store.ByIDPrefix(prefix))
  		}
  		labels = request.Filters.Labels
  	}
  
  	switch len(byFilters) {
  	case 0:
  		by = store.All
  	case 1:
  		by = byFilters[0]
  	default:
  		by = store.Or(byFilters...)
  	}
  
  	s.store.View(func(tx store.ReadTx) {
  		configs, err = store.FindConfigs(tx, by)
  	})
  	if err != nil {
  		return nil, err
  	}
  
  	// filter by label
  	for _, config := range configs {
  		if !filterMatchLabels(config.Spec.Annotations.Labels, labels) {
  			continue
  		}
  		respConfigs = append(respConfigs, config)
  	}
  
  	return &api.ListConfigsResponse{Configs: respConfigs}, nil
  }
docs: // ListConfigs returns a `ListConfigResponse` with a list all non-internal `Config`s being
  // managed, or all configs matching any name in `ListConfigsRequest.Names`, any
  // name prefix in `ListConfigsRequest.NamePrefixes`, any id in
  // `ListConfigsRequest.ConfigIDs`, or any id prefix in `ListConfigsRequest.IDPrefixes`.
  // - Returns an error if listing fails.