code: func (s *Service) FindDashboards(ctx context.Context, filter platform.DashboardFilter, opts platform.FindOptions) ([]*platform.Dashboard, int, error) {
  	var ds []*platform.Dashboard
  	op := OpPrefix + platform.OpFindDashboards
  	if len(filter.IDs) == 1 {
  		d, err := s.FindDashboardByID(ctx, *filter.IDs[0])
  		if err != nil && platform.ErrorCode(err) != platform.ENotFound {
  			return ds, 0, &platform.Error{
  				Err: err,
  				Op:  op,
  			}
  		}
  		if d == nil {
  			return ds, 0, nil
  		}
  		return []*platform.Dashboard{d}, 1, nil
  	}
  
  	var err error
  	filterF := filterDashboardFn(filter)
  	s.dashboardKV.Range(func(k, v interface{}) bool {
  		d, ok := v.(*platform.Dashboard)
  		if !ok {
  			return false
  		}
  
  		if filterF(d) {
  			ds = append(ds, d)
  		}
  		return true
  	})
  
  	platform.SortDashboards(opts.SortBy, ds)
  
  	return ds, len(ds), err
  }
docs: // FindDashboards implements platform.DashboardService interface.